リーフレット、CartoDBのマップの3Dパースペクティブ?


12

Web上で、通常のフラットマップ(Leafletなど)をこのようなパースマップにレンダリングするJSライブラリはありますか?

ここに画像の説明を入力してください

また、CartoDBデータを次のように3D表現に変換できるものを見た人はいませんか?


1
cartodbとの統合についてはわかりませんが、最近、three.jsライブラリを使用してQGISから3Dマップを作成することに関するこの投稿を見ました。あなたはそれを見てみたいかもしれません。
RyanKDalton



1
たぶん、あなたは便利なこのビジュアライゼーションを見つける:pluto.cartodb.com/viz/bf4dacd4-003c-11e3-aaf8-a9294e572fad/...
javisantana

回答:


7

たぶん、Osmbuildingsを使用できます。OpenStreetMaps(またはカスタムGeoJSON)を視覚化して、ジオメトリを3Dパースペクティブに構築するためのJavaScriptライブラリ。

OSMbuildingJS

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));

OSM Buildings(0.2.2b)の現在のバージョンはsetDatamethodをサポートしていませんが、set機能しています!それは次のようになりますvar osmb = new OSMBuildings(map).setData(geoJSON);
。– bradypus

4

これはViziCities(OpenStreetMapを搭載したブラウザーの3D都市)の主要なユースケースの1つですが、データレイヤーはまだ機能していません。おそらく将来のために考慮すべきこと:https : //github.com/robhawkes/vizicities

免責事項:私はViziCitiesの開発者です


1
クールなプロジェクト!また、これがあなたが所属しているプロジェクトであることはかなり明白ですが、それをもう少し明確にしたいかもしれません(たとえそれがオープンソースであっても)。
blah238 14年

感謝しますが、私は非WebGLソリューションを探しています。
knutole 14年

1
心配する必要はありません、ただあなたにヘッズアップをしたかっただけです。
ロビンホークス14年

このバージョンには、プロットまたは改善されたバージョンがありますか?
-joker21

2

OSM2worldを使用して2DデータをOpenStreetMap(map.osm)から3Dオブジェクト(map.obj)に渡し、別のコンバーター(convert_obj_three.py)を使用してそれをthreejs JSONモデル(map.js)に変換してから、 threejsシーンで。

ここで方法を見ることができます:

https://www.youtube.com/watch?v=S6LbKH6NnZU


どうもありがとう。しかし、これにはWebGLが必要ですよね?
knutole

1
Threejsは、WebGLを利用するjavascriptライブラリ/ apiです。ただし、コードに含める必要があるライブラリは、three.jsとOrbitControls.jsの2つだけです(これはカメラの軌道を管理するためのものです)。
サイゴン14年

1
はい、threejsはWebGLでサポートされているブラウザーでのみ機能します。
sigon 14年

1

私が見た中で最も近いのは、マイク・ボストックの作品です。

彼は斜め投影のような本当にクールな地図を持っています。

しかし、それを簡単にするものは何もありません。D3は、プロジェクションのセットアップに関して頭を痛めています。あなたがそれに取り組むならば、あなたは素晴らしいものを作ることができます。


OK、マイクはどうするの?先端をありがとう
knutole


1

http://osm2world.org/はWebGLなしで機能しますが、jsではなくJavaを使用します。

Openstreetmapの建物データの出力用に設計されており、他の3Dデータにも採用できるはずです。

出力は、リーフレットに似た滑りやすいマップです:http : //maps.osm2world.org/


弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.