gpt4 book ai didi

php - mySql 中半正矢公式的正确数据类型是什么

转载 作者:行者123 更新时间:2023-11-29 10:43:21 25 4
gpt4 key购买 nike

当我将经度和纬度保存到数据库中时,它存储为数据类型 Decimal。经度保存为34,纬度保存为118这适用于半正矢公式吗?我正在尝试查找用户当前位置 20 英里以内的位置。

最佳答案

不,这绝对行不通。

一纬度大约为 70 英里。这比您期望的精度大得多。

如果要计算分辨率为 20 英里的距离,则纬度和经度至少需要一位小数 - 0.1° 纬度等于 7 英里,0.1° 经度加起来大约等于 7 英里10 英里 (√2 x 7 = 9.8)。当然,如果源数据尽可能精确,您的情况会更好。

这里可能出现的问题是您使用了 DECIMAL 类型来表示纬度和经度,而没有指定宽度。在 MySQL 中,默认为 DECIMAL(10,0)——十位数字,全部位于小数位之前(例如,1234567890.)。您可能想要的是更多类似于 DECIMAL(10,6) 的内容,它允许列存储十位数字,其中小数点后面有六位数字(例如,1234.123456)。 Six decimal places of latitude/longitude gives you a resolution of about 4 inches ,因此存储更多内容没有意义。

关于php - mySql 中半正矢公式的正确数据类型是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45069611/

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