什麼是 CRS?坐標參考系統、EPSG 與 QGIS 圖層錯位修正
發布於
坐標參考系統(CRS)是把一組坐標對應到地球上真實位置的規則。它告訴軟體這些數字採用哪一種地球模型、單位是度還是公尺,以及圓形的地球是如何被攤平成地圖的。每個 GIS 圖層都有 CRS,通常以簡短的代碼表示,例如 EPSG:4326。
少了 CRS,651000, 6862000 只是兩個數字。搭配 EPSG:2154,它是巴黎的一個點。如果誤配成 EPSG:4326,同樣的數字哪裡也指不到,QGIS 就會把圖層畫在錯誤的位置。大多數「我的圖層跑到海上了」的問題都出在這種不一致。下文會一步一步說明修正方式,並測試我們開發的 QGIS 外掛 AI Agent:它只靠一則訊息,就在 52 秒內找出正確的 CRS。

CRS 的三個組成部分
每個 CRS 都要回答三個問題。任何一個答錯,您的資料就會移位。
- 大地基準(datum):哪一個地球? 地球略為扁平,並不是正圓球。大地基準是這個形狀的數學模型,並固定在地球上。GPS 使用的 WGS 84 就是其中之一,歐洲的 ETRS89 與北美的 NAD83 則是另外兩個。
- 坐標系統:度還是公尺? 地理坐標系統以度表示緯度與經度。投影坐標系統則以公尺表示平面地圖上的 x 與 y。
- 投影:如何攤平? 投影是把圓形地球轉成平面地圖的方法。攤平必然會拉伸某些東西,所以每種投影都會選擇要保持哪一項正確:面積、角度或距離。
地理坐標系統與投影坐標系統
兩種都是正確的 CRS。差別在於,量測出來的數字有沒有意義。
| 地理坐標系統 | 投影坐標系統 | |
|---|---|---|
| 單位 | 緯度與經度的度 | 公尺或英尺 |
| 範例 | EPSG:4326(WGS 84) | EPSG:32643(WGS 84 / UTM zone 43N,印度西部) |
| 適合 | 儲存與交換全球資料、GPS 定位 | 量測面積與距離、工程、國家級製圖 |
| 不適合 | 面積與長度:經度 1 度在赤道約 111 km,到極點是 0 km | 遠離投影設計區域的地方,面積會失真 |
我的原則是:資料維持原本的 CRS,但量測時改用適合所在區域的投影坐標系統。在 EPSG:4326 中算出的面積,單位是平方度。它看起來仍然像一個正常的數字,所以才會有人把它交出去。
EPSG 代碼是什麼
EPSG 代碼是一個簡短的數字,用來精確指定一個 CRS。這份清單最初由歐洲石油調查組織(European Petroleum Survey Group)建立,因此叫 EPSG,現在由國際油氣生產者協會維護,收錄了 7,000 多個 CRS。
以下是我最常遇到的代碼:
| 代碼 | 名稱 | 使用地區與原因 |
|---|---|---|
EPSG:4326 | WGS 84 | GPS 坐標、GeoJSON、大多數全球資料集 |
EPSG:3857 | WGS 84 / Pseudo-Mercator | 網路地圖圖磚:OpenStreetMap、Google、Bing、Esri 底圖 |
EPSG:2154 | RGF93 / Lambert-93 | 法國本土的法定 CRS |
EPSG:25832 | ETRS89 / UTM zone 32N | 德國、丹麥、挪威與中歐大部分地區 |
EPSG:32643 | WGS 84 / UTM zone 43N | 印度西部,包含孟買與浦那 |
EPSG:31983 | SIRGAS 2000 / UTM zone 23S | 巴西東南部,包含聖保羅州 |
EPSG:26918 | NAD83 / UTM zone 18N | 美國東岸,包含紐約 |
第一列藏著一個陷阱。正式的 EPSG:4326 把緯度放在前面,但大多數軟體(包含 QGIS)與 GeoJSON 都是先讀經度(GeoTools 解釋了原因)。如果您的 CSV 點位跑到南極洲,或落在索馬利亞外海,請先檢查欄位是不是對調了。
EPSG:4326 與 EPSG:3857 的差別
EPSG:4326 以度儲存位置。EPSG:3857 稱為 Web Mercator,會把位置轉成以公尺為單位的正方形格網,讓地圖可以切成圖磚。Google Maps 在 2005 年採用它,後來幾乎所有線上底圖都跟進。它很適合顯示,卻不適合量測,因為離赤道越遠,面積被放大得越多。

我在 QGIS 中,用六座城市各一個真實的 1 km² 正方形,量測放大了多少:
| 城市 | 緯度 | 1 km² 在 Web Mercator 地圖上的面積 |
|---|---|---|
| 基多 | 南緯 0.2° | 1.007 km² |
| 孟買 | 北緯 19.1° | 1.126 km² |
| 馬德里 | 北緯 40.4° | 1.727 km² |
| 柏林 | 北緯 52.5° | 2.696 km² |
| 奧斯陸 | 北緯 59.9° | 3.966 km² |
| 特羅姆瑟 | 北緯 69.7° | 8.226 km² |
經驗法則 1 / cos²(緯度) 與每一筆實測值的誤差都在 0.6% 以內。就算在赤道上,Web Mercator 也多出 0.67%,因為它用的是球體公式,而地球並不是球體。
我們如何量測。 2026 年 9 月 26 日,我在 QGIS 3.44 中,把每個正方形畫成真實大小(在 WGS 84 橢球體上為 1.000000 km²,以 $area 驗證)。接著把它重新投影到 EPSG:3857,再用 area($geometry) 讀出平面面積。
所以,在奧斯陸用 Web Mercator 圖層量出的一塊農地,面積會大約多出四倍。請改用正確的 CRS 量測:您所在國家的官方 CRS 或所屬的 UTM 帶,量出的面積誤差都在百分之一以下。
大地基準:同樣的坐標,卻差了好幾公尺
兩個 CRS 都寫「緯度 40.7、經度 -74.0」,指到的點卻可能相差數公尺,因為它們使用不同的大地基準。差多少,取決於是哪一組:
| 從 | 到 | 一般位移 | 來源 |
|---|---|---|---|
| NAD27 | NAD83 | 美國本土 48 州為 10 至 100 m,夏威夷超過 400 m | USGS |
| NAD83 | WGS 84 | 美國大部分地區約 1 至 2 m | North American Datum |
| ETRS89 | WGS 84 | 目前約 90 cm,每年增加 2.5 cm | EuroGeographics / EUREF,2025 |
歐洲是最出人意料的例子。ETRS89 會跟著歐亞板塊的歐洲部分移動,板塊每年漂移約 2.5 cm,WGS 84 卻不會。所以一個 1989 年在 ETRS89 中固定的點,現在與它的 WGS 84 位置相差約 90 cm,而地面上的實物其實沒有動。在底圖上沒有人看得出來,但對土地測量來說就很重要。
當 QGIS 知道兩個大地基準之間有好幾種轉換方式時,會請您選一種。請依您的區域選擇精度最高的那一種,不要直接關掉對話框。
為什麼 QGIS 中的圖層對不齊
QGIS 會即時重新投影:每個圖層保留各自的 CRS,QGIS 再把它們全部轉成專案 CRS 來顯示。只要每個圖層的 CRS 宣告正確,這就能順利運作。如果標籤是錯的,QGIS 就是從錯誤的起點開始轉換。
為了示範,我把德國班貝格老城區 1,015 棟 OpenStreetMap 建物存成以公尺為單位的資料(EPSG:25832),並搭配一個錯誤宣告為 WGS 84(單位是度)的 .prj 檔案。QGIS 相信了這個檔案。在 Web Mercator 專案中,這個圖層雖然已勾選,卻哪裡也畫不出來,因為經度 635,460 度根本不在地球上。在 WGS 84 專案中使用「縮放至圖層」,只會看到建物孤零零地出現在空白的畫布上。

