Web'de normal, düz haritaları (Leaflet gibi) bu gibi bir perspektif haritasına dönüştürecek herhangi bir JS kütüphanesi var mı:
Ayrıca, CartoDB verilerini 3D gösterime dönüştürebilecek herhangi bir şey gördü, böyle mi?
Web'de normal, düz haritaları (Leaflet gibi) bu gibi bir perspektif haritasına dönüştürecek herhangi bir JS kütüphanesi var mı:
Ayrıca, CartoDB verilerini 3D gösterime dönüştürebilecek herhangi bir şey gördü, böyle mi?
Yanıtlar:
Belki Osmbuildings'i kullanabilirsiniz . OpenStreetMaps (veya özel GeoJSON) bina geometrisini 3B perspektifte görselleştirmek için bir JavaScript kütüphanesi.
OpenStreetMaps verilerini doğrudan kullanır. LoadData () yöntemini eklemeniz yeterlidir:
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)
Veya kendi GeoJSON'unuzu yükleyebilirsiniz. LoadData () yöntemini setData (geojson) olarak değiştirmeniz yeterlidir:
var osmb = new OSMBuildings(map).setData(geoJSON);
Verileriniz bir height özelliğine sahip olmalıdır ve duvar ve çatı rengini dinamik olarak değiştirebilirsiniz:
osmb.setStyle({
wallColor:'rgba(100, 100, 250, 0.701961)',
roofColor:'rgb(220, 220, 50)',
shadows:true
});
Ve hatta gündüz ayarlayarak gölge perspektifini değiştirin:
osmb.setDate(new Date(2014, 3, 24, 13, 0));
setData
yöntemi desteklemez , ancak set
çalışır! Bu tjus olur:var osmb = new OSMBuildings(map).setData(geoJSON);
Bu, veri katmanları henüz çalışmıyor olsa da, ViziCities (tarayıcıdaki OpenStreetMap tarafından desteklenen 3D şehirler) için birincil kullanım durumlarından biridir. Belki de gelecek için dikkate alınması gereken bir şey: https://github.com/robhawkes/vizicities
Feragatname: ViziCities'in geliştiricisiyim
OSM2world'ü kullanarak 2B verileri OpenStreetMap'ten (map.osm) 3B nesnelere (map.obj) geçirmek için kullanabilir, ardından başka bir dönüştürücü ( convert_obj_three.py ) kullanarak üç boyutlu bir JSON modeline (map.js) dönüştürebilirsiniz. Üçlü sahnede.
Nasıl yapılacağını buradan görebilirsiniz:
En yakın gördüğüm Mike Bostock'un çalışması .
Bir tür eğik izdüşümü olan gerçekten harika bir haritası var .
Ama bunu kolaylaştıran hiçbir şey yok. D3, projeksiyonlar yapmak konusunda başıma geliyor. Eğer üzerinde çalışıyorsanız şaşırtıcı şeyler yapabilirsiniz.
http://osm2world.org/ WebGL olmadan çalışır, ancak js yerine Java kullanır.
Openstreetmap bina verilerinin çıktısı için tasarlandığından, diğer 3D veriler için de kabul edilebilir olmalıdır.
Çıktı broşürüne benzer kaygan bir haritadır: http://maps.osm2world.org/
CartoDB ile böyle bir şey yapabilirsiniz http://andrewxhill.com/cartodb-examples/scroll-story/pluto/index.html#4
Bu CartoCSS parametresini kullanmanız gerekir: {building-height: 512; }
Daha fazla bilgi burada: https://github.com/CartoDB/cartodb-pluto