Чи є там бібліотека JS, яка б перетворювала звичайні, плоскі карти (наприклад, Leaflet) у перспективну карту, як ця, в Інтернеті:
Також хтось бачив щось, що могло б перетворити дані CartoDB у 3D-зображення, як це?
Чи є там бібліотека JS, яка б перетворювала звичайні, плоскі карти (наприклад, Leaflet) у перспективну карту, як ця, в Інтернеті:
Також хтось бачив щось, що могло б перетворити дані CartoDB у 3D-зображення, як це?
Відповіді:
Можливо, ви могли б використовувати Osmbuildings . Це бібліотека JavaScript для візуалізації геометрії побудови OpenStreetMaps (або власної GeoJSON) в тривимірній перспективі.
Він використовує дані OpenStreetMaps безпосередньо. Просто додайте метод loadData ():
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)
Або ви можете завантажити власний GeoJSON. Просто змініть метод loadData () на setData (geojson):
var osmb = new OSMBuildings(map).setData(geoJSON);
Ваші дані повинні мати властивість висоти, і ви можете динамічно змінювати колір стіни та даху:
osmb.setStyle({
wallColor:'rgba(100, 100, 250, 0.701961)',
roofColor:'rgb(220, 220, 50)',
shadows:true
});
І навіть змінити перспективу тіні, встановивши денний час:
osmb.setDate(new Date(2014, 3, 24, 13, 0));
setData
метод, але set
працює! Це tjus стає:var osmb = new OSMBuildings(map).setData(geoJSON);
Це один із основних випадків використання для ViziCities (тривимірні міста у браузері, що працює на базі OpenStreetMap), хоча шари даних наразі ще не працюють. Можливо, що варто врахувати на майбутнє: https://github.com/robhawkes/vizicities
Відмова: Я розробник ViziCities
Ви можете використовувати OSM2world для передачі 2D-даних із OpenStreetMap (map.osm) до 3D-об'єктів (map.obj), потім використовуйте інший конвертер ( convert_obj_three.py ) для перетворення його в модель JSON Threejs (map.js), а потім використовуйте це в сцені Threejs.
Ви можете подивитися, як тут:
Найближче, що я бачив, - це робота Майка Бостока .
У нього дійсно крута карта, яка має своєрідну косу проекцію .
Але немає нічого, що робить це легко. D3 робить мені голову стосовно налаштування проекцій. Якщо ви працюєте над цим, ви можете робити дивовижні речі.
http://osm2world.org/ працює без WebGL, але використовує Java замість js.
Розроблений для виведення даних будівель Openstreetmap, він повинен бути прийнятим і для інших 3D-даних.
Вихід - це слизька карта, схожа на листівку: http://maps.osm2world.org/
Що ж, з CartoDB ви можете зробити щось подібне http://andrewxhill.com/cartodb-examples/scroll-story/pluto/index.html#4
Ви повинні використовувати цей параметр CartoCSS: {building-height: 512; }
Більше інформації тут: https://github.com/CartoDB/cartodb-pluto