gpt4 book ai didi

mysql - 哎呀! - 计算只有纬度和经度的半径

转载 作者:行者123 更新时间:2023-11-29 00:55:50 25 4
gpt4 key购买 nike

我有一个 MySQL 数据库,如下所示:

Postcode int(4),
City varchar,
State varchar,
Latitude decimal(7,4),
Longitude decimal(7,4)

我希望用户输入他们的邮政编码(例如 1660)和半径 x(比方说 10)英里或公里。当他们点击搜索时,我想返回该半径内所有城市的列表。我有一个数据库,其中包含澳大利亚所有地区的所有邮政编码、城市、纬度、经度等。

最佳答案

如果您可以牺牲一些精度(通过选择距离邮政编码 1660 10 英里的矩形区域内的城市),那么解决方案可以很简单:

  1. 找出邮政编码1660的经纬度
  2. 计算矩形区域的左上角和右下角(左上10英里,右下10英里)
  3. 使用如下查询:从表中选择城市,其中纬度介于 bottom_right_latitude 和 top_left_latitude 之间,经度介于 top_left_longitude 和 bottom_right_longitude 之间

如果它必须精确到半径 10 英里(这意味着该区域是一个圆),那么解决方案将非常复杂,恐怕无法在单个查询中完成。您需要考虑一些辅助列并使用距离和方位角计算公式来完成。

引用:Calculate distance, bearing and more between Latitude/Longitude points

关于mysql - 哎呀! - 计算只有纬度和经度的半径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6208505/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com