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

时间:2021-07-16 23:58:27

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

既然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.

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

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