2016-10-19 4 views
0

地図上にジオティフ画像レイヤーを追加したいのですが、マップボックスのスタジオでこれを簡単に行うことができます。マップボックスgl jsライブラリを使用してこれを行う方法はありますか?私はこのような任意の解決策を見つけることができませんtiffをマップボックスにアップロードするgl jsまたはmapbox.js

 map.addSource("quakes", { 
     "type": "geojson", 
     "data": "http://localhost:3000/Srikakulam.geojson" 
     }); 

TIFF画像の場合: 私はmapboxのGLのJSライブラリを使用してコードの下に使用してにGeoJSONファイルを追加しました。

私は天気と日付に基づいて動的に読み込むために何百ものtiff画像を持っています。

答えて

2

GeoTIFFのようなジオリファレンス画像をマップに直接追加することは非常に珍しいことです。 GeoTIFFは比較的非効率なフォーマットなので、画像は非常に大きく、ダウンロードに時間がかかり、パフォーマンスが低下します。

GeoTIFFをタイルに処理するのが一般的です:Mapboxにアップロードするか、TileMill、gdal2tiles、MapTilerなどのツールを使用してタイルをローカルに生成し、サーバーにアップロードしてください。タイルを生成したら、Mapbox GL JS、Mapbox.js、またはその他のクライアントをタイルレイヤとして含めることができます。

+0

私は初心者ですので、geotiffをマップボックスのタイルに変換し、それをタイルレイヤーとしてマップボックスに追加する方法を教えてください。 @tmcw – Pbms

1

image source typeを使用して、gif,png、およびjpgイメージをGL JSに追加できます。 Here is an example

+0

ジオリファレンス画像(ジオテフ)に必要です。 – Pbms

0

tiffをgif/png/jpgに変換してイメージソースタイプとしてロードしたくない場合(@ lucas-wojciechowskiが示唆するように)、MapBox Studio Classicでベクトルタイルソースを作成できませんでした。あなたのMB-gl-jsマップにvector-sourceとしてロードしてください。

ベクタータイルセットは、ほとんどのベクターデータフォーマットと同様に、ラスタデータを埋め込むことができますが、オーバーズーム、クライアントサイドレンダリング、クライアントサイドデータクエリーなどのベクター機能を失うことに注意してください。

+0

私は指定された地域の複数のtiff画像を持っており、地図上で画像を動的に変更したいと考えています。 – Pbms

+0

すべてのレイヤーを1つのソースにアップロードし、[raster-opacity](https://www.mapbox.com/mapbox-gl-style-spec/#paint-raster-opacity)ペイントプロパティを使用して表示レイヤーを動的に変更します。または、1つのソースにロードするレイヤーが多すぎる場合は、それらを複数のソースに分割し、['map.addSource'](https://www.mapbox.com/mapbox-gl-js/api/)でオンデマンドでロードします。 #Map#addSource)と 'map.removeSource'です。ソース間の遷移は、おそらく単一のソースを持つスタイル間の遷移ほど良くはありません。 –

+0

ベクトルタイルソースの作成とmb-gl-jsへのロードのいくつかの例を示すことができますか、必要に応じてtiffイメージを提供できます。 – Pbms

関連する問題