如何从Mapbox获取高程纵断面数据?

如何从Mapbox获取高程纵断面数据?,mapbox,elevation,Mapbox,Elevation,我的问题是,如何从MapBox服务获取指定路线的高程纵断面 在输入端,我们将路径/路线作为坐标数组latitute,longitute。因此,我们希望得到坐标-高程对的数组 如果高程数据的分辨率高于提供的路线坐标,结果还应包含原始坐标之间的高程数据。路线上的新点将根据高程数据分辨率生成。如果高程数据的分辨率较低,则应根据查询点的已知数据插值高程值。我们希望得到尽可能精确的结果 作为我们解决方案的数据源,我们希望使用MapBox服务。但是,我们没有找到任何针对此特定问题的文档化MapBox API

我的问题是,如何从MapBox服务获取指定路线的高程纵断面

在输入端,我们将路径/路线作为坐标数组latitute,longitute。因此,我们希望得到坐标-高程对的数组

如果高程数据的分辨率高于提供的路线坐标,结果还应包含原始坐标之间的高程数据。路线上的新点将根据高程数据分辨率生成。如果高程数据的分辨率较低,则应根据查询点的已知数据插值高程值。我们希望得到尽可能精确的结果

作为我们解决方案的数据源,我们希望使用MapBox服务。但是,我们没有找到任何针对此特定问题的文档化MapBox API。我们只找到了一些不再受支持的引用

据我们所知,Mapbox现在以地图分幅的格式存储高程数据。 我们确定了使用MapBox解决问题的以下步骤:

将路线坐标解码为最小地图分幅集。 使用MapBox API查询地图分幅。 对于路线的每个坐标,将其映射到特定的图像像素。 将像素的RGB颜色值转换为高程(以米为单位)。 这个算法正确吗?我认为,为特定路线生成高程剖面是一个常见的问题。是否有任何工具可以为我们的问题提供开箱即用的解决方案,可能是一些SDK?我们错过什么了吗?非常感谢。

简短回答 对于您心目中的目标,我建议不要使用地形RGB光栅拼接。相反,应该使用从矢量平铺集检索路线沿线点的高程

更长的答案 有两种可能的源和方法可用于从Mapbox检索高程数据,具体选择取决于您的需要。这两种方法在您链接到的疑难解答文档中有更详细的概述:

这是tl;每种方法的灾难恢复:

1.从光栅分幅中检索数据 这是您在原始问题中概述的过程。如果您想要精确地设置山体阴影的样式或为视频游戏生成3D网格,那么这种方法是很好的。请注意,此方法不适合查找特定lat/lon坐标对的高程

2.从矢量图块中检索数据 此过程要求您为路线上的每个点请求高程。您可以通过向请求来完成此操作。对于需要在管线坐标之间插值坐标的问题,可以使用插入到坐标对数组中,然后一次传递一个坐标对给Tilequery API。最重要的是,通过从API请求接收到的信息,可以从平铺集检索正确的高程数据

⚠️ 免责声明:我目前在Mapbox工作⚠️

简短回答 对于您心目中的目标,我建议不要使用地形RGB光栅拼接。相反,应该使用从矢量平铺集检索路线沿线点的高程

更长的答案 有两种可能的源和方法可用于从Mapbox检索高程数据,具体选择取决于您的需要。这两种方法在您链接到的疑难解答文档中有更详细的概述:

这是tl;每种方法的灾难恢复:

1.从光栅分幅中检索数据 这是您在原始问题中概述的过程。如果您想要精确地设置山体阴影的样式或为视频游戏生成3D网格,那么这种方法是很好的。请注意,此方法不适合查找特定lat/lon坐标对的高程

2.从矢量图块中检索数据 此过程要求您为路线上的每个点请求高程。您可以通过向请求来完成此操作。对于需要在管线坐标之间插值坐标的问题,可以使用插入到坐标对数组中,然后一次传递一个坐标对给Tilequery API。最重要的是,通过从API请求接收到的信息,可以从平铺集检索正确的高程数据


⚠️ 免责声明:我目前在Mapbox工作⚠️

谢谢你的回答。我查询了Mapbox Terrain v2平铺中的等高线层。显示了两个几何体对象。它们具有相同的坐标属性,不同的只是索引值。索引值意味着什么?如何根据这些值插值高程?此外,精度为10米,地形RGB不是更精确吗?响应中的结果按您在请求中传递的坐标的接近程度列出,因此第一个结果通常为
坐标对所在的等高线多边形的高程。是的,地形平铺集仅精确到10米。如果您需要更高的精度,那么精度高达0.1m的地形RGB将是您的最佳选择-但它将需要您在原始帖子中概述的更密集的工作流程。@kasi您实现过这个吗?我很想看看你的例子。@Noahuntington,是的,我实现了一些MVP,它正在工作,但目前还不能发布。试着在stefan的一两个月内找到我。kasala@kaps.skThanks我想知道答案。我查询了Mapbox Terrain v2平铺中的等高线层。显示了两个几何体对象。它们具有相同的坐标属性,不同的只是索引值。索引值意味着什么?如何根据这些值插值高程?此外,精度为10米,地形RGB不是更精确吗?响应中的结果按您在请求中传递的坐标的接近程度列出,因此第一个结果通常是您的坐标对所在的等高线多边形的高程。是的,地形平铺集仅精确到10米。如果您需要更高的精度,那么精度高达0.1m的地形RGB将是您的最佳选择-但它将需要您在原始帖子中概述的更密集的工作流程。@kasi您实现过这个吗?我很想看看你的例子。@Noahuntington,是的,我实现了一些MVP,它正在工作,但目前还不能发布。试着在stefan的一两个月内找到我。kasala@kaps.sk