如何在 Mapbox gl js 中使用 AWS S3 栅格文件?

How to use AWS S3 raster file in Mapbox gl js?

在 Mapbox GL JS 中映射云优化的 Geotiff 栅格图层

我想我使用的是栅格源,源数据需要平铺。 URL 会像 .../{z}/{x}/{y}.tif.

但是我不知道如何制作上面的URL。如何制作 url??

我不太确定你在问什么。如果您问“如何将此 GeoTIFF 转换为平铺栅格源”,两个选项是:

  1. 上传到 Mapbox。 (理论上这是可行的,虽然对我来说并不总是成功。)
  2. 使用 GDAL 将其转换为 mbtiles,然后将 .mbtiles 文件托管在某处(在 Mapbox、CloudTiler 或您自己的主机上。)

在后一种情况下,它看起来像:

gdal_translate myfile.tif mytiles.mbtiles

Mapbox SDK 想通过 Z/X/Y 获取瓦片。但是,您可能可以注册一个 NSURLProtocol 子类,您可以在其中获取 Z/X/Y URL 并创建适当的 COG 请求、转换图像和 return 正确的内容。

我已经使用它来将 mbtiles:// 注册为 URL 方案,我的 NSURLProtocol 子类将 Z/X/Y URL 转换为 SQLite select声明。

您可以在 https://github.com/mapbox/mapbox-gl-native/issues/12026

阅读有关此主题的更多信息