• 【坐标系杂谈】投影后的数据如何去除投影?


    网友有时候的问题很奇葩,但是这也给了我一个思考的余地:

    既然GCS能投影到PCS,那么为什么PCS不能恢复到GCS呢?我们知道,ArcGIS的矢量要素一旦投影完毕,就不能再恢复到其本身的GCS(虽然PCS有GCS的定义,但是投影法则不能去除),只能进行投影转换了。

    有人说当然可以,反解不就行了吗?

    我想说,你累吗?反解公式就能累死人,而且还不一定好找。

    今天就给大家两种解决方案。

    • 第一种,即经纬度坐标值备份法;
    • 第二种,ArcGIS动态投影法。

    如果对PCS、GCS等坐标系不太熟悉的同学建议阅读我的坐标系统博客。B站/CSDN/博客园/知乎 均为同ID:秋意正寒。

    一、备份法

    优点:不会丢失属性信息

    缺点:必须在投影之前操作,如果只有投影后的文件,请参考方法二

    即在进行投影之前,进行“添加XY坐标”这一操作,该工具位于【数据管理工具箱】-【要素工具集】-【添加XY坐标】。这样就能把经纬度提前写入属性表。

    如下图,现在拥有一个尚未进行投影的江苏省边界数据:

    转换折点后,使用【添加XY坐标】工具,属性表变为:

    经纬度信息就写入了。

    或者添加两个字段,进行计算几何操作,单位选择十进制度,同样也能添加经纬度到属性表(与【添加XY坐标】工具同样的效果)。

    ps:我们都知道,一个shp/一个矢量要素由空间数据和非空间数据组成,空间数据即其几何信息和坐标信息,非空间数据即其字段与属性值。

    在方法一中,我们就是把空间数据做了备份。

    二、动态投影恢复法

    优点:投影后也可以操作,用于临时恢复地理坐标系统表示的数据

    缺点:属性信息需要重新导入

    此法借助ArcGIS的动态投影功能,在计算几何时,将单位也改为十进制度即可。

    这样,就能把已经投影的数据的经纬度,以十进制度的形式写入属性表,此时再导出dbf表,再将其导入ArcGIS并设置坐标系为原数据的GCS就能恢复了,但是属性表需要重新组织。

    【举例】

    将第一节提到的江苏省边界折点投影到UTM,则:

    然后为其添加经度和纬度两个浮点字段:

    此时计算几何或添加XY坐标当然是将投影后的坐标写入:

    (投影没有设置假东/东偏移,所以在经度上出现了负值)

    现在,可以用动态投影的内置功能反算出经纬度:

    结果如下:

    此时导出表:

    相当nice!

    随后,再将xls导入XY:

    (记得导入XY时选上原来的地理坐标系哦)

    就又回到了GCS状态下的江苏省边界点数据:

     

     

    Ps.

    有人说这只能是点啊——有点你自己不会生成线和面吗?

    当然还有一种十分暴力的做法,那就是,如果知道某几个点的经纬度,不妨用空间校正...(逃

  • 相关阅读:
    C#几个经常用到的字符串的截取
    写入Log错误日志
    AES 加密与解密
    支付宝小额免密支付和代扣区别:原来如此
    Sql server --触发器
    yum、ip、等命令无法不全子命令解决
    3、VNC
    6、DHCP
    2、OpenSsh
    VIM的使用
  • 原文地址:https://www.cnblogs.com/onsummer/p/9638333.html
Copyright © 2020-2023  润新知