QGIS如何儲存?從專案、圖層到成果匯出的全方位指南
「哎呀,我的QGIS專案怎麼開不了了?」上週,一個初學GIS的朋友焦急地問我。他辛辛苦苦做了一整天的地圖,結果專案關閉後,下次打開卻發現圖層全部消失,只剩下一個空蕩蕩的介面!這其實是許多QGIS初學者,甚至是資深使用者都可能踩到的「地雷」——關於QGIS如何儲存的眉角,它可不只是一個簡單的「檔案 > 儲存」那麼簡單喔!
說白了,在QGIS的世界裡,儲存主要分為兩大核心概念:一是「專案儲存」,二是「圖層資料儲存」。兩者意義大不同,卻又緊密相連。簡單來說,專案檔(通常是.qgz或.qgs)儲存的是你當前的工作進度、地圖設定、圖層樣式、標籤設定、符號系統等等,它就像是你的「地圖工作藍圖」或「操作腳本」。而圖層資料檔則儲存了實實在在的地理資訊本身,例如點、線、面圖徵的幾何形狀和屬性資料,或是影像資料。理解這兩者的差異,是有效管理QGIS資料的第一步,也是避免你朋友那種「白忙一場」窘境的關鍵!
接下來,我會為你從基礎到進階,一步步拆解QGIS的儲存哲學,並分享我多年來的實戰經驗,保證讓你對QGIS的儲存方式瞭若指掌,再也不用擔心資料遺失或專案打不開的夢魘!
Table of Contents
QGIS專案儲存:您的數位工作空間檔案
想像一下,你在辦公桌上鋪開一張大大的地圖,上面貼滿了各種圖資、標籤,還用不同顏色的筆劃了重點,旁邊擺滿了工具。QGIS的專案檔,就像是這張「整理好的辦公桌」的數位副本。它記錄了所有您在QGIS介面中所做的配置,但請注意,它不包含實際的地理資料本身,而是記錄了這些資料的「位置」以及它們「應該如何呈現」。
為什麼要儲存專案?
儲存QGIS專案是為了保存您當前的工作狀態。這包括:
- 您加載了哪些圖層?
- 這些圖層的顯示順序是什麼?
- 圖層用了什麼符號系統和顏色?
- 有沒有設定標籤?標籤的樣式如何?
- 地圖的顯示範圍和比例尺是多少?
- 您建立的地圖佈局(Print Layout)有哪些?
- 使用過的處理工具設定。
- 以及所有其他介面上的自訂配置。
可以說,沒有專案檔,您下次打開QGIS,就得從頭開始載入圖層、調整樣式,非常耗時!
儲存QGIS專案的步驟
儲存專案的動作其實非常直覺,但有些細節需要留意:
-
初次儲存:
- 點擊主選單列的「專案(Project)」,然後選擇「儲存專案(Save Project)」或「儲存專案為…(Save Project As…)」。
- 「儲存專案為…」通常用於第一次儲存,或者您想把目前的工作狀態另存為一個新的專案檔。
- 設定儲存路徑和檔名。我強烈建議您為每個專案建立一個專屬的資料夾,並將相關的圖層資料也放在其中,這樣方便管理。
-
日常儲存:
- 最簡單的方式就是點擊工具列上的「儲存專案」圖示(一個藍色的磁碟圖示)。
- 或者使用快捷鍵:Ctrl + S (Windows/Linux) 或 Cmd + S (macOS)。這是您在QGIS工作時最常用的快捷鍵,請務必養成隨時按下的習慣!
-
自動儲存:
- QGIS其實有提供自動儲存功能,可以作為額外的保障。您可以在「設定(Settings)」>「選項(Options)」>「處理(Processing)」>「一般(General)」中找到「自動儲存專案檔案」的設定。
- 您可以設定自動儲存的頻率(例如每5分鐘)。不過,我個人還是建議手動儲存為主,自動儲存為輔,因為自動儲存有時可能會打斷您的操作流程,而且它儲存的只是您的專案檔,而非底層的圖層資料!
專案檔的格式與特性:.qgz vs. .qgs
當您儲存QGIS專案時,您會看到兩個主要的檔案格式選項:
-
.qgs (QGIS Project File):
這是QGIS較傳統的專案格式。它是一個純文字的XML文件,您可以直接用記事本等文字編輯器打開查看其內容(雖然通常沒必要這麼做)。由於是純文字,檔案通常較大,且不包含外部資料。
-
.qgz (QGIS Project File – Compressed):
這是QGIS 3.0版本以後推薦的預設專案格式。它其實是一個壓縮過的檔案,內部包含了主要的.qgs XML文件,還有一個額外的.qgd文件(一個SQLite資料庫),用於儲存專案相關的輔助資料,例如專案的自訂符號、Python宏或額外的設定。因為是壓縮格式,檔案通常比對應的.qgs檔案小很多,也更容易分享。
我的建議:
除非您有特殊需求(例如需要直接編輯XML文件),請一律使用.qgz格式儲存您的QGIS專案。它不僅檔案較小,傳輸方便,而且也更符合QGIS的現代發展趨勢。
儲存專案時的注意事項:相對路徑 vs. 絕對路徑
這大概是QGIS專案管理中最常遇到的問題,也是我朋友打不開專案的元兇!
-
絕對路徑 (Absolute Path):
當您的QGIS專案記錄圖層路徑時,如果使用的是絕對路徑,例如「C:\MyGISData\ProjectA\Cities.shp」,那麼只要這個檔案被移動、重新命名,或者您將整個專案複製到另一台電腦上,QGIS就會因為找不到原來的路徑而顯示「圖層遺失」!這就是為什麼我朋友將專案從隨身碟複製到電腦後,所有圖層都變成問號的原因。
-
相對路徑 (Relative Path):
QGIS允許您設定專案使用相對路徑。當您選擇相對路徑時,QGIS會將圖層的路徑記錄為相對於專案檔本身的位置。例如,如果您的專案檔在「ProjectA」資料夾裡,而Cities.shp也在同一個資料夾,那麼QGIS會記錄為「.\Cities.shp」。這樣一來,無論您將整個「ProjectA」資料夾複製到哪裡,只要專案檔和圖層檔之間的相對位置不變,QGIS就能順利找到圖層!
如何設定相對路徑:
在「專案(Project)」>「專案屬性(Project Properties)」>「一般(General)」分頁下,找到「儲存路徑(Save paths)」選項。請務必將其設定為「相對(Relative)」。這是一個非常重要的習慣,尤其當您需要與他人協作,或是在不同電腦間移動專案時!
QGIS圖層儲存:地理資料的基礎
如果說專案檔是辦公桌上的藍圖,那麼圖層資料檔就是構成這藍圖的「實際建材」。無論是從外部載入的Shapefile、GeoPackage,還是您在QGIS中透過分析工具(例如緩衝區、疊圖分析)新建立的圖層,這些資料本身都需要被妥善儲存,才能被長久使用和分享。專案檔只會「連結」到這些圖層資料檔,而不會「包含」它們。
哪些圖層需要「另外儲存」?
不是所有QGIS介面中的圖層都需要您手動「儲存為…」。通常,需要您特別留意的有:
-
暫存圖層 (Temporary/Scratch Layers):
這是最常見的「遺失陷阱」。當您在QGIS中執行某些處理工具(例如地理處理工具箱的任何工具),如果沒有明確指定輸出路徑和檔名,結果往往會預設為「暫存圖層」。這些圖層只存在於當前的QGIS會話中,一旦您關閉QGIS,它們就會憑空消失!我遇過太多使用者做了大量分析,結果卻因為沒儲存暫存圖層而前功盡棄,心痛啊!
-
記憶體圖層 (Memory Layers):
有些外掛或工具會生成「記憶體圖層」,它們與暫存圖層類似,也只存在於當前的會話中。
-
想轉換格式或進行備份的圖層:
即使您載入的圖層本身已經儲存為檔案(例如一個Shapefile),但如果您想將它轉換成GeoPackage格式,或是想對它進行空間查詢後將結果另存為新圖層,那麼您就需要執行「儲存圖層為…」的動作。
儲存圖層的步驟:以「儲存圖層為…」為例
這是您在QGIS中最常儲存地理資料的方式:
-
選取圖層:
在「圖層」面板中,右鍵點擊您想要儲存的圖層。
-
執行匯出指令:
選擇「匯出(Export)」>「儲存圖層為…(Save Features As…)」。
-
設定輸出選項:
這一步驟非常關鍵,包含了許多重要的設定:
-
格式(Format):
選擇您想要的輸出檔案格式。這是決定您資料未來兼容性、性能的關鍵。後面我會詳細介紹幾種常見且重要的格式。
-
檔案名稱(File name):
點擊右側的「…」按鈕,選擇您希望儲存檔案的路徑和檔名。
-
CRS (座標參考系統):
QGIS預設會使用來源圖層的CRS。但您可以在這裡選擇將資料轉換到其他CRS。如果您在專案中使用多個不同CRS的圖層,建議輸出時統一CRS,避免未來產生投影問題。台灣的專案,通常會設定為TWD97 (EPSG:3826)。
-
編碼(Encoding):
對於像Shapefile這種純文字屬性的格式,編碼非常重要。建議使用「UTF-8」,可以避免中文字亂碼。
-
選取欄位(Select fields):
您可以選擇只匯出部分屬性欄位,這有助於減小檔案大小,也能保護敏感資訊。
-
儲存選取圖徵(Save only selected features):
如果您只選擇了圖層中的部分圖徵,勾選此選項則只會匯出這些被選取的圖徵。
-
增加儲存的檔案到地圖(Add saved file to map):
勾選此選項,QGIS會在儲存完成後自動將新產生的圖層加載到您的地圖中。這很方便,但如果產生太多臨時檔案,也可能讓圖層面板變得雜亂。
-
格式(Format):
-
執行儲存:
確認所有設定無誤後,點擊「確定(OK)」。
常見圖層儲存格式的深度解析
選擇正確的地理資料格式,就像為您的資料選擇了合適的「家」。這不僅影響資料的儲存效率,也關乎其兼容性、性能和未來的應用。
1. Shapefile (ESRI Shapefile) – 最普及但也問題最多
- 檔案組成: 這是一個「資料夾」而不是單一檔案!它至少由`.shp` (幾何)、`.shx` (索引)、`.dbf` (屬性資料) 三個檔案組成,通常還會有`.prj` (投影資訊)、`.cpg` (編碼資訊) 等。所以,當您要分享一個Shapefile時,必須將其所有相關檔案都一同打包。
- 優點: 極其普及,幾乎所有GIS軟體都支援。
-
缺點:
- 多檔案組成: 管理麻煩,容易遺失檔案。
- 檔案大小限制: 單一檔案不能超過2GB。
- 欄位名稱限制: 欄位名稱最長只能10個英文字元,且不支援特殊字元和空格。
- 編碼問題: 歷史遺留問題多,尤其在處理中文時,如果沒有正確的.cpg檔案或編碼設定,很容易出現亂碼。這是Shapefile最令人頭痛的地方之一。
- 屬性資料類型限制: 對於日期時間、布林值等資料類型支援不佳。
- 我的看法: 雖然它很普及,但除非是接收或提供給仍然只支援Shapefile的老舊系統,我個人已經很少主動使用Shapefile作為主要工作格式了。其限制和易出錯性,在現代GIS作業中顯得有些格格不入。
2. GeoPackage (.gpkg) – QGIS的官方推薦與未來趨勢
- 檔案組成: 這是一個單一的SQLite資料庫檔案。所有的幾何資料、屬性資料、投影資訊、圖層元資料等都包含在這個`.gpkg`檔案內部。
-
優點:
- 單一檔案: 管理和分享極其方便,不會像Shapefile那樣遺失檔案。
- 開放標準: 由開放地理空間聯盟(OGC)維護,是一個開放且跨平台的格式。
- 無限容量: 沒有Shapefile的2GB限制。
- 支援多種資料類型: 可以同時儲存點、線、面圖層,甚至影像(栅格)圖層在同一個.gpkg檔案中。
- 優異性能: 基於SQLite,對於大型資料集有很好的讀寫性能。
- 完善的編碼支援: 原生支援UTF-8,不會有中文亂碼問題。
- 可自定義: 支援SQL查詢,可以像操作資料庫一樣操作。
- 缺點: 較新的格式,部分老舊軟體可能不支援(但主流GIS軟體如ArcGIS Pro、QGIS、GDAL都已全面支援)。
- 我的看法: 強烈推薦! 如果您在QGIS中處理資料,並且沒有特殊兼容性要求,GeoPackage絕對是您的首選格式。我現在幾乎所有專案的圖層輸出都優先考慮GeoPackage,它解決了Shapefile的許多痛點,讓資料管理變得異常簡單。
3. GeoJSON (.geojson) – 網路地圖的寵兒
- 檔案組成: 這是一個純文字的JSON格式檔案,可用文字編輯器打開查看。包含幾何和屬性資訊。
-
優點:
- 可讀性強: 純文字格式,易於理解和編輯。
- 網路友善: 非常適合網路地圖應用,如Leaflet、OpenLayers、Mapbox等,可以直接在瀏覽器端解析。
- 跨平台: 任何支援JSON的程式語言都可以處理。
-
缺點:
- 檔案較大: 相較於二進位格式,純文字會佔用更多儲存空間。
- 性能較差: 對於非常大型的資料集,讀取和解析速度會較慢。
- 只支援WGS84 (EPSG:4326): GeoJSON標準規定必須使用WGS84座標,如果您的原始資料是其他CRS,匯出時會自動轉換。
- 我的看法: 如果您的資料主要是用於Web地圖展示或跨平台資料交換,GeoJSON是一個非常好的選擇。但對於桌面GIS的大型空間分析,GeoPackage會是更好的效能選擇。
4. KML/KMZ (.kml, .kmz) – Google Earth的夥伴
- 檔案組成: KML是純XML文件,KMZ是KML文件和相關資源(如圖片、3D模型)的壓縮包。
- 優點: 適合在Google Earth中展示空間資料,非常直觀且易於分享給非GIS專業人士。
- 缺點: 屬性欄位支援有限,主要用於資料展示而非複雜的空間分析。
- 我的看法: 主要用於特定情境下的展示和分享。
5. GeoTIFF (.tif, .tiff) – 影像資料的標準
- 檔案組成: 單一檔案,包含影像像素值和內嵌的地理參考資訊(如投影、地理坐標、解析度等)。
-
優點:
- 通用性: 幾乎所有處理影像的軟體都支援。
- 資訊豐富: 除了影像本身,還包含完整的地理參考資訊。
- 支援多波段: 可儲存多光譜影像。
- 缺點: 檔案可能非常大,特別是高解析度的影像。
- 我的看法: 處理航照圖、衛星影像、數值高程模型(DEM)等栅格資料時的標準格式,無可取代。
圖層儲存的最佳實踐:我的心得
- 優先GeoPackage: 如前面所述,GeoPackage真的是目前最萬用、最方便的格式,請盡可能將其作為您的預設輸出格式。
- 統一CRS: 在一個專案中,儘量保持所有圖層使用相同的CRS。雖然QGIS可以「即時投影」,但在空間分析或資料匯出時,潛在的投影差異還是可能導致錯誤或精度問題。將台灣地區的專案CRS設定為TWD97 (EPSG:3826) 是一個好習慣。
- 有意義的命名與資料夾結構: 避免使用「圖層1」、「新建Shapefile」這類名稱。給予清晰、有意義的檔名,並建立有條理的資料夾結構,例如按照專案、日期、資料類型來分類。例如:
專案名稱/原始資料/、專案名稱/處理結果/。這會讓您和您的同事在未來更容易找到和理解資料。
QGIS成果匯出:分享您的地圖與分析
當您的地圖製作或空間分析工作告一段落,您可能需要將這些成果以易於分享或印刷的形式匯出。這通常不再是儲存QGIS專案檔或圖層資料檔那麼簡單,而是要將「地圖本身」或是「分析結果」以特定的格式呈現。
地圖佈局匯出:將您的地圖變成圖片或PDF
這是最常見的成果匯出方式。當您想把QGIS中設計好的地圖(包含標題、圖例、指北針、比例尺等)以專業的排版呈現時,會用到「地圖佈局(Print Layout)」。
-
建立地圖佈局:
點擊「專案(Project)」>「新增地圖佈局(New Print Layout…)」或「佈局管理員(Layout Manager…)」。在這裡您可以設計您的地圖排版。
-
匯出選項:
在地圖佈局介面中,您可以找到多種匯出選項:
-
匯出為圖片(Export as Image…):
最常用於網頁展示或簡報。您可以選擇PNG (透明背景,無損壓縮)、JPEG (有損壓縮,檔案小,適合照片)、TIFF (專業印刷,無損壓縮) 等格式。
-
匯出為PDF(Export as PDF…):
最常用於印刷或分享給他人。PDF能保持地圖的向量特性(文字和線條在放大後依然清晰),並且包含圖層資訊,非常專業。
-
匯出為SVG(Export as SVG…):
一種向量圖形格式,可以無限放大而不失真。適合進一步在專業繪圖軟體(如Illustrator)中編輯地圖。
-
匯出為圖片(Export as Image…):
報告與數據匯出:從屬性表提取資訊
有時您可能不需要地圖,而只需要圖層的屬性資料,例如一份包含所有城市人口的表格。
-
打開屬性表:
在「圖層」面板中,右鍵點擊您想要的圖層,選擇「打開屬性表(Open Attribute Table)」。
-
匯出屬性表:
在屬性表介面中,點擊工具列上的「將選取圖徵儲存為…(Save Selected Features As…)」或「將所有圖徵儲存為…(Save All Features As…)」按鈕。
-
選擇格式:
您可以選擇匯出為CSV (逗號分隔值,最通用,可用Excel打開)、XLSX (Excel工作表)、ODS (OpenDocument Spreadsheet) 等格式。這對於將空間資料的屬性部分交給非GIS專業人員處理非常有用。
QGIS儲存的常見陷阱與排解:我的實戰經驗分享
儘管QGIS的儲存機制看似簡單,但在實際操作中,還是有一些常見的「坑」會讓使用者困擾。身為一位經常需要處理GIS資料的專業人士,我整理了一些我經常遇到並解決的問題,希望能幫助你避開這些雷區。
陷阱一:專案打不開或圖層遺失的「問號」
-
問題描述:
你打開一個QGIS專案檔,卻發現地圖上空蕩蕩的,或者圖層面板裡一片紅色問號,顯示「無法找到圖層」或「圖層無效」。這正是開頭我朋友遇到的狀況。
-
原因分析:
這幾乎100%是因為圖層的路徑變更了。
- 絕對路徑問題: 你可能是在A電腦上建立了專案,使用了絕對路徑,然後把專案檔單獨複製到B電腦或另一個資料夾,但沒有一併移動圖層資料。QGIS在B電腦上找不到A電腦的路徑,自然就顯示問號了。
- 重新命名/移動圖層檔: 你可能在QGIS外部,直接重新命名了圖層檔案,或者把圖層檔案從一個資料夾移動到了另一個資料夾。
- 網路磁碟機斷線: 如果你的圖層資料儲存在網路磁碟機上,而該磁碟機斷線或路徑發生變化,也會發生此問題。
-
排解方法:
- 重新指定路徑: 在QGIS圖層面板中,右鍵點擊帶有紅色問號的圖層,選擇「修正資料來源(Fix Data Source…)」,然後手動找到正確的圖層檔案。如果一個專案裡有多個圖層丟失,可以嘗試找到其中一個,QGIS有時會聰明地問你是否要自動更新同資料夾下的其他圖層路徑。
- 使用相對路徑: 從一開始就養成在「專案(Project)」>「專案屬性(Project Properties)」>「一般(General)」中,將「儲存路徑(Save paths)」設定為「相對(Relative)」的好習慣。
- 打包專案: 當你要分享或移動專案時,務必將整個專案資料夾(包含專案檔和所有相關圖層檔案)一同複製。QGIS也有一個「專案(Project)」>「打包專案(Archive Project)」功能,可以將專案及其依賴的所有檔案打包成一個壓縮檔,非常方便。
陷阱二:暫存圖層沒儲存就關閉QGIS
-
問題描述:
你辛辛苦苦跑了一堆地理處理工具,產生了許多新圖層(通常圖層名稱旁會帶有「記憶體圖層」或「暫存圖層」的圖示),結果興高采烈地關閉QGIS,下次打開卻發現這些圖層都不見了!
-
原因分析:
這些圖層只是臨時儲存在電腦的記憶體中,或QGIS的暫存檔案中。它們的生命週期只存在於你當前開啟QGIS的那段時間。沒有執行「匯出 > 儲存圖層為…」的動作,它們就不會被永久保存下來。
-
排解方法:
- 養成儲存習慣: 只要你看到圖層名稱旁有「記憶體圖層」或「暫存圖層」的圖示,就一定要意識到:「這不是永久的!」一旦它對你有用,務必立即右鍵點擊該圖層,選擇「匯出(Export)」>「儲存圖層為…(Save Features As…)」,並選擇一個永久的檔案格式(強烈推薦GeoPackage)。
- 利用「處理歷史」: 如果你真的不小心關閉了,而且沒有刪除QGIS的暫存檔案(通常在C:\Users\你的使用者名稱\AppData\Local\Temp\QGIS3),有時候還有一線生機。你可以在「處理(Processing)」>「歷史紀錄(History)」中找到之前執行的工具,重新執行一次(如果輸入資料還在的話),或者查看其中是否有指向暫存檔案的線索。但這通常是最後的手段,不是可靠的備份方式。
陷阱三:Shapefile屬性資料的中文亂碼
-
問題描述:
你打開一個Shapefile的屬性表,發現中文字全部變成亂碼,例如「□□□」或奇怪的符號。
-
原因分析:
Shapefile格式在設計時沒有內建完善的編碼資訊。不同的Shapefile可能使用了不同的編碼(例如Big5, GBK, UTF-8等),而QGIS在打開時如果沒有正確猜測或指定其編碼,就會出現亂碼。
-
排解方法:
- 手動指定編碼:
- 在QGIS中加載Shapefile時,在「資料來源管理員(Data Source Manager)」的「向量圖層(Vector Layer)」選項卡中,有一個「編碼(Encoding)」選項。嘗試在這裡選擇正確的編碼,例如「UTF-8」或「Big5 (CP950)」。
- 如果圖層已經加載進來了,可以右鍵點擊圖層,選擇「圖層屬性(Layer Properties)」>「來源(Source)」,在「編碼(Data source encoding)」下拉選單中修改。
- 使用GeoPackage:
這是釜底抽薪的辦法。將所有的Shapefile轉換為GeoPackage格式。GeoPackage原生支援UTF-8,且設計時就考慮到了編碼問題,可以徹底杜絕這種亂碼困擾。這也是為什麼我一直推薦GeoPackage的原因之一。
- 手動指定編碼:
建立穩固的QGIS儲存與備份策略:我的實戰經驗
資料安全是GIS工作中最重要的環節之一。我的經驗告訴我,一套行之有效的儲存與備份策略,能讓你在面對突發狀況時,將損失降到最低。
1. 規劃合理的資料夾結構
在開始任何QGIS專案前,花幾分鐘時間規劃一個清晰、有條理的資料夾結構。這不僅有助於管理資料,也能有效避免路徑問題:
/專案名稱//原始資料/(存放從外部獲取的原始圖層資料,不做任何修改)/處理結果/(存放您在QGIS中分析、處理後產生的新圖層)/專案檔/(存放.qgz或.qgs專案檔)/匯出成果/(存放地圖佈局匯出的圖片、PDF等)/文件/(存放相關報告、文字說明等)
我的做法: 我會在/專案名稱/專案檔/底下存放主要的.qgz檔,並確保這個.qgz檔設定為相對路徑。這樣,當我需要將整個專案資料夾複製到筆電或分享給協作者時,對方打開專案就能直接看到所有圖層,無縫銜接。
2. 運用雲端同步服務,但要留意!
使用Dropbox、Google Drive、OneDrive等雲端同步服務來儲存您的QGIS專案和資料非常方便,能提供即時備份和多設備同步功能。
- 優點: 數據安全有保障(自動版本控制、防意外刪除),多設備協作便利。
-
注意事項:
- 路徑穩定性: 確保您的雲端同步資料夾在所有電腦上的路徑是穩定的。例如,如果您在A電腦是「C:\Users\您的名稱\Dropbox\GIS專案」,而在B電腦變成「D:\Dropbox\GIS專案」,那麼如果您沒有使用相對路徑,您的專案還是會找不到圖層。
- 檔案鎖定: 有些雲端服務在檔案同步時可能會暫時鎖定檔案,這有時會導致QGIS在儲存時出錯。因此,在進行大檔案操作時,最好確保雲端同步已完成或暫時關閉。
3. 定期手動備份與版本控制
除了自動儲存和雲端同步,手動備份仍然不可或缺,特別是在進行重大修改或里程碑時。
-
增量備份:
當您完成一個階段的工作,或者進行某個會產生大量修改的分析前,可以將當前的專案檔和關鍵圖層複製一份,並在檔名後加上日期或版本號,例如
我的專案_20231026_v1.qgz。這能讓您在遇到問題時,隨時回溯到之前的版本。 -
異地備份:
將最重要的資料備份到另一個硬碟、NAS或外部儲存裝置。這是防範電腦硬體故障、病毒攻擊或意外刪除的最後一道防線。我個人的習慣是將所有GIS資料儲存在一台NAS上,並定期同步到外接硬碟。
-
Git版本控制(進階):
如果您是程式開發者或團隊協作,可以考慮使用Git來管理QGIS專案檔(.qgs是XML,適合版本控制,.qgz較難直接比較差異)和腳本。這能讓您追蹤每一次的修改,並方便團隊成員之間的協作。不過對於GeoPackage這類二進位檔案,Git的效用有限。
QGIS儲存的常見問題 (FAQ)
Q1: 為什麼我的QGIS專案檔 (.qgz 或 .qgs) 很小,但打開卻有很多資料?
這個問題其實解答了QGIS儲存的核心概念!QGIS的專案檔(.qgz或.qgs)本身並不包含實際的地理圖層資料。它只是一個「索引」或「藍圖」,記錄了:
- 您的圖層檔案儲存在哪裡(路徑)。
- 這些圖層應該用什麼顏色、符號、標籤來顯示。
- 地圖的顯示範圍、比例尺、地圖佈局等設定。
所以,當您打開專案檔時,QGIS會根據專案檔中記錄的路徑,去讀取那些實際的地理資料檔案(例如Shapefile、GeoPackage、GeoTIFF等)。這就解釋了為什麼專案檔本身可能只有幾KB甚至幾MB,但當它載入大量高解析度影像或複雜向量資料時,看起來內容非常豐富。
這也再次提醒您,分享QGIS專案時,務必將專案檔和它所連結的所有圖層資料一同打包,否則對方就會面臨「圖層遺失」的問題。
Q2: 暫存圖層沒儲存就關閉QGIS會怎麼樣?這些資料還能找回來嗎?
很抱歉,如果暫存圖層在關閉QGIS前沒有明確執行「匯出 > 儲存圖層為…」的動作,那麼這些資料通常就永久丟失了。
暫存圖層的設計初衷就是用於臨時性的中間分析結果。它們存在於電腦的記憶體中,或少部分寫入QGIS的臨時資料夾。一旦您關閉QGIS,這些臨時資料就會被清空。
雖然理論上,某些作業系統的資料恢復工具可能能在短時間內找回一些臨時檔案片段,但這非常不可靠,而且找回的資料可能已損壞或不完整。因此,最好的做法是養成隨時儲存有價值暫存圖層的習慣。如果資料非常重要,在生成後立即儲存為永久性的GeoPackage檔案,才是萬全之策。
Q3: 匯出GeoJSON或KML時,為什麼屬性資料容易出現亂碼?
在匯出GeoJSON或KML時,中文字亂碼的問題相對較少見,但仍可能發生,通常與以下幾個因素有關:
- 原始資料的編碼問題: 如果您原始的圖層資料(例如Shapefile)在加載到QGIS時就已經存在編碼問題(中文字是亂碼),那麼您將它匯出為GeoJSON或KML時,亂碼會被「繼承」過去。解決辦法是先修正原始圖層的編碼(如QGIS圖層屬性中的「來源」選項),確保在QGIS中顯示正常後再匯出。
- QGIS版本或驅動問題: 極少數情況下,可能是QGIS版本或底層GDAL/OGR驅動的問題。確保您的QGIS是最新穩定版本。
- 讀取軟體的問題: 有時候匯出的檔案本身沒問題,但您用來打開GeoJSON或KML的文本編輯器或瀏覽器沒有正確識別其UTF-8編碼。試試用不同的文本編輯器打開,或確保瀏覽器設定為UTF-8編碼。
相較於Shapefile,GeoJSON和KML原生支持UTF-8編碼,因此只要原始資料在QGIS中顯示正常,匯出後出現亂碼的機率會大大降低。如果遇到,通常是原始資料的問題居多。
Q4: 什麼情況下我應該使用GeoPackage而不是Shapefile?
我的建議是:在大多數情況下,都應該優先使用GeoPackage,而不是Shapefile!
以下是GeoPackage明顯優於Shapefile的情況:
- 管理和分享: GeoPackage是一個單一檔案,管理和分享極其方便。相較之下,Shapefile由多個檔案組成,容易遺失或混淆。如果您需要經常與他人交換GIS資料,GeoPackage能省去很多麻煩。
- 資料量大: Shapefile有2GB的檔案大小限制,且對欄位數量、名稱長度都有嚴格限制。GeoPackage則沒有這些限制,能更好地處理大型、複雜的資料集。
- 避免中文亂碼: GeoPackage原生支援UTF-8編碼,能夠完美處理中文字符,徹底避免了Shapefile常見的中文亂碼問題。
- 資料類型和結構多樣性: GeoPackage可以儲存點、線、面等多種類型的向量資料,甚至栅格資料,以及豐富的屬性資料類型(日期時間、布林值等),且所有這些都可以存在同一個.gpkg檔案中。它更像是一個輕量級的空間資料庫。
- 性能要求: 對於頻繁讀寫和複雜查詢,GeoPackage基於SQLite的底層架構通常能提供更好的性能。
唯一您可能「不得不」使用Shapefile的情況是:
- 您需要與一個只支持Shapefile的舊版GIS軟體或系統進行資料交換。
總之,GeoPackage是目前更現代、更開放、更強大、更易於管理的地理空間資料格式。如果您沒有舊系統兼容性的顧慮,請毫不猶豫地擁抱GeoPackage!
Q5: 我的QGIS專案經常打不開或圖層遺失,該怎麼辦?
這是一個困擾許多QGIS使用者的痛點。我的經驗是,大多數情況都與圖層路徑管理不當有關。以下是您應該檢查並採取行動的重點:
-
優先使用相對路徑:
這是首要原則!請確保您的QGIS專案設定為使用相對路徑。檢查方式:「專案(Project)」>「專案屬性(Project Properties)」>「一般(General)」分頁下,「儲存路徑(Save paths)」應設定為「相對(Relative)」。一旦設定,未來您在專案中載入的圖層,其路徑都會以專案檔的位置為基準進行記錄。
-
保持專案資料夾結構的完整性:
將您的QGIS專案檔(.qgz/.qgs)和所有相關的圖層資料檔案(.gpkg, .shp, .tif等)都放在一個主資料夾內。當您需要移動或分享專案時,請務必複製整個主資料夾。不要只複製專案檔本身,然後期望圖層會自動出現。
-
避免在QGIS外部移動或重命名檔案:
一旦圖層檔案被加載到QGIS專案中,它們的路徑就被記錄下來了。如果您在檔案總管(Windows)或Finder(macOS)中,直接移動、重命名或刪除這些圖層檔案,QGIS專案將無法再找到它們。如果需要調整,盡量透過QGIS的「儲存圖層為…」功能進行複製和新命名,然後再在檔案總管中刪除舊檔案。
-
修正資料來源:
如果專案已經出現圖層遺失,不要慌張。在QGIS圖層面板中,右鍵點擊每個帶有紅色問號的圖層,選擇「修正資料來源(Fix Data Source…)」,然後手動導航到該圖層檔案的新位置。QGIS在成功修正一個圖層後,可能會詢問您是否要自動修正同一個資料夾內的其他遺失圖層,這會省下很多時間。
-
定期備份:
無論您的資料管理多麼小心,意外總會發生。養成定期備份專案和重要圖層的習慣(複製一份到另一個磁碟或雲端)。特別是在完成重要里程碑或進行大規模分析之前,手動備份是您的最佳保險。

