地理位置中 投影坐标 和地址坐标

物理坐标 geography

  • 这就是经常说的说经纬度了 是地球真实的物理坐标

投影坐标 geometry

  • 但是如果把球形放在2D上很难友好的展示 甚至变形 于是就是把球面展开 投影到2D
  • 类似地区仪 ==>世界地图

3857 和 4326

  • 3857以米为单位,4326以度为单位

实际使用

  • 经纬度转换,POINT(117.43597465998,33.609617443496) 单位度
    –(POINT(117.43597465998,33.609617443496)::geography), --不能直接转换
    (POINT(117.43597465998,33.609617443496)::geometry), --没有投影标准的平面坐标系,没有单位,没有实际含义,在平面地图上不能展现
    (POINT(117.43597465998,33.609617443496)::geometry)::geography, --原值转换,在平面地图上能展现, 与实际坐标一致 不建议使用
    st_setsrid(POINT(117.43597465998,33.609617443496)::geometry, 4326), --4326 投影标准的平面坐标系,单位是度,与实际坐标一致,标准用法
    st_setsrid(POINT(117.43597465998,33.609617443496)::geometry, 3857), --3857 投影标准的平面坐标系,单位是米,在平面地图上展现与实际偏差大, 错误用法
    st_setsrid(POINT(117.43597465998,33.609617443496)::geometry, 4326)::geography, --球面坐标系,单位是度,在平面地图上正常展现
    st_transform(st_setsrid(POINT(117.43597465998,33.609617443496)::geometry, 4326), 3857) --4326转换成3857 投影标准的平面坐标系,单位是米,与实际坐标一致 标准用法

  • 经纬度转换,POINT(13072912.8999608,3976502.86726954) 单位米
    –(POINT(13072912.8999608,3976502.86726954)::geography), --不能直接转换
    (POINT(13072912.8999608,3976502.86726954)::geometry), --没有投影标准的平面坐标系,没有单位,没有实际含义,在平面地图上不能展现
    (POINT(13072912.8999608,3976502.86726954)::geometry)::geography, --原值后数据异常,错误用法
    st_setsrid(POINT(13072912.8999608,3976502.86726954)::geometry, 4326), --4326 投影标准的平面坐标系,单位是米,在平面地图上展现与实际偏差大, 错误用法
    st_setsrid(POINT(13072912.8999608,3976502.86726954)::geometry, 3857), --3857 投影标准的平面坐标系,单位是度,与实际坐标一致,标准用法
    st_setsrid(POINT(13072912.8999608,3976502.86726954)::geometry, 4326)::geography, --原值后数据异常,错误用法
    –st_setsrid(POINT(13072912.8999608,3976502.86726954)::geometry, 3857)::geography, --3857不能直接转成 geography; ERROR: Only lon/lat coordinate systems are supported in geography.
    st_transform(st_setsrid(POINT(13072912.8999608,3976502.86726954)::geometry, 3857), 4326) --3857转换成4326 投影标准的平面坐标系,单位是度,与实际坐标一致 标准用法

  • 使用地理坐标的正确姿势
    通过 point::geometry、st_geogfromtext、st_geometryfromtext等方式将 坐标信息转换成 geometry 或 geography, 通常平面坐标用 geometry
    确定坐标系的投影标准?以投影标准3857和4326举例,从数值上判断 POINT(13072912.8999608,3976502.86726954) 是3857, POINT(117.43597465998,33.609617443496) 是4326,4326的经纬度单是度,情况比较特殊;实际的投影标准有很多且的值很近似,不能直接从数值进行判断
    确认投影标准后,用函数 st_setsrid 设置正确的投影标准,如: st_setsrid(POINT(13072912.8999608,3976502.86726954)::geometry, 3857), st_setsrid(POINT(117.43597465998,33.609617443496)::geometry, 4326)
    投影标准转换可以通过方法 st_transform进行
    坐标系的使用,根据实际场景和方法函数有参数要求进行标准转换后使用坐标值
    统一地理坐标数据的投影标准

posted @ 2022-12-23 10:55  vx_guanchaoguo0  阅读(106)  评论(0编辑  收藏  举报