如何在Mysql中有效利用经度/纬度值?
多亏了Wikileaks,在英国的英国我们现在可以访问每个邮政编码wikileaks postcodes uk重要信息的经度和纬度坐标.请勿在公共应用程序中使用此数据-担心数据已被故意破坏,您可能会被视为违反版权法.尝试使用来自Postcode UK site这样的开源网站的数据 现在,可以使用以下计算来计算每个点之间的距离(最初来自精美的Pro Mysql书):
现在这已经足够好了,还是应该使用新的GIS数据类型和功能,如果可以,如何将经度和纬度引用转换为Point数据类型?我意识到,由于地球不是一个完美的球体,因此我在上面引用的距离计算并不完美.但是对于我的目的来说已经足够了.使用新的GIS功能是否会a)使距离的计算更快b)使距离的计算更精确? 最佳答案 专注于(a): 过去,我已经预先计算了部分,存储了lat,long,xaxis,yaxis和zxais,其中x,y& z定义为:
然后可以使用SQL宽松地计算距离(例如,acos(xaxis * $xaxis yaxis * $yaxis zaxis * $zaxis)* 6367.0 / 1.852)(其中以$开头的那些对象以相同的方式针对相关起点进行了预先计算如上) 以这种方式进行的预计算将相对昂贵的触发推向一次事件,并简化了查询. (编辑:威海站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |