Pt:Construções 3D simples
Essa página descreve etiquetas para atributos básicos de construções 3D. Para uma proposta de marcação 3D avançada, veja F3DB.
Os seguintes métodos de marcação são os resultados do 2nd 3D Workshop Garching, onde a maioria dos desenvolvedores 3D concordou em apoiar um subconjunto unificado de etiquetas em seus programas. Basicamente, descrevemos o volume de um edifício usando dois tipos de áreas: 1) construção de contornos para a área mais geral de um edifício complexo e 2) construção de peças para descrever seções do prédio, especialmente aquelas com alturas diferentes ou outros atributos.
Como mapear
Construindo contornos
O desenho do edifício representa a área de terra coberta pela união de todas as partes do edifício. O desenho pode, na maioria dos casos, ser considerado a pegada do edifício. Este é um caminho fechado ou multipolígono etiquetado com building=*.
Os atributos de construção (por exemplo, endereço, nome, altura total, operador, etc.) devem ser marcados no contorno do edifício.
O esquema de construção fornece compatibilidade retroativa para o software de renderização 2D, como o Mapnik e outros consumidores de dados que não estão interessados na modelagem 3D. Quando um edifício possui alguma área building:part=*, o contorno do edifício não é considerado para renderização em 3D.
Partes da construção
As partes de um edifício com diferentes características físicas (altura, cor, etc.) geralmente são modeladas pelo desenho de uma área dentro do contorno do edifício etiquetado com a etiqueta building:part=*. O valor da etiqueta building:part=* geralmente é yes, mas pode ser qualquer building=* valor.
Toda a área do edifício é preenchido com linhas building:part=*, marcados com a altura e outros atributos respectivos. Estas áreas podem se sobrepor ou podem estar desajustadas, dependendo do edifício. (Mas, enquanto as marcações 2D podem e muitas vezes precisam se sobrepor, evitem sobreposições de volumes 3D - especialmente se os volumes tiverem faces comuns).
Veja a seção a seguir para criar etiquetas de atributo tipicamente aplicadas em formas marcadas com building:part=*.
Caminhos etiquetados com building:part=* são principalmente considerados para renderização em 3D. Os renderizadores 2D ignoram as etiquetas de atributo de construção descritas na seção a seguir.
Relações de construção
Para edifícios com uma estrutura complexa, uma relação type=building pode ser usado para agrupar o contorno do edifício e todas as peças de construção. No entanto, não há necessidade de criar uma relação type=building se o prédio contiver apenas algumas partes de construção ou tiver uma estrutura simples.
Se não houver relação, uma aplicação deve tratar todas as partes de construção dentro da área do contorno do edifício como parte desse edifício.
Etiquetas para as partes e contornos da construção
As seguintes etiquetas podem ser usadas para os contornos da construção e suas partes.
Altura e níveis
Chave | Comentário |
---|---|
height=* | Distância entre a posição mais baixa possível com o contato no solo e a parte superior do telhado do edifício, excluindo antenas, torres e outros equipamentos montados no telhado. |
min_height=* | Altura aproximada abaixo da estrutura do edifício. Observe que quando min_height é usado, a altura ainda é definida como a distância do chão ao topo da estrutura. Então, "bridge" com 3 metros de altura, onde a parte inferior da ponte está posicionada a 10 metros acima do nível do solo terá min_height=10, height=13. |
building:levels=* | Número de pisos do edifício localizados acima do solo (sem níveis no telhado), para poder renderizar o edifício de forma agradável.
Se você marcar novos edifícios, tente dar um valor de altura. Tente usar building:levels=* em adição à uma etiqueta de altura! |
building:min_level=* | níveis ignorados em uma parte do edifício, análogo ao min_height |
Telhado
Forma do telhado
Você pode caracterizar o telhado do edifício usando um catálogo de tipos conhecidos de telhado. Formas de telhado adicionais podem ser introduzidas com o tempo (S3DB_Proposals), incluindo abordagens avançadas para modelagem manual (por exemplo, ProposedRoofLines oou partes de OSM-4D/Roof_table).
Imagem | ||||||
---|---|---|---|---|---|---|
roof:shape | flat | skillion | gabled | half-hipped | hipped | pyramidal |
Imagem | ||||||
---|---|---|---|---|---|---|
roof:shape | gambrel | mansard | dome | onion | round | saltbox |
Outras etiquetas de telhado
Chave | Comentário |
---|---|
roof:orientation=along/across | Para os telhados com um cume, o cume é assumido como paralelo ao lado mais longo do edifício (roof:orientation=along). Mas pode ser marcado explicitamente com esta etiqueta. |
roof:height=* | Altura do telhado em metros |
roof:angle=* | Alternativamente a roof:height=*, a altura do telhado pode ser indicada de forma implícita, proporcionando a inclinação dos lados (em graus). |
roof:levels=* | Número de andares dentro do telhado, que ainda não foram contados em building:levels=*. |
roof:direction=* | Direção do lado de trás do telhado para a frente, ou seja, a direção para a qual a face principal do telhado está olhando |
Novamente, alguns telhados (por exemplo, edifícios quadrados) não podem ser modelados com precisão com as técnicas simples descritas nesta página.
Cor e material de superfície
Chave | Comentário |
---|---|
building:colour=* | Cor da fachada da construção. Veja colour=* para valores possíveis. |
roof:colour=* | Cor do telhado da construção. Veja colour=* para valores possíveis. |
building:material=* | Material exterior da fachada do edifício. |
roof:material=* | Material exterior do telhado do edifício. |
Áreas de demonstração
Para torná-lo mais fácil possível para a comunidade, começamos a adicionar detalhes adicionais para as seguintes:
Location | OpenStreetMap | Streets GL | OSM2World | OSMBuildings | F4 Map | OSM go | Mapbox GL | Tangram |
---|---|---|---|---|---|---|---|---|
Athens | N/A | |||||||
Beijing (Forbidden City) | N/A | |||||||
Bremen | ||||||||
Chicago | ||||||||
Chongqing
Chaotianmen CBD Working |
N/A | |||||||
Cincinnati | ||||||||
Ciudad Guayana | N/A | |||||||
Coburg | ||||||||
Denver | ||||||||
Edmonton | N/A | |||||||
Graz | ||||||||
Graz 2 | ||||||||
Seiersberg | ||||||||
Hagen | ||||||||
Helsinki | ||||||||
Huesca | N/A | |||||||
Jakarta, Jalan Sudirman | N/A | |||||||
Karlsruhe, Fernmeldeturm | ||||||||
Kópavogur, Smárar | N/A | |||||||
Köln, Dom | ||||||||
Köln, Funkturm | ||||||||
Köln, Rheinauhafen | ||||||||
Köln, Wohngebiet in Neuehrenfeld als "Labor" | ||||||||
Köthen | ||||||||
Köthen 2 | ||||||||
Kraków | N/A | |||||||
Kuala Lumpur | N/A | |||||||
Las Vegas | ||||||||
Leipzig | ||||||||
Lima | N/A | |||||||
London | ||||||||
Lwówek Śląski | N/A | |||||||
Makati | N/A | |||||||
Manila
Malate and Ermita |
N/A | |||||||
Manila
Santa Cruz and Binondo |
N/A | |||||||
Moscow | N/A | |||||||
Moscow 2
with type=building relation |
N/A | |||||||
New York City | ||||||||
Oldenburg, University | ||||||||
Oldenburg, Indiana | ||||||||
Paris, Eiffel Tower | N/A | |||||||
Passau | ||||||||
Phoenix (Arizona) | ||||||||
Potsdam | ||||||||
Rijswijk | ||||||||
Rostock, Südstadt | ||||||||
San Jose (California) | ||||||||
São Paulo | N/A | |||||||
Schwerin | ||||||||
Shanghai
Lujiazui CBD Working |
N/A | |||||||
Shenzhen
Shenzhen Central Business District |
N/A | |||||||
Singapore | N/A | |||||||
Stadum | ||||||||
Syracuse (New York) | ||||||||
Tokyo, Nishi-shinjuku | N/A | |||||||
Tokyo, Odaiba | N/A | |||||||
Toronto | N/A | |||||||
Trondheim | N/A | |||||||
Vatican | N/A | |||||||
Warsaw | N/A | |||||||
Ypenburg, The Hague
Waterwijk (work in progress) |
Suporte de software
- Artigo principal: 3D development
Muitos mapas e ferramentas suportam o esquema de edifícios 3D simples. Entre os primeiros foram o renderizador OSM-3D.org, em 2009, o renderizador OSM2World e o plugin JOSM Kendzi3D, em 2011, e o Nutiteq Android 3D Mapping SDK (agora Carto Mobile SDK) e WikiMiniAtlas, em 2012. OSMBuildings lançou um display 2,5D em 2012, seguido por uma versão 3D, em 2015. Em 2013, o F4 Map tornou-se o primeiro processador a suportar totalmente o esquema simples de edifícios 3D.
Ferramentas de edição
Nome do Software | Plataforma | Suporte de esquema | Licença | Notas |
---|---|---|---|---|
Kendzi3d | Windows, macOS, Linux | sim | BSD | Plugin JOSM |
Aplicações de mapa
Nome da aplicação | Plataforma | Suporte de esquema | Licença | Notas |
---|---|---|---|---|
F4 Map | Web | sim | Propietário | Demo Web Map com renderização e suporte de cena. |
Mapbox Static API | Web | parcial | BSD | Requer uma conta Mapbox Studio. |
OpenScienceMap | Web | parcial | LGPL | Interpreta somente as etiquetas height/min_height do lado do cliente. A camada S3DB usa malhas vtm geradas no servidor (Usa plpgsql com PostGIS e SFCGAL). Web map |
OSG-Maps | Android | parcial | Propietário | |
OSM2World | Web | parcial | LGPL | Atualmente implementando os recursos restantes para a versão 0.2.0 - slippymap (Apenas em alemão) |
OSM-3D.org | Web | parcial | Veja OSM-3D#Buildings | |
osmapa.pl Mapnik stylesheet | Web | parcial | A maioria dos tipos de telhado implementados em vista 2,5D | |
OSMBuildings | Web | parcial | BSD | |
OSM go | Web | parcial | GPL | Somente piramidal e cúpula (ainda, plana é padrão) |
WikiMiniAtlas | Web | parcial | GPL | apenas telhados piramidais |
Estruturas de mapas
- Artigo principal: Frameworks
Nome do software | Plataforma | Linguagem | Suporte de esquema | Licença | Notas |
---|---|---|---|---|---|
Carto Mobile SDK | Android, iOS, Windows Phone | Java, Objective-C++, Swift, C# | parcial | BSD | A maioria das formas de telhado são suportadas; veja Carto's documentation |
Mapbox GL JS | Web | JavaScript | parcial | BSD | As opções para personalizar a exibição do edifício 3D estão incluídas no Especificação do Estilo Mapbox. (Veja Mapbox's blog post anuncia suporte a GL JS.) |
Mapbox Android SDK | Android | Java | |||
Mapbox iOS SDK | iOS | Objective-C, Swift, Interface Builder | |||
Mapbox macOS SDK | macOS | Objective-C, Swift, Interface Builder, AppleScript | |||
Mapbox Qt SDK | Qt | C++, QML | |||
Mapbox Unity SDK | Cross-platform | C# | Apache | ||
node-mapbox-gl-native | Node.js | JavaScript | BSD | ||
osm2x3d | Web | parcial | Unknown | ver também [1] e [2] | |
OSMBuildings | Web | JavaScript | parcial | BSD | Versões 2,5D e 3D disponíveis |
Tangram | Web | JavaScript | parcial | MIT | Mapzen rederiza construções 3D em Tangram e outros produtos |
Tangram ES | Android, iOS, Linux, macOS | C++ | |||
VTM | Android, iOS, Web | Java | parcial | LGPL | Part do projeto mapsforge. |
Ferramentas de design
Nome do software | Plataforma | Suporte de esquema | Licença | Descrição |
---|---|---|---|---|
blender-osm | Windows, macOS, Linux | parcial | GPL | Download e importação de OpenStreetMap e terreno em um clique. Pode importar mais de 100.000 edifícios. Um grande número de formas de telhado é suportado: flat, gabled, hipped (apenas para um contorno de quadrângulo), mono-pitched, half-hipped, round, pyramidal, gambrel, dome, onion e saltbox. |
Mapbox Studio | Web | parcial | Propietário | Inclui um estilo editor Mapbox GL que suporta altura de (partes da) construção. |
Maputnik | Web | parcial | MIT | Inclui um estilo editor Mapbox GL que suporta altura de (partes da) construção. |
Tangram Play | Web | parcial | MIT | Um editor de cena Tangram que suporta edifícios extrudidos com alturas com base em dados OSM. |
Terminologia
Uma imagem pode ajudar a entender alguns termos arquitetônicos.
Propostas relacionadas
- F3DB (Construções 3D completas)