【问题标题】:mysql lat lon calulation to show locations within radiusmysql lat long 计算以显示半径内的位置
【发布时间】:2014-09-01 07:36:51
【问题描述】:

我有以下运输表,其中包含数千条火车和公共汽车站和机场的记录。

ID       Lon                   Lat                  Name

1        0.37573               51.87968              London Luton Airport
2        0.17486               52.20587              Cambridge Airport
3        0.26251               51.88935              London Stansted Airport

我需要为 mysql 查询提供任何给定的 lat lon vars 以获取我想要检查的位置,然后我需要列出给定距离(例如 50 英里)内的所有交通连接。

这可以用 mysql 吗?有人可以告诉我吗?谢谢

【问题讨论】:

    标签: mysql


    【解决方案1】:

    是的。

    SELECT * FROM stops WHERE SQRT(MAX(Lat,poslat)-MIN(Lat,poslat),MAX(Lon,poslon)-MIN(Lon,poslon)) < 50
    

    确保将 poslon 和 poslat 定义为研究职位。

    【讨论】:

    • 给定数万(或数十万)条记录的效率如何?我的猜测是,mySQL 真的会为每个位置记录运行这个计算,对吗?
    猜你喜欢
    • 1970-01-01
    • 2023-03-10
    • 1970-01-01
    • 2011-09-15
    • 1970-01-01
    • 2010-11-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多