Leaflet과 같은 일반적인 평평한 맵을 웹에서 이와 같은 관점 맵으로 렌더링하는 JS 라이브러리가 있습니까?
또한 CartoDB 데이터를 3D 표현으로 바꿀 수있는 것을 본 사람이 있습니까?
Leaflet과 같은 일반적인 평평한 맵을 웹에서 이와 같은 관점 맵으로 렌더링하는 JS 라이브러리가 있습니까?
또한 CartoDB 데이터를 3D 표현으로 바꿀 수있는 것을 본 사람이 있습니까?
답변:
아마도 당신은 Osmbuildings 사용할 수 있습니다 . OpenStreetMaps (또는 사용자 지정 GeoJSON) 건물 형상을 3D 관점으로 시각화하기위한 JavaScript 라이브러리입니다.
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 기반 브라우저의 3D 도시)의 주요 사용 사례 중 하나입니다. 아마도 미래에 고려해야 할 사항 : https://github.com/robhawkes/vizicities
면책 조항 : 저는 ViziCities의 개발자입니다
OSM2world를 사용하여 OpenStreetMap (map.osm)에서 3D 객체 (map.obj)로 2D 데이터를 전달한 다음 다른 변환기 ( convert_obj_three.py )를 사용 하여 3JS JSON 모델 (map.js)로 변환 한 다음 threejs 장면에서.
방법은 다음과 같습니다.
내가 본 가장 가까운 것은 Mike Bostock 의 작품입니다 .
그는의 종류가 정말 멋진지도가 비스듬한 투사 .
그러나 쉽게 할 수있는 것은 없습니다. D3은 투영 설정과 관련하여 머리를 숙입니다. 그래도 작업하면 놀라운 일을 할 수 있습니다.
http://osm2world.org/ 는 WebGL없이 작동하지만 js 대신 Java를 사용합니다.
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