2016-10-19 101 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