2021年6月5日 星期六

QGIS疑難雜症-檔案座標轉換出問題

對於剛接觸GIS的人來說,很容易遇到下列這些問題。

「不同座標系統的資料,可以套疊在一起嗎?」「臺灣GIS資料常使用哪些EPSG?」「我要如何進行資料的座標系統轉換?」「為什麼我的資料另存後,讀取時座標怎麼跑掉了?」「我有兩個不同座標系統的資料,為什麼無法進行套疊?」

解決這些問題前,必須要對於座標系統有一些粗淺的認識,以下慢慢說明。

第一部分:QGIS座標系統的設定與分類


          查詢座標值 :

        QGIS畫面下方會看到一個寫著「座標」的欄位,裡面的數值會隨著滑鼠游標的移動而改變,這代表當前你的滑鼠位置的座標數值

QGIS的運行畫面

QGIS座標欄位顯示數值
        可以看到畫面上的點座標為(348054,2746327),我使用的座標系統為3826。

        這個步驟很重要,藉由這個方法你可以檢查你的檔案座標示不是有出錯。專案屬性座標系統決定「座標」欄位的顯示數值。

 

分配座標系統(Assigned Coordinate Reference System,ARCS)

 

        ACRS指的是QGIS把檔案讀入QGIS時,指定來源檔案的預設座標系統,也就是檔案儲存時預設的座標系統。以shp檔為例,.prj檔案就是shp檔的預設座標值,shp檔沒有.prj仍可開啟。 

 

        進行檔案座標系統設定:

      1. 點選檔案->點及右鍵->Properties
      2. 點選「來源」,就會看到旁邊有分配座標系統的預設EPSG代碼。有些檔案沒有設定EPSG還是可以開啟,不過此時這個欄位就不會顯現EPSG代碼,而系統會先將分配座標系統設定與專案屬性座標系統(PCRS)一樣

      3. 點及旁邊的地球圖示

      4. 接著就可以設定分配座標系統

        專案屬性座標系統(Project Coordinate Reference System,PCRS):


        專案屬性座標系統決定當前QGIS畫面展示時的座標系統專案屬性座標系統(PCRS)與分配座標系統(ACRS)可以為不同EPSG代碼。更改「專案屬性座標系統」不會影響「分配座標系統」。這裡非常重要,很多人以為更改專案屬性座標系統時,就可以連帶的更改分配座標系統,但這兩者是分開的!

        舉例:假設A檔案的分配座標系統設定為3826,B檔案的分配座標系統為3857,此時畫面上的專案屬性座標系統為4326。意思是QGIS把兩個檔案轉換成4326座標顯示出來,但這不會改變檔案原本的檔案座標設定。

 

進行專案屬性座標系統設定:

      1. 點及QGIS畫面左下角「EPSG」


      2. 點進去後,畫面會出現最近你使用過的座標系統種類,也可以在這個畫面中進行搜尋,搜尋時可以輸入座標系統的EPSG代碼,或者用英文名稱搜尋也可。

第二部分:臺灣GIS資料常使用哪些EPSG代碼?


臺灣政府資料常使用的座標格式為以下幾種:

    1. TWD67:3821
    2. TWD97:3824
    3. TWD97/TM2 zone 121:3826(政府資料常使用的格式)
    4. TWD67/TM2 zone 121:3828(部分舊的政府資料設定格式)
    5. WGS84 / Pseudo-Mercator:(google麥卡拖,常見於臺灣的wmts服務中,例如國土測繪中心服務與中央研究院臺灣百年歷史地圖服務)
    6. WGS84:(世界上最通用的EPSG代碼)
        如果你拿到一個臺灣的GIS資料,但是不知道他正確的EPSG代碼,不妨就試試看上面提供的六種。

 

第三部分:進行分配座標系統轉換


        重點:另存檔案時,修改檔案的分配座標系統即可。如果僅修改檔案的分配座標系統或是專案屬性座標系統,無法完成分配座標系統轉換。

 

        解釋:分配座標系統的意思是你要告訴系統,這個資料原始正確的座標系統是那個EPSG,假如原本A資料的分配座標系統是4326,你將他更改為3826後,A資料會出現在很奇怪的地方,或甚至無法在QGIS中顯示。如果你更改專案屬性座標系統,那只會改變畫面上A資料的畫面展示座標值,當下次你呼叫A檔案使用3826座標系統時,一樣會出錯。因為對A資料來說,正確的分配座標系統是4326才對。

        操作說明:

    1.  先確認資料是否於正確的座標上
    2. 在4326的座標系統中,點位置的座標值為(120.961,24.435)這是正確的,4326為經緯度系統座標,臺灣的經緯度約落在這裡,如果數值顯示為(348054,2746327),那就代表檔案座標系統出錯了,很明顯是不會有六位數的經緯度。
    3. 資料點及右鍵->「匯出」->「Save Features As...」。

    4. 選擇要更改的分配座標系統,這裡我選擇3826。



    5. 可看到新建立的檔案雖然設定的檔案座標系統不一樣,但是與上面原本的檔案在同一個位置。
      這是因為舊檔案與新檔案的檔案座標系統設定皆正確,才會都套疊於同樣的位置。
    6. 將另存好的檔案匯入後,發現座標為(307517.5,2650177.8),匯入臺灣通用電子地圖比對位置後,確定位置正確。由於3826的座標系統是以公尺為單位,加上X軸有進行偏差過,因此數值為正確的。

第四部分:資料另存後,讀取時座標跑掉了?


        請見第三部分說明,這代表你的資料在另存前就已經是在錯誤的分配座標數值上,資料的分配座標系統出錯。我曾遇過使用者有三個檔案,雖然這三個檔案座標數值都是錯的(在3826的座標系統中,x與y值接小於4位數),但是因為整體資料都還可以顯示出來,加上形狀沒有太大變形,因此使用者就以為他資料的分配座標系統皆是正確。

                  當他進行檔案另存讀取後,就發生了上述的問題。


第五部分:有兩個不同座標系統的資料,為什麼無法進行套疊?


        請見第三部分說明,代表你其中一個資料的分配座標系統出錯。遇到這類問題時,修改專案屬性座標系統無法解決你的問題,出問題的部分是檔案本身的分配座標系統設定。建議進行資料的交叉比對,看看是那個檔案的分配座標系統出錯,當然有可能是兩個檔案都出錯了。
                    如果你還有遇到座標系統的其他問題,可以在下方留言跟我說

2 則留言:

  1. 1.TWD97/TM2 與WGS84圖資如何套疊呢(QGIS)?
    2.QGIS 雨量站TWD97/TM2 座標如何與國土測繪中心提供圖資WGS84兩雨量站距離都是錯誤的,量站距離都是錯誤的,我想應該是套疊時座標系統出錯誤所致

    回覆刪除
    回覆
    1. HI您好~

      抱歉現在才回覆,TWD97/TM2與WGS84圖資,理論上只要檔案中有指定正確的分配座標系統(請見上面文章),就可以了。如果這樣還是沒有辦法,那可能是原始圖資再儲存時座標就設定錯誤了,建議多找幾個檔案測試一樣。

      至於當你使用QGIS的測量工具時,需要注意專案檔的座標系統是屬於用公尺/公里為單位的座標系統(例如:3826/3857),或者是使用經緯度為單位的座標系統(例如:4326)。如果你是用後者進行距離計算,那會覺得測量出來的距離怪怪的。

      最後QGIS裡面的距離測量功能僅是參考用,還是會有誤差,請不要把QGIS的測量結果與測量隊的結果進行比較。

      如還有問題的話,可以再跟我說

      刪除