網友有時候的問題很奇葩,但是這也給了我一個思考的余地:
既然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.
有人說這只能是點啊——有點你自己不會生成線和面嗎?
當然還有一種十分暴力的做法,那就是,如果知道某幾個點的經緯度,不妨用空間校正...(逃
