感谢 Wikileaks,在英国,我们现在可以访问每个邮政编码wikileaks postcodes uk IMPORTANT的经度和纬度坐标。请勿在公共应用程序中使用此数据 - 有人担心数据已被故意损坏,您可能会被视为违反版权法。尝试使用来自这个Postcode UK 网站等开源网站的数据
现在,可以使用以下计算来计算每个点之间的距离(最初来自精品书 Pro Mysql):
两点 (x1,y1) 和 (x2,y2) 之间的距离 d 可以从以下等式计算(只要 x 值是纬度,y 值是经度,以弧度表示,r 是球体的半径,即 3956英里):
d= acos(sin(x1)*sin(x2)+cos(x1)*cos(x2)*cos(y2-y1)) * r
现在这是否足够好,或者我应该使用新的 GIS 数据类型和函数,如果是,我如何将我的经度和纬度引用转换为 Point 数据类型?我意识到因为地球不是一个完美的球体,所以我上面引用的距离计算并不完美;但是对于我的目的来说已经足够了。是否会使用新的 GIS 功能 a) 更快地计算距离 b) 使距离计算更准确?