我需要检查两个地理点之间的距离是否小于N公里。我正在尝试执行以下查询:
select st_distance(
ST_GeomFromText('point(45.764043 4.835658999999964)', 4326),
ST_GeomFromText('point(45.750371 5.053963)', 4326)
) < :n但不起作用是因为:
到目前为止,SRID属性只是MySQL中的一个虚拟属性,它作为几何学元数据的一部分存储,但是所有实际的计算都忽略它,并且计算是假设欧几里德(平面)几何的。
我的目标是将此距离转换为度量距离,或者将N转换为度数。
我怎么能做到呢?也许你知道更好的解决方案?
我需要一个基于空间方法的解决方案(或者更好地提高性能)。
发布于 2016-08-30 00:19:49
我不认为“距离”函数在SPATIAL中是可用的。在https://mariadb.com/kb/en/latitudelongitude-indexing/中有一个常规的https://mariadb.com/kb/en/latitudelongitude-indexing/来完成这项工作。然而,args和输出规模为lat/液化天然气(10000*度)。代码可以被修改以避免缩放,但是在博客页面的上下文中是需要的。
https://stackoverflow.com/questions/39201875
复制相似问题