QGIS 轉 KML:輕鬆轉換地理空間資料,讓你的地圖隨處可見

QGIS 轉 KML 快速指南:專業步驟與獨到見解

在處理地理空間資料的過程中,經常會遇到需要將 QGIS (Quantum GIS) 中的向量圖層轉換成 KML (Keyhole Markup Language) 格式的需求。特別是當我們要將這些精美的地圖資料分享到 Google Earth、Google Maps 或其他支援 KML 的應用程式時,QGIS 轉 KML 的技巧就顯得格外重要了。許多使用者,無論是剛入門的 GIS 新手,還是經驗豐富的專業人士,都可能在實際操作中遇到一些小困擾。別擔心!這篇文章將帶你深入了解 QGIS 轉 KML 的全貌,提供詳盡的步驟、專業的分析,以及一些獨到的見解,讓你能夠輕鬆駕馭這個轉換過程,讓你的地理空間資料更具分享性與應用性。

為什麼要將 QGIS 資料轉為 KML?

在我們深入探討轉換步驟之前,先來聊聊為什麼 KML 格式如此受歡迎,以及 QGIS 轉 KML 的必要性。

KML 是一種基於 XML 的標記語言,主要用於在地圖或地球上顯示地理資訊。它是由 Keyhole, Inc. 開發,後來被 Google 收購,並成為 Google Earth 和 Google Maps 的標準檔案格式。KML 檔案可以包含點、線、多邊形等地理特徵,同時還能嵌入文字描述、圖片、影片,甚至設定視覺風格,例如顏色、線條粗細、標籤文字等。

QGIS 作為一款開源、強大的桌面地理資訊系統軟體,支援的向量格式非常廣泛。然而,當我們需要與**非 GIS 專業人士**分享地圖,或者將資料整合到**網頁應用**、**行動裝置**上的地圖服務時,KML 格式就成為了最佳的選擇。它具有以下幾個明顯的優勢:

* **跨平台通用性:** 幾乎所有的現代地圖應用程式都支援 KML 格式,無論是電腦上的 Google Earth Pro,還是網頁上的 Google Maps,甚至是許多行動端的 GIS App,都能夠輕鬆讀取 KML 檔案。
* **豐富的視覺呈現:** KML 不僅僅是地理座標的集合,它還能夠定義豐富的視覺樣式,讓你的地圖在 Google Earth 等平台上呈現出專業且具吸引力的樣貌。
* **易於分享與嵌入:** KML 檔案通常較小,便於透過電子郵件、雲端儲存等方式分享,也可以直接嵌入到網頁中,實現互動式地圖展示。

因此,掌握 QGIS 轉 KML 的技巧,對於地理空間資料的**應用**與**傳播**來說,是不可或缺的一環。

QGIS 轉 KML 的核心流程:步驟詳解

QGIS 提供了非常直觀且彈性的工具來實現向量圖層到 KML 格式的轉換。以下我們將以詳細的步驟,一步步帶你完成這個過程。

假設我們有一個名為「重要據點」的點圖層,包含各個據點的名稱和一些基本屬性資料,我們希望將它轉換成 KML 格式,並在 Google Earth 中查看。

步驟一:開啟你的 QGIS 專案並載入向量圖層

首先,確保你已經在 QGIS 中開啟了包含你需要轉換的向量圖層的專案。你可以是 Shapefile、GeoPackage、GeoJSON,甚至是其他 QGIS 支援的向量格式。

* 啟動 QGIS 軟體。
* 開啟你的專案檔案(.qgz 或 .qgs),或者直接將你的向量圖層拖曳到 QGIS 的圖層面板中。

步驟二:選擇要轉換的圖層

在 QGIS 的圖層面板中,點選你想要轉換成 KML 的向量圖層,使其處於**選取狀態**(通常會顯示為高亮)。

步驟三:執行匯出指令

執行匯出指令有幾種方式,最常用且直觀的是透過右鍵選單。

