Mapbox静态地图大数据集

Jas*_*ole 5 php dataset mapbox

我尝试使用 mapbox 静态 api 返回一个显示基于坐标的特定路线的地图。

https://www.mapbox.com/api-documentation/?language=cURL#retrieve-a-static-map-from-a-style

这是可行的,但是,这受到 URL 长度的限制,如何根据具有大量坐标的数据集生成静态地图?

小智 1

正如文档中所解释的:

使用大型 GeoJSON 对象作为覆盖参数的参数可能会导致达到 8,192 字节 URL 长度限制。缩短生成的 URL 长度的可能选项包括:

  • 在将 GeoJSON 作为参数传递之前,使用第三方库(例如 Simplygeojson)简化 GeoJSON。
  • 将 GeoJSON 中的坐标精度限制为不超过小数点后五到六位,这样您就可以利用 GeoJSON 本身中的更多点。

但您的文件轨道(geojson,gpx,...等等)可能太大,以至于上面的所有选项都无法有效地将其减少到字符限制以下。

所以最后的解决方案是下面的。首先将文件作为tileset(而不是像您那样的数据集)上传,将其作为图层添加到自定义样式,然后从中生成静态地图。

  • 如果 GeoJSON 由大型且详细的多边形组成,您可以在 Mapbox Studio 中创建包含多边形的自定义样式,并将生成的样式 ID 传递给静态图像 API 的 style_id 参数,而不是使用 overlay 参数。首先将 GeoJSON 作为图块集上传到 Mapbox,然后将其添加为自定义样式的图层。请参考本教程以获取指导。

来源: https: //docs.mapbox.com/api/maps/#static-images

首先,您需要了解如何在 MapBox 帐户上上传文件: https://docs.mapbox.com/help/how-mapbox-works/uploading-data/

我知道这篇文章很旧,希望它能帮助其他开发人员。对不起我的英语,托马斯