Web上で、通常のフラットマップ(Leafletなど)をこのようなパースマップにレンダリングするJSライブラリはありますか?
また、CartoDBデータを次のように3D表現に変換できるものを見た人はいませんか?
Web上で、通常のフラットマップ(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
methodをサポートしていませんが、set
機能しています!それは次のようになりますvar osmb = new OSMBuildings(map).setData(geoJSON);
これはViziCities(OpenStreetMapを搭載したブラウザーの3D都市)の主要なユースケースの1つですが、データレイヤーはまだ機能していません。おそらく将来のために考慮すべきこと:https : //github.com/robhawkes/vizicities
免責事項:私はViziCitiesの開発者です
OSM2worldを使用して2DデータをOpenStreetMap(map.osm)から3Dオブジェクト(map.obj)に渡し、別のコンバーター(convert_obj_three.py)を使用してそれをthreejs JSONモデル(map.js)に変換してから、 threejsシーンで。
ここで方法を見ることができます:
私が見た中で最も近いのは、マイク・ボストックの作品です。
彼は斜め投影のような本当にクールな地図を持っています。
しかし、それを簡単にするものは何もありません。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