Gibt es eine JS-Bibliothek, die normale, flache Karten (wie Leaflet) in eine perspektivische Karte wie diese im Web umwandelt:
Hat jemand etwas gesehen, das CartoDB-Daten in 3D-Darstellungen verwandeln könnte?
Gibt es eine JS-Bibliothek, die normale, flache Karten (wie Leaflet) in eine perspektivische Karte wie diese im Web umwandelt:
Hat jemand etwas gesehen, das CartoDB-Daten in 3D-Darstellungen verwandeln könnte?
Antworten:
Vielleicht könnten Sie Osmbuildings verwenden . Es ist eine JavaScript-Bibliothek zur Visualisierung von OpenStreetMaps (oder benutzerdefinierten GeoJSON) -Gebäudegeometrien in einer 3D-Perspektive.
Es verwendet OpenStreetMaps-Daten direkt. Fügen Sie einfach die loadData () -Methode hinzu:
var map = new L.Map('map').setView([52.50440, 13.33522], 17);
var osmb = new OSMBuildings(map).loadData();
L.control.layers({}, { Buildings:osmb }).addTo(map); // add to layer switcher (optional)
Oder Sie können Ihren eigenen GeoJSON laden. Ändern Sie einfach die loadData () -Methode in setData (geojson):
var osmb = new OSMBuildings(map).setData(geoJSON);
Ihre Daten müssen eine height-Eigenschaft haben, und Sie können die Wand- und Dachfarbe dynamisch ändern:
osmb.setStyle({
wallColor:'rgba(100, 100, 250, 0.701961)',
roofColor:'rgb(220, 220, 50)',
shadows:true
});
Und ändern Sie sogar die Schattenperspektive, indem Sie die Tageszeit einstellen:
osmb.setDate(new Date(2014, 3, 24, 13, 0));
setData
Methode, set
funktioniert aber ! Es wird:var osmb = new OSMBuildings(map).setData(geoJSON);
Dies ist einer der wichtigsten Anwendungsfälle für ViziCities (3D-Städte im Browser, der von OpenStreetMap unterstützt wird), obwohl die Datenebenen derzeit noch nicht funktionieren. Vielleicht sollten Sie etwas für die Zukunft beachten: https://github.com/robhawkes/vizicities
Haftungsausschluss: Ich bin der Entwickler von ViziCities
Mit OSM2world können Sie 2D-Daten von OpenStreetMap (map.osm) an 3D-Objekte (map.obj) übergeben und anschließend mit einem anderen Konverter ( convert_obj_three.py ) in ein ThreeJS-JSON-Modell (map.js) konvertieren es in einer ThreeJs-Szene.
Sie können sehen wie hier:
Das nächste, was ich gesehen habe, ist die Arbeit von Mike Bostock .
Er hat eine wirklich coole Karte, die eine Art schräge Projektion hat .
Aber nichts macht es einfach. D3 tut mein Bestes, um Projektionen aufzustellen. Sie können erstaunliche Dinge machen, wenn Sie daran arbeiten.
http://osm2world.org/ funktioniert ohne WebGL, verwendet jedoch Java anstelle von js.
Entwickelt für die Ausgabe von Openstreetmap-Gebäudedaten, sollte es auch für andere 3D-Daten verwendbar sein.
Die Ausgabe ist eine rutschige Karte, ähnlich der Broschüre: http://maps.osm2world.org/
Nun, mit CartoDB können Sie so etwas tun: http://andrewxhill.com/cartodb-examples/scroll-story/pluto/index.html#4
Sie müssen diesen CartoCSS-Parameter verwenden: {Gebäudehöhe: 512; }
Weitere Informationen finden Sie hier: https://github.com/CartoDB/cartodb-pluto