這是常見的問題,不只新手會遇到。在 YouTube 上的 1,692 支 QGIS 教學影片中,有 155 支(9.2%)的留言在問 CRS 或圖層對不齊。在 GIS Stack Exchange 上,coordinate-system 標籤下有 8,402 個問題。
那裡被重複最多次的回答,來自一位經驗豐富的使用者:「大約 99% 的情況下,人們只是用『設定 CRS』而不是重新投影,因為他們不知道兩者的差別。」這兩個工具的作用恰好相反:
- 「設定圖層的 CRS」 只改標籤,數字不變。只有在標籤本來就是錯的時候才用,例如 Shapefile 遺失了
.prj檔案。 - 「重新投影圖層」 位置不變,數字改變。標籤正確,但您需要把資料轉成另一個 CRS 時才用。
對一個本來就正確的圖層使用「設定圖層的 CRS」,會把它移到錯誤的位置。這就是典型的「我重新投影之後反而更糟」。
如何在 QGIS 中修正 CRS 問題
讀取圖層宣告的 CRS
在圖層上按右鍵,選擇**「屬性」→「資訊」**。其中的 CRS 一行會顯示 QGIS 認為這些坐標屬於哪個 CRS。右下角的狀態列則會顯示專案 CRS。
查看原始數字
用「識別圖徵」工具點選一個圖徵,或開啟點位 CSV 的屬性表格。介於 -180 與 180 之間的值是度;數十萬或數百萬的值,則是投影坐標系統中的公尺。如果數字與宣告的 CRS 不符,就代表標籤是錯的。
修正標籤,或轉換資料
標籤錯誤時:「圖層」→「設定圖層的 CRS」,然後選擇資料實際製作時使用的 CRS。資料供應者的說明,或該國的標準 CRS,通常能告訴您答案。標籤正確,但您需要另一個 CRS 時:「空間運算工具箱」→「重新投影圖層」。
依您的區域設定專案 CRS
量測任何東西之前,請先按下狀態列中的 CRS 按鈕,選擇適合您所在區域的投影坐標系統。
在班貝格這個圖層中,問題出在標籤,所以修正方式是**「設定圖層的 CRS」**:在篩選欄輸入 25832,然後選擇 ETRS89 / UTM zone 32N。

沒有任何一個坐標被改動。標籤與數字相符之後,1,015 個輪廓全都落在各自的屋頂上。

讓 AI Agent 幫您診斷
我們開發 QGIS 外掛 AI Agent,所以這一節談的是我們自己的工具。上面的手動做法是免費的,熟悉之後只要幾分鐘。難的地方是要知道資料實際是用哪個 CRS 製作的,所以我測試了 AI Agent 能不能自己判斷出來。
我重新載入壞掉的圖層,只送出一則訊息:「我的建物圖層跟底圖對不齊。找出原因並修正。」AI Agent 在 52 秒內讀取了 .prj,發現坐標是公尺,並比對市政廳落在航照影像上的位置,選定 EPSG:25832。它排除了同一區域較舊的歐洲 CRS,因為那個 CRS 會讓建物偏離約 225 m。它另存了一份修正後的副本,原始檔案則完全沒動。

它在專案中留下一個隱藏的暫存圖層,需要手動刪除。和您一樣,它需要一張底圖或參考圖層才能比對。
該選哪一個 CRS?
| 您想要 | 使用 | 原因 |
|---|---|---|
| 在網路底圖上顯示資料 | EPSG:3857 | 圖磚本來就是這個 CRS |
| 儲存或交換全球資料 | EPSG:4326 | 通用,也是 GeoJSON 預期的格式 |
| 量測一個國家內的面積與長度 | 該國的國家 CRS,或當地的 UTM 帶 | 專為該區域設計,單位是公尺 |
| 跨大陸量測 | 等面積 CRS,例如歐洲用 EPSG:3035 | 在大範圍內保持面積正確 |
| 交付給政府客戶 | 對方的法定 CRS,例如法國的 EPSG:2154 | 通常會寫在合約裡 |
要更改專案 CRS,請按下 QGIS 視窗右下角的 EPSG 按鈕。它會開啟**「專案屬性」→「CRS」**,您可以在那裡用代碼或名稱搜尋。

