我试图在地图上生成一些注释。目前,我使用openstreetmap但查询是一般的。我在地图上有两个端点,还有一些我要强调的选定点的语料库。
两个端点以lat,long
的形式给出<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>
我的目标是突出显示地图上的那些点,这些点存在于语料库中,位于连接这两点的线上。
我怎样才能查询语料库呢?在给定lat的地图上注释,lng不是问题
答案 0 :(得分:2)
舍入错误会阻止您直接执行操作。你应该做的是确定两个端点之间的大圆路径并突出显示在大圆路线的一定距离内的语料库的那些成员。这被称为跨轨道距离或跨轨道误差。计算跨轨道距离的公式可以在standard reference sites for geospatial equations之一找到,但也有others。然后问题变成了在语料库中搜索足够接近的点的问题。两个终点之间的大圆路径。