如何计算海上两个坐标之间的距离?我还希望能够在两个坐标之间绘制一条路线.
到目前为止,我发现的唯一解决方案是将地图拆分为像素,将每个像素标识为LAND或SEA,然后尝试使用A *算法查找路径.然后将像素转换为相对坐标.
我可以购买一些软件包,但没有一个可以在线扩展.计算海港之间的距离并在地图上绘制路径的服务是searates.com
解决方法:
提防地图会扭曲距离这一事实.例如,在墨卡托投影中,距赤道较远的段表示的实际距离要小于距等长赤道附近的段的实际距离.如果仅将统一成本分配给像素/正方形/等,最终将导致非最佳布线和错误的距离计算.
如果您在地图上投影一个网格(像素只是许多可能的网格中的一个特定网格)并使用A *搜索最佳路径,则要使搜索算法正常运行,您需要做的就是根据沿球体表面(地球)的实际距离,而不是地图上的距离.
请注意,仅说“海上还是非海上”不足以确定可航行性.还存在深度,交通路线(例如,将英吉利海峡划分为车道的运输量)和政治考虑因素(领海等)的问题.您还希望手动添加路线,以便为那些无法在地图上显示的小通道(巴拿马,苏伊士)和调整其成本以弥补所产生的任何开销.
标签:distance,maps,geo,python 来源: https://codeday.me/bug/20191106/2000696.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。