supermap idesktop产品postgis数据源支持地方坐标系

作者:Neshoir

背景

​ 在supermap idesktop早期版本中postgis数据源不支持地方坐标系,但项目上的矢量数据坐标系均为南京地方坐标系,目前需要用supermap平台,数据需迁移到postgis数据源,针对数据集重设地方坐标系不起作用。原因是不是epsg标准坐标系,postgis不支持。由于postgis支持扩展,所以咱们可以自实现。

数据
  • 样例数据zf_jnwg_1.shp文件,带有南京地方坐标系信息。
步骤
  1. 生成wkt和proj格式的坐标系信息,借助于gdalsrsinfo工具,如截图。

在这里插入图片描述

  1. 在pg库中,将得到的南京地方坐标系的wkt和proj信息插入到spatial_ref_sys表中,定义epsg为9999。
INSERT INTO "spatial_ref_sys" ("srid","auth_name","auth_srid","srtext","proj4text") VALUES (9999,'EPSG',9999,'PROJCS["NJ08_118_50_CM",GEOGCS["GCS_GRS_1980",DATUM["Not_specified_based_on_GRS_1980_ellipsoid",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],    PROJECTION["Transverse_Mercator"],PARAMETER["false_easting",500000],PARAMETER["false_northing",0],    PARAMETER["central_meridian",118.833333333],PARAMETER["latitude_of_origin",0],    PARAMETER["standard_parallel_1",0],PARAMETER["standard_parallel_2",0],PARAMETER["scale_factor",1],    UNIT["Meter",1]]','+proj=tmerc +lat_0=0 +lon_0=118.833333333 +k=1 +x_0=500000 +y_0=0 +ellps=GRS80 +units=m +no_defs ');
  1. 在idesktop中打开pg数据源,导入该数据集,查看坐标系为4490,查看数据集范围值是投影坐标系下的坐标值。

在这里插入图片描述

在这里插入图片描述

  1. 在pg库更新该数据集的几何对象的坐标系为9999。
# 更新几何对象的坐标系
SELECT UpdateGeometrySRID('zf_jnwg','smgeometry',9999);
# 刷新pg,触发事务
# 查询其对象的坐标系,可以从结果中看到已经是9999了。
SELECT st_srid("zf_jnwg".smgeometry) FROM "zf_jnwg";
# 查询数据集在系统表中的坐标系,可以从结果中看到已经是9999了。
SELECT geometry_columns.srid FROM geometry_columns WHERE geometry_columns.f_table_name='zf_jnwg';
  1. 在idesktop对针对zf_jnwg数据集重设南京地方坐标系,设置后关闭pg数据源和刷新pg库,这一步关键,需要触发smregister表中该数据集坐标系信息的修改。
  • idesktop里查看结果

    在这里插入图片描述

    • pg库查看该数据集的坐标系情况
    SELECT smregister.smsrid,smregister.smprojectinfo FROM smregister WHERE smregister.smdatasetname='zf_jnwg';
    

    在这里插入图片描述

结论
  • 能正常做浏览,编辑,叠加分析,导出shp等操作,结果都是正确,arcmap和qgis也能正常浏览也能识别到其坐标系。但是不保存在生产环境上的复杂操作会有任何风险。

    在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值