重點整理
CRS 透過大地基準、坐標系統,以及平面地圖才需要的投影,把坐標對應到地球上的位置。
EPSG 代碼精確指定一個 CRS:EPSG:4326 是 GPS 的緯度與經度,EPSG:3857 是線上底圖使用的 Web Mercator 格網。
Web Mercator 會把面積放大約 1 / cos²(緯度) 倍。在 QGIS 中實測,1 km² 的正方形在馬德里涵蓋 1.73 km²,在奧斯陸涵蓋 3.97 km²,在特羅姆瑟涵蓋 8.23 km²。請改用國家 CRS 或 UTM 的 CRS 量測。
圖層對不齊時,先檢查原始數字,再動手修改。「設定圖層的 CRS」用來修正錯誤的標籤,「重新投影圖層」用來轉換正確的資料,兩者弄混就會把圖層移走。
QGIS 內的 AI Agent 可以幫您診斷:在我們的測試中,AI Agent 只靠一則訊息就指出正確的 CRS,並修正了圖層的副本。
常見問題
GIS 中的 CRS 是什麼?
坐標參考系統告訴 GIS 軟體,圖層的坐標位於地球上的哪裡。它結合了大地基準(地球形狀的模型)、坐標系統(度或公尺),以及平面地圖才需要的投影。每個圖層都有一個 CRS,通常以 EPSG 代碼命名。
EPSG:4326 與 EPSG:3857 有什麼差別?
EPSG:4326 以度在 WGS 84 橢球體上儲存緯度與經度。EPSG:3857 則把同樣的位置投影成以公尺為單位的正方形格網,供網路地圖圖磚使用。3857 用來顯示底圖,絕對不要用來量測:它在緯度 40° 把面積放大 1.7 倍,在緯度 60° 則放大 4 倍。
WGS 84 就是 EPSG:4326 嗎?
日常使用上是的。嚴格來說,WGS 84 是大地基準,EPSG:4326 則是建立在它之上的緯度與經度 CRS。其他 CRS 也會使用 WGS 84,例如 EPSG:3857。
為什麼我的圖層在 QGIS 中位置不對?
圖層宣告的 CRS 與檔案中的坐標不相符。常見原因有:缺少 .prj 檔案、CSV 的緯度與經度對調,或該用「重新投影圖層」時卻用了「設定圖層的 CRS」。請先用「識別圖徵」工具檢查原始坐標,只有在標籤確實有誤時,才用「設定圖層的 CRS」更正。
QGIS 的「設定 CRS」與「重新投影」有什麼差別?
「設定圖層的 CRS」只改 CRS 標籤,坐標數字不變,所以除非原本的標籤是錯的,否則會把圖層移位。「重新投影圖層」讓圖層留在原處,並把數字重新計算成新的 CRS。前者用來修復中繼資料,後者用來轉換資料。
QGIS 能自動找出正確的 CRS 嗎?
它自己做不到。QGIS 會從檔案讀取 CRS,例如 Shapefile 旁邊的 .prj,沒有時就詢問您。它不會檢查坐標是否吻合。AI 代理外掛可以。我們的 AI Agent 會把坐標與底圖比對、找出 CRS,並修正圖層的副本,只需要在 QGIS 中輸入一則訊息。
量測面積該用哪一個 CRS?
為您所在區域設計的投影坐標系統:您所在國家的官方 CRS,或您所處的 UTM 帶。跨大陸的面積則使用等面積 CRS,例如歐洲的 EPSG:3035。絕對不要在 EPSG:4326(平方度)或 EPSG:3857(離赤道越遠越被放大)中量測面積。
CRS 也是掃描地圖的空間對位的起點,因為您放上去的點,只有在已知的坐標系統中才有意義。什麼是 QGIS 介紹了這套軟體的其他部分,PyQGIS 說明如何用程式碼重新投影,AI Agent 則能在 QGIS 中靠一則訊息修正圖層的 CRS。QGIS AI 總覽依任務列出了其他 AI 外掛。
就會把圖層畫在錯誤的位置。大多數「我的圖層跑到海上了」的問題都出在這種不一致。下文會一步一步說明修正方式,並測試我們開發的 QGIS 外掛 

