• 地图计算计算距离


    经纬度计算距离

    sql(计算结果默认单位为米,这里保留一位小数)

    #关联查询当被关联表有指定条件时,会导致主表查询结果不正确
    select u.name,a.area,a.lat,a.lon,a.is_main,(st_distance (point (a.lat,a.lon),point(120.218405,30.251983) ) * 111195) AS distance
    from user u 
    left join addr a on a.user_id=u.id
    where a.is_main=1
    
    #建议使用
    select u.name,(select round(st_distance (point(120.218405,30.251983),point (lat,lon) ) * 111195,1) from addr where user_id=u.id) AS distance

    获取地图经纬度(纬度(lat)在前经度在后(lon))

    http://api.map.baidu.com/lbsapi/getpoint/index.html

    存储

    谷歌建议存储decimal(10,6)

    只需要精确到小数点后7位,精度就是1CM,因此,数据库保存经纬度采用 decimal(10,7) 即可

    说明:经纬度计算距离实际会略小于位移

  • 相关阅读:
    非线性数据结构——树
    排序算法之插入排序
    web框架之environment处理
    web开发之http和wsgi
    python os模块和shutil模块
    python路径操作
    stringIO和bytesIO
    python文件操作
    设计模式
    设计模式
  • 原文地址:https://www.cnblogs.com/huay/p/13605133.html
Copyright © 2020-2023  润新知