【坐標系雜談】投影后的數據如何去除投影?


網友有時候的問題很奇葩,但是這也給了我一個思考的余地:

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

有人說這只能是點啊——有點你自己不會生成線和面嗎?

當然還有一種十分暴力的做法,那就是,如果知道某幾個點的經緯度,不妨用空間校正...(逃


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM