2016-10-19 102 views
0

我想在地圖上添加geotif圖像層,我可以在mapbox工作室做到這一點很容易,有沒有辦法做到這一點使用mapbox GL JS庫。 我添加使用下面的代碼與mapbox GL JS庫的GeoJSON的文件:上傳到TIFF GL mapbox JS或mapbox.js

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

對於TIFF圖像我沒有發現任何這樣的解決方案。

我有上百個TIFF圖像的動態根據天氣和日期加載。

回答

2

這是非常罕見的,直接添加地理參考的圖像像GeoTIFFs到地圖。 GeoTIFF是一種效率相對較低的格式,因此圖像會非常大,因此需要較長的下載時間和較慢的性能。

將GeoTIFF處理成瓷磚更爲常見:您可以將GeoTIFF上傳到Mapbox,或使用TileMill,gdal2tiles或MapTiler等工具在本地生成瓷磚,然後將這些瓷磚上傳到服務器。生成完切片後,可以將它們包含在Mapbox GL JS,Mapbox.js或任何其他客戶端中作爲切片圖層。

+0

我是一個初學者,所以你可以幫助我將geotiff轉換爲mapbox中的tile,以及如何將mapbox gl js包含爲tile層? @tmcw – Pbms

0

如果您不想將tiff轉換爲gif/png/jpg並加載爲圖像源類型(如@ lucas-wojciechowski建議的那樣),是否可以在MapBox Studio Classic中創建矢量圖片源並且將其加載到MB-gl-js地圖中作爲vector-source

注意向量tilesets,最喜歡的矢量數據格式,還可以嵌入柵格數據,但你失去載體功能,例如在縮放,客戶端渲染,和客戶端數據的查詢。

+0

我有多個特定區域的tiff圖像,想要在地圖上動態更改圖像。 – Pbms

+0

上傳在一個源中的所有層,並且通過[光柵不透明度](https://www.mapbox.com/mapbox-gl-style-spec/#paint-raster-opacity)塗料屬性動態地改變可見層。或者,如果你有太多的圖層加載到一個源中,請將它們分解成多個源並通過['map.addSource']按需加載(https://www.mapbox.com/mapbox-gl-js/api/ #Map#addSource)和'map.removeSource'。不過,來源之間的轉換可能不如在單一來源的風格之間的轉換。 –

+0

你能舉一些創建矢量圖片源並加載到mb-gl-js的例子,我可以提供如果你想要的tiff圖片。 – Pbms