给定两点的经纬度,计算中间点的坐标

Given two point's latitude and longitude, computing coordinates of point in between

我正在尝试在地图上生成一些注释。目前,我正在使用 openstreetmap 但查询是通用的。我在地图上有两个端点和一个我想突出显示的几个选定点的语料库。

两个端点以经纬度的形式给出

<walkSteps>
<distance>9.742464221826811</distance>
<streetName>5th St NW</streetName>
<absoluteDirection>EAST</absoluteDirection>
<stayOn>false</stayOn>
<bogusName>false</bogusName>
<lon>-84.3937361115149</lon>
<lat>33.77692965678444</lat>
<elevation/>
</walkSteps>

<walkSteps>
<distance>508.2608917548245</distance>
<relativeDirection>LEFT</relativeDirection>
<streetName>Fowler St NW</streetName>
<absoluteDirection>NORTH</absoluteDirection>
<stayOn>false</stayOn>
<bogusName>false</bogusName>
<lon>-84.39363494600667</lon>
<lat>33.77692904176358</lat>
<elevation/>
</walkSteps>

我的目标是突出显示地图上的那些点,这些点存在于语料库中并且位于连接这两个点的线上。

我怎样才能查询语料库呢?在给定纬度、经度的地图上进行注释不是问题

四舍五入的错误会阻止你直接为所欲为。相反,您应该做的是确定两个端点之间的大圆路径,并突出显示位于大圆路径一定距离内的语料库成员。这称为跨航迹距离或跨航迹误差。计算交叉轨道距离的公式也可以在 standard reference sites for geospatial equations but there are others 之一找到。然后问题就变成了在语料库中搜索与两个端点之间的大圆路径足够近的点之一.