如何计算纬度和经度指定的两点之间的距离?
为了澄清,我想要以公里为单位的距离; 这些要点使用WGS84系统,我想了解可用方法的相对准确性.
我正在尝试在多边形算法中创建一个快速 2D点,用于命中测试(例如Polygon.contains(p:Point)
).对于有效技术的建议将不胜感激.
graphics performance polygon collision-detection point-in-polygon
我需要一个基本函数来找到点和线段之间的最短距离.随意用您想要的任何语言编写解决方案; 我可以把它翻译成我正在使用的(Javascript).
编辑:我的线段由两个端点定义.所以我的线段AB
由两点A (x1,y1)
和B (x2,y2)
.我试图找到这个线段和一个点之间的距离C (x3,y3)
.我的几何技能很生疏,所以我看到的例子令人困惑,我很遗憾地承认.
我见过各种语言的许多所谓的"反向地理编码"库; 所有这些都依赖于通过REST或类似方法调用外部提供程序.但是,如果每秒必须处理数千个请求,则无法调用REST提供程序.
另一方面,问题应该很容易解决 - 基于CSV的数据库可以免费获得这些信息.问题是编写高效且经过良好测试的内存中搜索实现的时间和成本,而不是下载或购买现有的搜索实现.
经过很多寻找后我找不到任何东西,但我无法相信不可能有一个.是否有预先编写的库可以执行此操作?
这个问题:
是最接近的,但基本上表明如何编写解决方案,而不是现成的任何东西.但每个人都必须使用一些库.每天十几个人一定有这个问题.