
簡介地理信息系統GIS中矢量數據以點線面精確表達地理要素而Shapefileshp是應用最廣泛的矢量格式之一。通過理解shp的文件結構、坐標系與屬性編碼可以高效處理基礎地理數據。例如全國地貌shp數據可作為國土空間規劃、生態評價等分析的底圖顯著減少預處理成本。在實際應用中常需進行shp轉3dtiles以進入三維場景或通過漁網分割shp實現網格化統計。此外shp轉CAD、shp轉txt等格式轉換也屬高頻需求而中文亂碼、坐標偏移等問題則需借助cpg文件與投影轉換解決。掌握這些方法能大幅提升GIS數據使用效率。1. 項目概述這份全國地貌shp數據到底能干什么做GIS這行繞不開一份能直接用的基礎地理數據。以前想在項目里加一層地貌底圖要么去各種數據網站東拼西湊要么拿著柵格DEM自己分類提取費時費力還不一定準。直到我拿到這份“全國地貌分布shp矢量圖層數據”才算是真正省下了一大半的預處理時間。它把全國范圍的地貌類型按面要素整整齊齊地切好平原、丘陵、山地、高原、盆地這些大類以及對應的亞類全部落到矢量圖層里直接用ArcGIS或者QGIS打開就能疊圖、統計、出圖。這份數據適合誰用如果你是做國土空間規劃、生態評價、農業區劃、地質災害風險評估或者單純想在項目里加一層全國尺度的地貌底圖那它非常合適。做地理教學、區域研究的人也一樣能拿它當基礎底圖。它對新手很友好——不需要懂遙感分類不需要寫代碼拿到shp拖進軟件里就能看到結果對老手來說它又是一個可以省掉大量重復工作的基礎數據源。這份數據的價值在于不需要再為“全國地貌”這件事專門跑一次數據生產流程直接在此基礎上做分析、出成果。好下面我把拿到這份數據后的完整實操過程、技術細節和踩坑記錄都寫出來。從數據包結構講到字段含義從加載到轉換從統計到拆分盡量把能想到的都覆蓋到尤其是那些網上資料很少講但實際經常出的問題。2. 數據整體設計與結構拆解2.1 shp文件包里的基礎構成很多人拿到shp文件看到一坨后綴不同的文件就懵了。這里必須先把Shapefile的文件結構說清楚因為接下來所有操作都離不開這個基礎認知。一份完整的Shapefile至少由三個文件組成.shp幾何信息記錄每個面要素的坐標和形狀、.shx索引文件讓軟件能快速定位幾何記錄、.dbf屬性表記錄每個面要素的字段值。這三個文件缺一不可缺了任何一個shp都打不開或顯示不全。除了這三個基礎文件我這份地貌數據還帶了幾個額外的輔助文件.prj投影信息文件記錄坐標系和投影參數。沒有它軟件會默認用WGS84經緯度坐標來讀很可能讓要素位置跑偏。.cpg字符編碼聲明文件里面寫的是UTF-8或者GBK告訴軟件用哪種編碼去讀dbf里的中文屬性。這個文件特別容易被忽略但恰恰是中文亂碼問題的根源。.sbn/.sbx空間索引文件能加快大數據量的查詢速度。.xml元數據文件記錄了數據的來源、修訂日期、坐標系等說明信息。我把這份數據包里的字段列了個表方便對照理解字段名類型說明FID整型要素編號軟件自動生成Shape幾何面要素Polygon類型一級代碼文本地貌大類編碼如P表示平原、Q表示丘陵、M表示山地一級類型文本地貌大類中文名如平原、丘陵、山地、高原、盆地二級代碼文本細分地貌編碼如P1表示沖積平原、M2表示中低山二級類型文本細分地貌中文名面積_km2雙精度該面要素的面積單位平方公里周長_km雙精度該面要素的周長單位公里這里要特別說一下“面積_km2”這個字段。有些朋友拿到shp以后喜歡直接打開屬性表把那列“面積_km2”加起來作為某個區域的地貌總面積這個做法在這份數據里問題不大因為數據生產者已經做好了面積預計算。但如果你自己從別的數據源轉過來的shp沒有這個字段那我建議用軟件自帶的計算幾何功能重新算一遍千萬別用默認的Shape_Area字段——那個字段使用的是數據自身的投影坐標系單位不一定是平方公里尤其是經緯度坐標系下它算出來的是度不是米數值完全不能用。2.2 坐標系與投影這份數據用的是哪一種打開我這份全國地貌數據默認加載進來后我建議第一時間查看它的坐標系。正常情況下這份數據應該采用CGCS2000國家大地坐標系投影是蘭伯特等角圓錐投影Lambert Conformal Conic中央經線105°E標準緯線25°N和47°N。這套參數是全國尺度數據常用的配置因為蘭伯特投影在中緯度地區變形小特別適合像中國這樣跨緯度范圍大的國家。有朋友拿到shp之后發現右下角沒有顯示坐標或者顯示的是度分秒就以為是數據亂了。其實不是這是軟件讀取方式的問題。你在ArcGIS里右鍵圖層選擇“屬性—源”就能看到完整的坐標系描述。如果這里顯示的是GCS_WGS_1984那說明這份數據在發布時保留了原始經緯度坐標沒有套投影。我給兩個選擇一是直接沿用WGS84經緯度適合做全國范圍的小比例尺概覽圖二是自己重新投影到蘭伯特或阿爾伯斯Albers等積圓錐投影適合做面積統計和區域分析。實際操作中我踩過一個坑有段時間我拿這份數據跟縣域邊界做疊加統計發現面積總是對不上后來檢查了一下問題出在兩者坐標系不一致——地貌數據是WGS84經緯度縣域邊界是CGCS2000高斯投影ArcGIS雖然能實時投影但計算面積時如果沒統一坐標系結果就會偏差很大。所以跨數據疊加之前先統一坐標系是鐵律。shp數據做投影轉換我一般用這兩條路在ArcGIS Pro里用“投影”工具選好目標坐標系注意要選“投影”不是“定義投影”——“定義投影”只是給數據打一個坐標系的標簽并不會改變坐標數值用錯的人實在太多了。在QGIS里右鍵圖層選擇“導出—要素另存為”在CRS那欄選目標坐標系QGIS會自動做坐標轉換比ArcGIS的流程更直觀。2.3 數據精度與切割粒度我特別想強調一點這是一份全國范圍的中比例尺數據不是高精度地籍數據。它的空間分辨率屬于“宏觀分析可用微觀定位不夠”的級別。用它在全國尺度上看地貌格局沒問題做地級市級別的粗略統計也能接受但你要是想拿它去分析一個村莊或者一塊具體的地塊那就不合適了——邊界會和實際地形差得比較遠因為制圖綜合已經把很多小圖斑合并掉了。數據里的面要素切割粒度挺講究的。地貌類型的邊界不像行政區劃那樣有明顯的界碑它更多是依據坡度、海拔、起伏度這些地形指標劃出來的。比如平原和丘陵的界限通常是按海拔200米左右來切丘陵和山地的界限通常看相對高差和坡度。不同數據源的劃分標準有細微差異所以如果你拿這份地貌數據和其他單位的地貌圖對比會發現邊界位置不完全一樣這是正常現象不是數據錯了。3. 拿到shp后第一時間要做的三件事3.1 正確打開shp文件的方式先說ArcGIS怎么打開shp。有朋友雙擊shp文件卻沒反應或者系統彈出“找不到可打開的程序”就來問我。實際上ArcGIS打開shp的正確方式不是雙擊而是先啟動軟件再在“目錄”面板里定位到shp文件所在文件夾把它拖到地圖窗口里。或者用“添加數據”按鈕選擇shp文件。ArcGIS作為ESRI的軟件對雙擊打開這個操作默認支持得不好。QGIS打開shp就友好得多可以直接把shp文件拖進QGIS窗口它會自動加載并匹配坐標系沒有那么多限制。如果拖進來之后圖形位置不對多半是prj文件缺失或損壞手動設置圖層坐標系選擇WGS84或者CGCS2000就可以。打開以后先別急著分析我習慣先做一個目視檢查按屬性表里的“一級類型”字段渲染一下看看平原、山地這些類型是否分布合理——東部平原、西部高原山地這是大格局如果顏色分布亂七八糟比如平原出現在青藏高原腹地那就要懷疑數據源或者投影出問題了。3.2 中文亂碼問題的根源與處理打開屬性表發現中文全是“錕斤拷”或者“問號”這是很多初學者的噩夢。這個問題基本出在cpg文件上。dbf文件本身自帶一個編碼標記但如果cpg文件缺失或者內容寫錯了軟件就不知道怎么解碼中文。我以前處理過一份從網上下載的shp屬性表全是亂碼。排查過程是這樣的先用記事本打開cpg文件發現里面寫的是“ANSI”但實際數據是UTF-8編碼所以怎么讀都是亂的。把cpg改成UTF-8重新打開屬性表恢復正常。如果你手上那份shp連cpg文件都沒有有兩個處理辦法在QGIS里打開shp時會彈出“選擇編碼方式”的窗口手動選UTF-8或GBK試到屬性表顯示正常為止。在ArcGIS里沒有可視化的編碼選擇但可以先把dbf用Excel打開Excel能按編碼讀dbf亂碼時用WPS或記事本改編碼后另存。這個方法不如在QGIS里處理來得直接所以遇到亂碼我第一個想到的還是QGIS。3.3 屬性表與字段檢查清單打開屬性表后我建議按這個清單過一遍總要素數量是否跟數據說明一致。比如說明里寫了全圖7850個面要素結果你一數只有7600個那可能是加載時被過濾了或者是原數據本身有問題。每個字段是否都有值有沒有大量Null。特別是“一級類型”“二級類型”這些核心字段如果出現大面積空值對后續統計就是災難。檢查面積字段的最大最小值是否在合理范圍。比如最小值是0或者負值說明有些面要素的自相交或拓撲錯誤需要修復。用“修復幾何”工具可以批量處理這一類問題。做完這三步數據基本處于可用的狀態接下來才進入真正的分析和應用環節。4. 地貌數據的典型應用實操4.1 按行政區統計地貌面積占比這是GIS工作里最常見的需求想知道某個省、某個市或者某條河流流域范圍內各種地貌類型各占多少面積。操作邏輯不復雜但步驟里有不少細節值得注意。我習慣用ArcGIS Pro的工具箱完成這個任務。先加載行政區劃邊界和地貌數據然后執行“相交Intersect”工具。注意這里的“相交”不是簡單地把兩個圖層疊在一起看而是生成一個新圖層這個圖層把兩個輸入圖層的屬性都保留下來幾何上按邊界重新切割。舉個例子如果一個縣域邊界橫跨了平原和低山丘陵兩種地貌相交之后這個縣會變成兩個面要素一個標注平原一個標注低山丘陵面積也按實際切割后的大小重新計算。相交完成之后在結果圖層上右鍵打開屬性表你會發現FID、一級類型、縣名這些字段都在一起。接下來做一個匯總統計我一般用“按屬性選擇”加“匯總統計數據”的組合在“摘要統計”工具里選擇“一級類型”作為分組字段選擇“面積_km2”作為統計字段統計類型選“總和”。輸出的表格里就會列出每種地貌類型在該區域內的總面積。如果想按縣域分別統計那分組字段就不只選“一級類型”而是先按“縣名”分組再按“一級類型”分組輸出結果就是每個縣每種地貌的面積矩陣。這個操作里的關鍵點是統計之前一定要確保數據在等積投影坐標系下。我前面提過如果數據是WGS84經緯度直接用面積字段會出問題。在相交之前先把源數據用“投影”工具轉成Albers等積投影再用投影后的數據做相交和統計這樣面積結果才可信。我的習慣參數是中央經線105°E標準緯線25°N和47°N。4.2 用漁網分割shp做局部網格化統計“漁網分割shp”在熱搜詞里出現次數不少這其實是一個很實用的空間分析手段。比如你想把全國地貌數據按1公里乘以1公里的網格切分統計每個網格內的主要地貌類型或者為后續建模準備網格化的特征輸入。漁網工具在ArcGIS里叫“創建漁網Create Fishnet”在QGIS里叫“創建網格Create Grid”。操作步驟在ArcToolbox里找到“數據管理工具—采樣—創建漁網”。設置漁網范圍。這里有技巧最好選擇“與圖層范圍相同”讓漁網完全覆蓋地貌數據的邊界范圍不要手動輸入坐標范圍否則容易留白。設置像元寬度和高度。注意這里單位是地圖單位如果你的數據是投影坐標系那單位是米如果是經緯度那單位是度。1公里乘以1公里的網格在投影坐標系下就是寬高均設1000。生成漁網后用“面相交”工具把漁網和地貌數據做疊加輸出結果就是每個網格碎片上的地貌類型。最后用“匯總統計”能算出每個網格里不同地貌的面積比例或者用“標識Identity”工具直接把地貌類型賦給每個網格。實際使用中我提醒一句創建漁網的時候留意“創建標注點”那個選項默認是勾選的會同時生成一個點圖層如果不需要就取消勾選否則輸出里多一堆沒用的點要素。4.3 全國地貌圖的制圖技巧拿到好數據不出圖就虧了。地貌制圖其實很有講究我這里說幾個我實際操作中驗證過比較管用的技巧第一分類渲染時用“一級類型”字段選擇冷色和暖色對比方案。比如平原用綠色系丘陵用黃色系山地用棕色系高原用紅色系盆地用灰色系。這種配色符合地圖學的視感習慣也容易被領導和甲方接受。ArcGIS的符號系統里符號庫自帶一套“地貌”分類樣式但說實話那套配色偏老氣我一般自己手動調。第二如果想要更精細的效果可以用“二級類型”渲染但圖例會非常長。我的做法是出兩級比例尺圖小比例尺全國圖用一級類型大比例尺局部圖再用二級類型。第三圖層疊加順序上地貌數據作為底圖應該放在行政邊界之下、遙感影像之上。這樣能保證邊界線清晰又不會蓋住地貌面要素的底色。再配合一個半透明效果把等高線或者水系疊上去整張圖會很有層次感。第四導出圖片時分辨率至少300dpi否則地貌邊界放大看全是鋸齒。在ArcGIS Pro里“布局—導出”時記得把“抗鋸齒”質量調到高。5. 系列格式轉換實操記錄5.1 shp轉3dtiles把地貌數據拉進三維場景熱搜詞里“shp轉3dtiles”排在第一位。確實現在傾斜攝影、三維GIS項目越來越多很多單位想把二維的shp數據變成三維場景里能疊加的圖層。shp轉3dtiles的思路不復雜就是把面要素抽稀成三角網并附帶屬性信息再按LOD金字塔方式切片輸出成3dtiles格式供Cesium等前端加載。我的操作流程是先用QGIS把shp投影到Web Mercator坐標系EPSG:3857因為3dtiles場景里經常配合在線影像底圖在線底圖普遍是這個坐標系。進入CesiumLab的“通用切片”模塊選擇“矢量數據”輸入選擇剛才那個投影后的shp文件。設置切片參數。LOD層級一般從0到16地貌數據是大范圍面數據起始層級可以設置得低一些比如從4開始減少瓦片數量。選擇屬性字段輸出。切片時可以把“一級類型”和“面積_km2”寫成屬性前端點擊每個面就能彈出屬性框。切片完成后把輸出的tileset.json和一個瓦片目錄發布到靜態服務器在Cesium里用Cesium3DTileset加載就好。如果你不想裝桌面工具純命令行也有辦法可以用shp2tiles這類開源工具直接轉換但參數調整的靈活度不如桌面工具出圖效果看運氣。我的建議是只轉一個省級或者小范圍區域時可以直接命令行處理全國范圍的數據建議用桌面工具因為瓦片數量大命令行工具的默認抽稀設置容易讓邊界變模糊。5.2 批量shp轉CAD做規劃、設計這行的人經常會碰到“把shp轉成CAD”的需求。規劃局給的成果是shp但設計院的小伙只用CAD格式必須轉換。ArcGIS自帶“導出至CAD”功能但這個功能一次只能導出一個圖層。如果你有幾十個shp文件手動一個個導會崩潰。批量操作我建議用Python腳本在ArcGIS Pro的Python窗口里直接寫循環import arcpy import os in_folder rD:\shp_data # 存放shp的文件夾 out_folder rD:\cad_output # 輸出CAD的文件夾 os.makedirs(out_folder, exist_okTrue) for shp in arcpy.ListFeatureClasses(*.shp, , in_folder): out_dwg os.path.join(out_folder, os.path.basename(shp).replace(.shp, .dwg)) arcpy.ExportCAD_conversion(shp, DWG_R2018, out_dwg, OVERWRITE_EXISTING) print(f轉換完成: {os.path.basename(shp)})跑一遍下來文件夾里所有shp就都變成dwg了。這里提醒幾個點導出CAD的版本參數“DWG_R2018”要根據你目標CAD的版本選。選太低版本高版本CAD打開沒問題但會丟失一些細節選太高版本低版本CAD打不開。CAD里默認沒有“面”概念shp里的面要素轉過去后會變成閉合的多段線LWPOLYLINE填充和圖案都沒有需要自己在CAD里補。屬性字段轉過去后CAD里默認不會顯示文字標注。想在CAD里直接看到地貌類型名稱可以用“注記”方式導出但會生成大量文本對象文件體積會大不少。我的建議是導出CAD后在CAD里用“提取線”加“標注”兩步補充。5.3 shp轉txt/測定界shp轉txt工具“測定界shp轉txt工具.tbx”是地籍測量領域經常會用到的東西。土地勘測定界的時候測量單位通常需要提交txt格式的界址點坐標成果表而采集數據往往是用shp存的面狀宗地。txt里要的內容一般是點號、X坐標、Y坐標、邊長、角度。手動從shp屬性表復制坐標到txt那是“身體在地獄”的活兒尤其是幾百個界址點的情況下。我找到一個比較靠譜的辦法在ArcGIS Pro里先用“要素折點轉點”工具把面要素的每個頂點提取成點要素。用“添加Geometry屬性”工具給這些點添加經緯度坐標字段。然后打開屬性表全選右鍵復制粘貼到Excel里整理再導出為txt。這個流程能跑通但有點繞步驟多容易出錯。更正規的做法是直接用ArcGIS的“Excel表格轉文本”配合VB腳本或者直接寫Python讀取面要素的幾何坐標輸出為標準的TXT格式。我分享一個Python片段它可以遍歷每個面要素的頂點點位按“點號 X Y”的格式寫入txtimport arcpy fc rD:\data\界址.shp out_txt rD:\data\界址.txt with open(out_txt, w, encodingutf-8) as f: with arcpy.da.SearchCursor(fc, [SHAPE]) as cursor: for row in cursor: geom row[0] for part in geom: for point in part: if point: f.write(f{point.ID}, {point.X:.3f}, {point.Y:.3f}\n) print(轉換完成)如果你連Python也不想寫有的GIS論壇里能搜到“shp轉txt.tbx”這種現成工具箱下載下來放到ArcToolbox里直接掛載使用本質上是封裝好的腳本我用過一次能用但處理大數據量時速度偏慢。5.4 dxf轉shp反向操作也常見說完shp轉CAD反向的dxf轉shp也經常碰到。有些人從設計院拿到的圖是CAD格式CAD里的地塊是閉合多段線但沒有屬性字段要轉成shp用來做空間分析。QGIS里處理這個最方便直接把dxf拖進QGIS它會識別出多個圖層選擇你需要的那個面圖層右鍵導出為shapefile。如果CAD里的閉合多段線在導出后被識別成線而不是面需要先運行“修復幾何”工具或者使用“多邊形化Polygonize”工具把閉合線轉成面。這里有個老生常談的坑CAD文件里如果有多層嵌套塊引用直接導入QGIS時塊里的圖形不會自動展開。你需要先在CAD里用“分解”Explode命令把塊炸開再存成dxf再導入QGIS這樣才能轉出干凈的shp。5.5 SU導入shpSketchUp里的地形底圖“su怎么導入shp”這個搜索詞說明還真有不少人在SketchUp里用GIS數據。做法也不復雜SketchUp本身不直接支持shp需要借助插件。網上比較流行的做法是裝“SketchUp ESRI”插件或者用QGIS先把shp導出為KML/KMZ格式然后在SketchUp里用“導入KML”功能加載。KML導入后面要素會變成帶紋理的閉合面可以在上面繼續建模。如果你的目標是生成三維地形那直接用DEM數據轉成TIN再導入SketchUp會更靠譜。shp地貌數據更適合當“貼圖底圖”用——先把地貌shp轉到KML加載到SketchUp里定位然后在上面畫建筑輪廓。這個工作流用到不少項目里算是比較成熟的組合。6. 常見問題與排查技巧實錄6.1 問題速查表平時在群里被問到最多的問題都是shp文件操作里的通病我整理了一個速查表按癥狀找藥癥狀原因解決辦法文件拖進軟件但不顯示圖形缺少shx或dbf文件或者shp坐標范圍異常檢查三個基礎文件是否齊全用“數據檢查”工具掃描屬性表中文全是亂碼cpg文件缺失或編碼聲明錯誤用QGIS重新選擇編碼打開或用記事本檢查cpg內容顯示位置偏移至非洲/海上prj文件缺失或坐標系定義錯誤手動設置正確的坐標系不要輕易選“定義投影”面積統計結果明顯偏小/偏大坐標系是經緯度使用了錯誤的面積字段投影到等積坐標系后重新計算面積面要素邊界有自相交或縫隙原始數據拓撲錯誤用“修復幾何”工具批量修復導出CAD后要素屬性丟失CAD格式不支持dbf屬性直接嵌入用注記方式導出或在CAD中手動標注6.2 ArcGIS Pro里怎么把shp按屬性拆分“arcgispro怎么把shp拆分”在熱搜里的熱度不低。拆分需求通常是這樣的一份全國地貌shp想按省、按市、或者按地貌類型拆分成多個獨立文件。拆分有幾種思路我按推薦程度排按屬性拆分為多個文件用“按屬性分割Split by Attributes”工具輸入shp選擇拆分字段比如“一級類型”工具會為字段里的每個唯一值生成一個新shp文件。比如“一級類型”里有5種地貌就會輸出5個shp。這是最簡單的方法我常用。按位置裁剪拆分如果你有一張縣級邊界想裁剪出本縣域的地貌數據用“裁剪Clip”工具輸入要素是地貌shp裁剪要素是縣域邊界輸出只保留縣域范圍內的部分。按范圍拆分成區塊如果數據量巨大分析時內存不夠可以先用“創建漁網”生成網格然后用“裁剪”工具把數據按網格切成多個小塊分塊處理。“按屬性分割”里有個小細節輸出命名規則默認是“原文件名_字段值.shp”但字段值如果是中文在部分操作系統上文件名會出亂碼建議在運行前把字段值替換為拼音或數字編碼導出后再映射回中文名稱。6.3 shp文件導出時缺失cpg文件的處理熱搜詞里有一條很具體“shp文件導出的時候沒有cpg文件是怎么回事”。這個現象在ArcMap里導出國標數據時很常見。原因其實不復雜ArcMap在導出shp時如果源數據的dbf字符編碼是雙字節或者中文字符集它會自動生成cpg文件但如果源數據的dbf字符編碼在它眼里是“系統默認ANSI”它就可能不生成cpg。解決辦法手動補一個cpg文件。在你導出shp的文件夾里新建一個文本文件改名為和shp同名、后綴為.cpg用記事本打開寫入“UTF-8”并保存。要注意文件名必須和shp主文件一致。比如shp叫“地貌分布.shp”cpg就得叫“地貌分布.cpg”。用QGIS代替ArcGIS導出。QGIS導出shp時會強制讓你選擇編碼如果選了UTF-8它就會生成對應的cpg文件穩定可靠。補完cpg后重新打開shp屬性表中文基本就恢復正常。如果還是亂碼那就說明dbf里的實際編碼和cpg聲明的不一致這時要反向排查先確定dbf是哪種編碼再改cpg。6.4 圖層不顯示先檢查坐標范圍還有一類打開shp后地圖上什么都沒有的問題不是文件壞了而是數據坐標范圍跟當前地圖范圍離得太遠。比如你在WGS84經緯度地圖里加載一份以米為單位的投影坐標數據數據范圍可能是X: 500000, Y: 4000000這種大數值而當前地圖范圍默認是經緯度X: 73, Y: 26左右差了十萬八千里自然看不到圖形。解決辦法是右鍵圖層選擇“縮放至圖層”軟件會直接飛到數據所在的正確范圍。這幾個問題看起來不大但實際工作中幾乎天天碰到多花兩分鐘排查能省下后面分析時的大麻煩。7. 寫在最后的一點個人體會做了這么多年GIS數據處理我越來越覺得一份干凈、結構合理、字段齊全的數據本身就是最大的財富。數據格式轉換、坐標系統一、拓撲修復這些活兒說難不難說簡單也不簡單關鍵是要有耐心遇到問題不慌一步步排查。拿到任何一份shp數據我建議都按這個流程過一遍先查文件完整性再查坐標系然后看屬性表最后才開始分析。順序錯了后面全得返工。這份全國地貌分布shp數據我實際用了大半年從全國尺度的專題制圖到幾個省份的地貌統計再到三維場景的疊加展示都在用。平時積累的那些轉換工具和腳本我也順手整理在了一個文件夾里每次遇到新項目都能拿出來復用。希望這篇記錄能幫你少走一些彎路。本文還有配套的精品資源點擊獲取