Existe alguma biblioteca JS por aí que renderize mapas planos e normais (como o Leaflet) em um mapa em perspectiva como este, na Web:
Além disso, alguém viu algo que pudesse transformar dados do CartoDB em representação 3D, assim?
javascript
leaflet
3d
carto
knutole
fonte
fonte
Respostas:
Talvez você possa usar Osmbuildings . É uma biblioteca JavaScript para visualizar o OpenStreetMaps (ou GeoJSON personalizado) criando geometria em uma perspectiva 3D.
Ele usa os dados do OpenStreetMaps diretamente. Basta adicionar o método loadData ():
Ou você pode carregar seu próprio GeoJSON. Apenas mude o método loadData () para setData (geojson):
Seus dados precisam ter uma propriedade height e você pode alterar a cor da parede e do telhado dinamicamente:
E até mude a perspectiva da sombra definindo o dia:
fonte
setData
método, masset
funciona! É tjus torna-se:var osmb = new OSMBuildings(map).setData(geoJSON);
Este é um dos principais casos de uso do ViziCities (cidades 3D no navegador desenvolvido pelo OpenStreetMap), embora as camadas de dados ainda não estejam funcionando no momento. Talvez algo a considerar para o futuro: https://github.com/robhawkes/vizicities
Disclaimer: Eu sou o desenvolvedor do ViziCities
fonte
Você pode usar o OSM2world para transmitir dados 2D do OpenStreetMap (map.osm) para objetos 3D (map.obj) e, em seguida, usar outro conversor ( convert_obj_three.py ) para convertê-lo em um modelo JSON threejs (map.js) e, em seguida, usar em uma cena de três garotos.
Você pode ver como aqui:
https://www.youtube.com/watch?v=S6LbKH6NnZU
fonte
O mais próximo que vi é o trabalho de Mike Bostock .
Ele tem um mapa muito legal que tem uma espécie de projeção oblíqua .
Mas não há nada que facilite. D3 faz minha cabeça em relação à criação de projeções. Você pode fazer coisas incríveis, se trabalhar nisso.
fonte
http://osm2world.org/ funciona sem o WebGL, mas usa Java em vez de js.
Projetado para a saída de dados de edifícios Openstreetmap, deve ser adotável para outros dados 3D também.
O resultado é um mapa escorregadio semelhante ao folheto: http://maps.osm2world.org/
fonte
Bem, com o CartoDB, você pode fazer algo assim http://andrewxhill.com/cartodb-examples/scroll-story/pluto/index.html#4
Você precisa usar este parâmetro CartoCSS: {building-height: 512; }
Mais informações aqui: https://github.com/CartoDB/cartodb-pluto
fonte