* 在圖層面板中,右鍵點擊你的向量圖層。
* 在彈出的選單中,選擇「匯出」。
* 然後,選擇「將圖層另存為…」。

步驟四:設定匯出格式與位置

這是最關鍵的一步。在「另存向量圖層」對話框中,你需要進行一系列設定:

1. **格式 (Format):** 在「格式」下拉選單中,仔細尋找並選擇 **”Google KML”**。請注意,有時候你可能會看到 “KML / KMZ”,兩者基本功能相同,KMZ 是 KML 的壓縮版本,通常會包含額外的資源(如圖片)。一般情況下,選擇 “Google KML” 就足夠了。

2. **檔案名稱 (File name):** 點擊右側的「…」按鈕,選擇你希望儲存 KML 檔案的位置,並為其命名。例如,你可以命名為「重要據點.kml」。

3. **坐標參照系統 (CRS):** 這一項非常重要!KML 格式通常使用 **WGS 84 (EPSG:4326)** 作為其預設的坐標參照系統。如果你的原始圖層不是 WGS 84,QGIS 會自動進行轉換。為了確保最佳的兼容性,建議在此處**明確選擇 WGS 84 (EPSG:4326)**。你可以透過點擊坐標參照系統旁邊的按鈕來搜尋並選取。

4. **匯出屬性欄位 (Exported Fields):** 這裡你可以選擇哪些屬性欄位要被匯出到 KML 檔案中。KML 檔案支援將屬性資料顯示為**「內容」**或**「屬性」**,以便在 Google Earth 等應用程式中點擊地理特徵時顯示。預設情況下,所有欄位都會被匯出,你也可以根據需要取消勾選某些欄位。

5. **幾何圖形 (Geometry):** 預設情況下,QGIS 會保留原始圖層的幾何類型。

6. **其他選項 (Options):**
* **「圖層名稱」** (Layer name):這個名稱將會顯示在 Google Earth 等應用程式的圖層列表中。你可以保留原始圖層名稱,或者輸入一個更具描述性的名稱。
* **「將圖層名稱寫入 KML 檔名」** (Write layer name to KML file name):如果勾選此選項,輸出的 KML 檔案將以圖層名稱命名,而不是你指定的檔案名稱。

步驟五:確認並執行匯出

完成上述設定後,點擊「確定」按鈕。QGIS 會開始執行轉換,並將 KML 檔案儲存到你指定的位置。

步驟六:在 Google Earth 或其他應用程式中開啟 KML 檔案

轉換完成後,你就可以到儲存的路徑找到產生的 KML 檔案。

* **Google Earth Pro (桌面版):**
* 開啟 Google Earth Pro。
* 點選左側導航面板的「檔案」 > 「開啟…」。
* 瀏覽並選取你剛剛匯出的 KML 檔案。
* 你就會在 Google Earth 中看到你的地圖資料了!

* **Google Maps (網頁版):**
* 開啟 Google Maps。
* 點選左側選單(三個橫線圖示)。
* 選擇「你的地點」 > 「地圖」。
* 點選「建立地圖」。
* 在新建的地圖介面,點選「匯入」。
* 選擇你剛剛匯出的 KML 檔案上傳。

進階技巧與注意事項:讓你的 KML 更專業

僅僅將資料匯出成 KML 可能還不夠,如果我們希望在地圖上呈現出更豐富的視覺效果,或者處理更複雜的資料,可以進一步運用 QGIS 的功能。

1. 符號化與樣式設定

在匯出 KML 之前,對你的圖層進行詳細的符號化設定,將會直接影響到 KML 在 Google Earth 等平台上的顯示效果。

* **點圖層:** 你可以選擇不同的圖示、調整大小、顏色。在 QGIS 中,你甚至可以載入自訂的 SVG 圖示。這些設定在匯出 KML 後,通常都能被 Google Earth 識別並正確顯示。
* **線圖層:** 可以設定線條的顏色、粗細、樣式(實線、虛線等)。
* **多邊形圖層:** 可以設定填充顏色、邊框顏色、透明度。

**獨到見解:** 很多使用者會忽略符號化設定的重要性。實際上,一個精心設計的符號化,能夠讓你的 KML 檔案在視覺上更具專業性,並能更清晰地傳達地圖資訊。例如,為不同類型的據點使用不同顏色的圖示,或是用不同粗細的線條表示不同級別的道路。

2. 屬性資料的視覺化與互動

KML 檔案能夠將圖層的屬性資料展示出來。在 QGIS 中,你可以透過「屬性表格」來查看這些資料。當你將 KML 匯入 Google Earth 後,點擊地圖上的點、線或面,彈出的資訊視窗(稱為「內容」或「資訊」)就會顯示這些屬性。

**進階技巧:**
* **自訂標籤 (Labeling):** 在 QGIS 中,你可以為圖層設定標籤。這些標籤通常也會被匯出到 KML 中,作為地圖上的文字說明。你可以在 QGIS 的圖層屬性中,找到「標籤」頁面進行設定。
* **HTML 格式化屬性:** 如果你的屬性資料中包含 HTML 標籤,例如 `粗體` 或 `斜體`,QGIS 在匯出 KML 時,通常會嘗試保留這些格式。這意味著你可以在 KML 的資訊視窗中呈現出更具結構和美感的文字內容。

3. 處理大型或複雜圖層

* **KMZ 格式:** 如前所述,KMZ 是 KML 的壓縮版本,它會將 KML 檔案和所有相關的資源(如圖片、圖示)打包成一個單一檔案。當你的 KML 檔案中包含大量圖片或複雜圖示時,選擇匯出為 KMZ 可能會更方便分享和管理。在 QGIS 的匯出選項中,通常可以直接選擇 “KMZ”。
* **圖層合併:** 如果你有非常多個相似的圖層,為了簡化 KML 檔案的結構,可以考慮在 QGIS 中先將它們合併成一個圖層,再進行匯出。
* **屬性篩選:** 如果你只需要匯出特定條件下的地理特徵,可以在匯出前,先使用 QGIS 的「查詢生成器」(Query Builder) 或「選擇工具」來篩選出需要的特徵,然後再對選取的特徵進行匯出。這樣可以產生更精簡、更具針對性的 KML 檔案。

4. 坐標系統的考量:再次強調 WGS 84

再次強調,KML 的標準是基於經緯度的,而 WGS 84 (EPSG:4326) 是全球最常用的地理坐標系統。雖然 QGIS 在匯出時會盡可能進行坐標轉換,但為了避免潛在的誤差和顯示問題,建議在匯出前,檢查你的圖層坐標系統,並在匯出設定中明確指定為 WGS 84。如果你對坐標系統不太熟悉,可以將你的圖層「重投影」 (Reproject Layer) 到 WGS 84,再進行匯出。

常見問題與專業解答

在 QGIS 轉 KML 的過程中,使用者可能會遇到一些常見問題。以下是一些專業的解答,希望能幫助你順利解決難題。

Q1:匯出的 KML 檔案在 Google Earth 中顯示有偏差,怎麼辦?

A1:這種情況通常與坐標系統有關。請務必確認你在 QGIS 匯出時,選擇的**坐標參照系統 (CRS)** 是 **WGS 84 (EPSG:4326)**。如果你的原始圖層坐標系統與 WGS 84 有較大差異,可能會導致位置偏移。

* **解決方法:**
1. 在 QGIS 中,檢查你的圖層的原始坐標系統。
2. 如果不是 WGS 84,建議先執行「重投影」操作。在圖層面板中,右鍵點擊圖層,選擇「匯出」 > 「將圖層另存為…」,然後在「坐標參照系統」欄位選擇 WGS 84 (EPSG:4326)。將重投影後的圖層儲存為新的檔案,再對這個新檔案進行 KML 匯出。
3. 或者,在執行 KML 匯出時,仔細檢查「坐標參照系統」選項,確保它被設置為 WGS 84 (EPSG:4326)。

Q2:匯出的 KML 檔案無法顯示圖層的屬性資料,或是顯示不完整?

A2:這可能與匯出時的屬性欄位選擇或 KML 格式本身的限制有關。

* **解決方法:**
1. **檢查匯出設定:** 在 QGIS 的「另存向量圖層」對話框中,確保你勾選了需要匯出的屬性欄位。尤其要注意,有些特殊字元或編碼問題可能會導致屬性欄位無法正確顯示。
2. **簡化屬性名稱:** 嘗試將屬性欄位的名稱簡化,避免使用過多的特殊符號或過長的名稱。
3. **檢查資料類型:** 確保屬性欄位的資料類型適合在 KML 中顯示。例如,過長的文字描述或二進制資料可能無法直接顯示。
4. **使用 KMZ 格式:** 某些情況下,使用 KMZ 格式(將 KML 和資源打包)可能會解決一些與資源鏈接相關的問題。

Q3:如何在 KML 檔案中包含圖片或圖示?

A3:KML 格式本身支援嵌入圖片,但這需要一些額外的步驟。

* **方法一:使用 KMZ 格式**
* 當你在 QGIS 中選擇匯出為 “KMZ” 格式時,QGIS 會嘗試將所有相關資源(包括你使用的圖示)打包進 KMZ 檔案。如果你的圖示是 QGIS 專案中載入的外部檔案,KMZ 格式通常能很好地處理。
* **方法二:手動編輯 KML (進階)**
* 如果你匯出的是 KML 格式,並且希望在 KML 檔案中直接連結到圖片(例如,將圖片上傳到網路空間),這通常需要對 KML 檔案進行手動編輯。你可以在 KML 檔案的 `` 或 `` 標籤中,使用 `` 標籤來嵌入圖片,並指定圖片的 URL。
* **重要提示:** 這種方法需要對 XML 和 KML 結構有一定了解,且圖片需要存儲在一個所有人都能訪問的網路上。

Q4:匯出的 KML 檔案很大,有辦法縮小檔案體積嗎?

A4:檔案大小主要取決於圖徵的複雜度、屬性資料的數量以及使用的符號化。

* **解決方法:**
1. **使用 KMZ 格式:** KMZ 是 KML 的壓縮版本,檔案體積通常會比純 KML 小。
2. **簡化幾何圖形:** 如果圖徵的精度要求不高,可以考慮在 QGIS 中使用「通用化」(Generalization) 工具來減少頂點數量,從而簡化幾何圖形,縮小檔案。
3. **篩選匯出:** 只匯出你真正需要的圖層或圖徵。避免匯出不必要的屬性欄位。
4. **移除不必要的符號化:** 過於複雜的符號化(例如,使用非常精細的自訂圖示)也會增加檔案大小。

Q5:QGIS 轉 KML 會不會影響原始資料?

A5:不會。QGIS 的「匯出」功能是一個**非破壞性操作**。它會基於你選擇的圖層,創建一個新的檔案,而不會修改你原始的向量資料檔案(如 Shapefile, GeoPackage 等)。你可以放心地進行匯出操作。

結語

QGIS 轉 KML 的過程,看似簡單,但背後蘊含著許多關於地理空間資料處理、格式轉換以及視覺呈現的細節。掌握這些技巧,不僅能讓你的地圖資料在 Google Earth 等平台上得到良好的展示,更能大大提升資料的可分享性與應用價值。

希望這篇文章能為你提供清晰的指引和有用的啟發。記住,多嘗試、多練習,你就能夠更加熟練地運用 QGIS 處理你的地理空間資料,並將它們以最適合的方式呈現給世界!qgis轉KML