功能保護(hù)區(qū)空間數(shù)據(jù):三件套格式與GIS應(yīng)用指南)
簡介本資源為2024年中國50個生態(tài)功能保護(hù)區(qū)空間分布權(quán)威地理數(shù)據(jù)集面向生態(tài)學(xué)、地理信息系統(tǒng)、自然資源管理及國土空間規(guī)劃領(lǐng)域的科研人員、高校師生與政策研究者支撐生態(tài)安全格局分析、保護(hù)地優(yōu)化評估、生態(tài)紅線校核等核心任務(wù)。壓縮包共18個文件185.91MB含可編輯ArcMap工程文件.mxd、標(biāo)準(zhǔn)化矢量Shapefile.shp/.shx/.dbf等及開箱即用的TIF成圖成果另附中國省級行政區(qū)劃標(biāo)準(zhǔn)矢量數(shù)據(jù)便于區(qū)域裁剪與疊加分析所有數(shù)據(jù)經(jīng)統(tǒng)一投影CGCS2000、屬性結(jié)構(gòu)化與空間拓?fù)湫r灳瓤煽?。目前已?59人學(xué)習(xí)下載資源提供完整空間實體覆蓋——從伊犁—天山山地西段到長江源、黃河源涵蓋荒漠草原、濕地、山地、喀斯特等典型生態(tài)功能類型且明確標(biāo)注與地理單元的非等同關(guān)系如黃土高原生態(tài)功能保護(hù)區(qū)≠黃土高原避免概念誤用。 干GIS這行的聊天見面第一句基本都是“你那邊有沒有現(xiàn)成能用的數(shù)據(jù)”。我最近整理完一套2024年中國50個生態(tài)功能保護(hù)區(qū)空間分布數(shù)據(jù)交付形式就是經(jīng)常說的“三件套”可編輯mxd文件、標(biāo)準(zhǔn)shape文件、標(biāo)準(zhǔn)成圖TIF。覆蓋了水源涵養(yǎng)、水土保持、防風(fēng)固沙、生物多樣性維護(hù)這幾類典型生態(tài)功能保護(hù)區(qū)做生態(tài)保護(hù)紅線評估、國土空間規(guī)劃、環(huán)評專題圖、保護(hù)區(qū)劃界以及高校相關(guān)課題都能直接落到圖上。這篇就來聊聊這套數(shù)據(jù)怎么用、怎么改、格式之間怎么轉(zhuǎn)換以及幾個容易被忽略的坑。1. 數(shù)據(jù)內(nèi)容與格式選型為什么要“三件套”交付1.1 50個生態(tài)功能保護(hù)區(qū)數(shù)據(jù)背景與典型應(yīng)用生態(tài)功能保護(hù)區(qū)這個詞聽起來有點官方其實換成人話就是“這個區(qū)域?qū)S持生態(tài)系統(tǒng)運轉(zhuǎn)特別重要不能隨便開發(fā)”。它跟自然保護(hù)區(qū)不完全是一回事自然保護(hù)區(qū)更強調(diào)物種和生態(tài)系統(tǒng)的嚴(yán)格保護(hù)生態(tài)功能保護(hù)區(qū)更關(guān)注區(qū)域的生態(tài)服務(wù)功能比如下游的水源是不是夠干凈、沙塵暴是不是能擋住、山坡的水土?xí)粫魇А?0個生態(tài)功能保護(hù)區(qū)是按國家級名錄篩選出來的重點區(qū)域在國土空間規(guī)劃里經(jīng)常作為約束性邊界出現(xiàn)。拿到這套空間數(shù)據(jù)最常見的應(yīng)用有三個場景。第一個是生態(tài)保護(hù)紅線劃定很多地方會把生態(tài)功能保護(hù)區(qū)作為底線區(qū)域的基礎(chǔ)底圖疊加其他數(shù)據(jù)后再做邊界調(diào)整。第二個是建設(shè)項目環(huán)評選址階段先看項目用地范圍跟這些保護(hù)區(qū)有沒有重疊這是環(huán)評報告里最基礎(chǔ)也最關(guān)鍵的一步用一個Intersect工具就能算出來重疊面積但前提是數(shù)據(jù)坐標(biāo)系要統(tǒng)一不然結(jié)果就是錯的。第三個是生態(tài)補償和績效考核尤其是重點生態(tài)功能區(qū)轉(zhuǎn)移支付測算需要準(zhǔn)確統(tǒng)計每個區(qū)縣的保護(hù)區(qū)面積占比這種統(tǒng)計必須在面狀矢量數(shù)據(jù)上做用TIF柵格算面積會偏大或偏小邊界上每一個像元都會引入誤差。數(shù)據(jù)形態(tài)方面50個生態(tài)功能保護(hù)區(qū)以面狀矢量為主屬性表里通常包含保護(hù)區(qū)名稱、類型水源涵養(yǎng)/水土保持/防風(fēng)固沙/生物多樣性維護(hù)、面積、所在省份等字段。這套三件套交付里shape文件是真正的空間數(shù)據(jù)本體mxd負(fù)責(zé)把制圖效果保存下來TIF則是可直接展示和打印的標(biāo)準(zhǔn)成圖。我自己的使用習(xí)慣是日常分析用shape調(diào)整配色和注記用mxd匯報展示和印刷出圖用TIF三樣配合起來效率最高。1.2 mxd、shape、TIF三種格式的定位對比很多人第一次拿到三件套會有點懵不知道該先打開哪一個或者以為三個文件內(nèi)容是重復(fù)的。其實這三個格式的分工完全不同弄清楚了就能根據(jù)自己的場景選對入口。文件格式本質(zhì)能否編輯適用場景常見軟件mxdArcGIS地圖文檔保存圖層路徑、符號化、標(biāo)注、圖例等設(shè)置可編輯但編輯的是“顯示效果”而非數(shù)據(jù)制圖整飾、專題圖制作、反復(fù)調(diào)整樣式ArcMap、ArcGIS Proshape矢量空間數(shù)據(jù)保存幾何和屬性可編輯是空間分析的數(shù)據(jù)本體疊加分析、面積統(tǒng)計、空間查詢、數(shù)據(jù)交換ArcGIS、QGIS、Global MapperTIF柵格成圖每個像元存顏色或灰度值一般不做編輯屬于最終成品匯報展示、打印出圖、作為底圖疊加看圖軟件、ArcGIS、QGIS、MATLAB這三個文件的核心關(guān)系可以打個比方mxd就像餐廳的點菜單把你點了什么菜、上菜順序、擺盤方式都記下來了但菜本身不在菜單里。shape是冰箱里的食材實實在在的原材料分析、切分、重組都靠它。TIF則是做好且端上桌的成品菜看起來最方便但沒法再切回去做數(shù)據(jù)分析。這個類比能解釋一個常見問題——為什么mxd發(fā)到別人電腦上打開圖層經(jīng)常顯示紅色感嘆號因為mxd里只是存了硬盤路徑對方的電腦上根本沒有對應(yīng)路徑的shape文件菜單在廚房里沒菜。shape文件本身也不是一個單文件。一個完整的shapefile至少要有.shp幾何信息、.shx索引、.dbf屬性表三個文件再加上.prj投影信息和.cpg字符編碼一共五件才算齊全。很多人只拷了.shp和.dbf就發(fā)出去結(jié)果對方打開要么沒坐標(biāo)要么屬性表亂碼其實都是缺文件導(dǎo)致的。TIF則不一樣它把坐標(biāo)信息直接內(nèi)嵌在文件頭的標(biāo)簽里拷貝單個TIF文件就能在其他軟件里正確疊加這也是我為什么寧可多導(dǎo)一份TIF做成品的原因——傳輸和展示都太省心了。2. ArcGIS環(huán)境下的編輯與出圖流程2.1 打開工程文件mxd的數(shù)據(jù)源盤查拿到mxd之后第一件事不是急著改圖而是先確認(rèn)數(shù)據(jù)源路徑是否都有效。雙擊打開mxd如果某些圖層旁邊出現(xiàn)了紅色感嘆號說明這個圖層關(guān)聯(lián)的數(shù)據(jù)源路徑找不到了。這種情況在數(shù)據(jù)文件夾被移動、重命名或者換電腦后太常見了。解決方法是右鍵點感嘆號的圖層選擇Data Repair Data Source重新指向?qū)?yīng)shape文件或柵格文件。注意不要只修一個建議把所有紅感嘆號圖層都檢查一遍否則導(dǎo)出的TIF會出現(xiàn)部分圖層缺失而不自知。我之前接過一個項目對方發(fā)來一個mxd和一堆圖層數(shù)據(jù)但圖層分散在好幾個子文件夾里mxd里的相對路徑全亂了。打開之后所有圖層都是感嘆號逐個修復(fù)太費時間后來直接把所有數(shù)據(jù)按原目錄結(jié)構(gòu)放回去mxd就自動恢復(fù)正常了。這里有個經(jīng)驗mxd最好跟你自己的數(shù)據(jù)文件夾保持相對路徑也就是mxd和shape、TIF放在同一個總目錄下這樣整個文件夾復(fù)制到別處或者拷給同事打開時路徑能自動匹配上。ArcMap的默認(rèn)設(shè)置對于相對路徑支持不夠好可以在File Map Document Properties里勾選“Store relative pathnames to data sources”養(yǎng)成習(xí)慣能省很多事。查完數(shù)據(jù)源之后下一步是檢查圖層的坐標(biāo)系是否統(tǒng)一。選中任意圖層打開Layer Properties Source能看到坐標(biāo)系描述。如果50個生態(tài)功能保護(hù)區(qū)的shape文件坐標(biāo)系不統(tǒng)一有的在WGS84有的在CGCS2000直接疊加就會錯位幾十到上百米。統(tǒng)一坐標(biāo)系的方法是使用ArcToolbox里的Project工具把矢量數(shù)據(jù)轉(zhuǎn)換到目標(biāo)坐標(biāo)系。這里有個細(xì)節(jié)如果原始數(shù)據(jù)是地理坐標(biāo)系經(jīng)緯度而你希望出圖時按公里網(wǎng)格顯示通常要投影到Albers等積投影或UTM分帶投影生態(tài)類專題圖用Albers等積投影比較多因為面積統(tǒng)計不偏差。2.2 圖層符號化與專題圖整飾數(shù)據(jù)源沒問題之后就可以開始調(diào)整顯示效果了。生態(tài)功能保護(hù)區(qū)專題圖的常規(guī)做法是按保護(hù)區(qū)類型做分類符號用不同顏色區(qū)分水源涵養(yǎng)、水土保持、防風(fēng)固沙、生物多樣性維護(hù)。右鍵圖層打開Properties切到Symbology選項卡選擇Categories Unique ValuesValue Field選“類型”字段再點擊Add All Values就能按類型自動分配顏色。如果顏色不合心意雙擊每個符號可以手動調(diào)建議生態(tài)類圖件用綠色系漸變水源涵養(yǎng)用偏藍(lán)的綠防風(fēng)固沙用偏黃的綠視覺信息更直觀。符號化只是最基礎(chǔ)的一步一份完整的專題圖還要有圖名、圖例、比例尺、指北針、數(shù)據(jù)來源說明等要素。ArcMap里可以通過View Layout View切換到布局視圖然后在Insert菜單里添加這些制圖要素。比例尺建議用公里網(wǎng)格或者雙單位比例尺指北針用常規(guī)箭頭樣式就好不要加太花哨的裝飾專業(yè)圖件講究信息清晰。圖例最好只保留跟當(dāng)前數(shù)據(jù)相關(guān)的圖層把不必要的底圖圖層從圖例里移除否則圖面顯得雜亂。數(shù)據(jù)來源說明建議寫成“數(shù)據(jù)來源2024年中國50個生態(tài)功能保護(hù)區(qū)空間分布數(shù)據(jù)”放在圖幅左下角或右下角這是評審和審核時經(jīng)常被問到的信息。標(biāo)注設(shè)置也要花點時間右鍵圖層 Properties Labels勾選Label features in this layerLabel Field選保護(hù)區(qū)名稱。如果保護(hù)區(qū)太多標(biāo)注全顯示出來會疊成一團(tuán)這時候可以開啟Label Expression配合字號、位置、避讓規(guī)則調(diào)整。還有一種做法是把標(biāo)注轉(zhuǎn)成注記Annotation轉(zhuǎn)完之后每個標(biāo)注可以單獨拖動位置適合圖面成品要求較高的場景。ArcGIS Pro里操作更順手可以直接在布局中手動調(diào)整標(biāo)注位置。2.3 標(biāo)準(zhǔn)化輸出從mxd到TIF成圖數(shù)據(jù)配好、版面排好之后最后一步就是導(dǎo)出成TIF。在Layout View下點擊File Export Map彈出窗口里設(shè)置輸出格式為TIFF分辨率選300 dpiColor Depth選24-bit True ColorCompression選LZW。LZW是無損壓縮兼顧清晰度和文件大小比不壓縮的TIF能小很多值得養(yǎng)成習(xí)慣。勾選Write World File會額外輸出一個tfw坐標(biāo)文件這個文件在GIS軟件里用來定位如果只是給人看圖用系統(tǒng)自帶圖片查看器就能打開TIF了所以導(dǎo)出時一般不需要這個World File但如果你要把TIF二次疊加到GIS里就一定要保留。導(dǎo)出TIF之前還有幾個小坑要注意。第一個是背景色如果mxd的數(shù)據(jù)框背景是白色而圖例區(qū)域之外沒有鋪滿背景圖層導(dǎo)出的TIF四邊可能是透明或灰白的打印出來很難看。解決方法是給數(shù)據(jù)框加一個背景色或者在圖面周圍鋪一個面狀底圖。第二個是文字注記是否完整顯示縮小視圖后有些標(biāo)注可能會被自動隱藏導(dǎo)出之前一定要在Layout View里檢查一遍。第三個是導(dǎo)出區(qū)域如果圖框范圍超出了數(shù)據(jù)框范圍導(dǎo)出的TIF多出來的邊區(qū)就是空的用Export Map窗口里設(shè)置的選項把范圍對齊到數(shù)據(jù)框即可。我曾經(jīng)出過一版TIF成品當(dāng)時覺得屏幕上看著挺好結(jié)果打印出來圖例里的顏色跟主圖對不上。后來檢查發(fā)現(xiàn)是圖例里的色塊是舊的符號化緩存更新符號化之后忘了刷新圖例。所以每次調(diào)整過符號化或者標(biāo)注之后一定要右鍵圖例選擇Refresh或者重新插入一次圖例這個細(xì)節(jié)看起來小坑起人來真不小。3. QGIS等開源/第三方軟件的打開與互操作3.1 QGIS怎么打開mxd三種可行路徑這幾年QGIS用戶越來越多經(jīng)常有人問我“QGIS怎么打開mxd”。說實話QGIS原生不支持直接打開mxd文件這個格式是ESRI專有的沒有公開底層規(guī)范QGIS如果強行支持會涉及逆向工程問題。但數(shù)據(jù)本身不是鎖死的思路是把mxd里的圖層和信息轉(zhuǎn)移到QGIS能識別的路徑上。辦法一最直接在ArcGIS里把mxd中的每個圖層右鍵選擇Data Export Data另存為shape或tif然后把這些文件直接拉進(jìn)QGIS。樣式丟了沒關(guān)系QGIS里可以重新配只要你的數(shù)據(jù)源是shape和tif一切都好辦。辦法二使用第三方插件比如Slyr插件可以在一定條件下把ArcGIS的.lyr和.mxd樣式轉(zhuǎn)換成QGIS樣式不過這個插件對復(fù)雜符號化支持有限且需要一定配置。辦法三最簡單但大多數(shù)人想不到讓提供方在ArcGIS里把mxd另存為ArcGIS Pro工程文件或圖層包.lpkx然后在QGIS里直接加載這些中間格式。雖然不能100%還原但至少能把符號和屬性帶過來一部分。如果你打交道的對象不全是ArcGIS用戶還有一個更穩(wěn)妥的協(xié)作方式直接在mxd里把每個圖層分別導(dǎo)出為shape/qml樣式文件。qml是QGIS的樣式文件純文本格式可以在ArcGIS里手寫或者用工具生成然后在QGIS里加載shape后右鍵Styles Load Style選擇qml符號化基本能還原八九成。我個人最常用的還是方法一因為從底層數(shù)據(jù)重新制作專題圖雖然花點時間但可控性最高不會因為轉(zhuǎn)換插件出奇怪的符號偏移。3.2 用QGIS直接加載shape與TIF做疊加分析QGIS加載shape文件的方法很簡單菜單Layer Add Layer Add Vector Layer選擇.shp文件即可。加載之后如果屬性表里中文字段亂碼多半是文件的.cpg或編碼聲明缺失。此時可以在Layer Properties Source Encoding里改成UTF-8或者GBK刷新一下就能正常顯示。對于中文Windows環(huán)境導(dǎo)出的老shpGBK比較常見新規(guī)范下推薦統(tǒng)一用UTF-8尤其是QGIS里默認(rèn)按UTF-8解析兩者不一致就亂碼。加載TIF的方式類似菜單Layer Add Layer Add Raster Layer選中.tif文件確認(rèn)就能出現(xiàn)在圖層面板。TIF帶了坐標(biāo)信息QGIS會自動識別并定位到正確位置這是GeoTIFF比普通JPG方便的地方。如果你想拿一個普通JPG做底圖沒有坐標(biāo)信息也可以手動進(jìn)行地理配準(zhǔn)但那是另一種方法了能用TIF就別用JPG。QGIS里做疊加分析也很順手比如統(tǒng)計某條規(guī)劃公路穿過多少生態(tài)功能保護(hù)區(qū)用Vector Geoprocessing Tools Intersect就能完成輸出結(jié)果自帶屬性表可以直接導(dǎo)出為CSV。QGIS還有一個優(yōu)勢是它操作大數(shù)據(jù)量shape文件比ArcMap更輕快。我試過用QGIS打開包含幾十萬個面的保護(hù)區(qū)分縣圖層縮放、平移和屬性查詢都很流暢。如果還要做更復(fù)雜的生態(tài)分析比如計算每個保護(hù)區(qū)內(nèi)的土地利用類型面積QGIS的Processing框架可以直接調(diào)用GRASS和SAGA算法不需要另外裝軟件這點在項目應(yīng)急時非常實用。3.3 Global Mapper與其他軟件的使用場景Global Mapper是很多測繪和遙感從業(yè)者的利器它最大的優(yōu)勢是對柵格數(shù)據(jù)的處理速度快特別是幾十GB的TIF合并、裁剪、格式轉(zhuǎn)換幾乎不卡。打開TIF直接用File Open Data Files選擇文件就行會自動識別坐標(biāo)系。在處理多個TIF合并的場景下Global Mapper比ArcGIS更省事先把所有要合并的TIF全部拖進(jìn)軟件在左側(cè)圖層列表里選中它們右鍵選擇Mosaic再設(shè)置輸出范圍和像元大小即可。它內(nèi)部有并行計算機(jī)制合并大規(guī)模影像比ArcGIS的Mosaic工具快不少。如果你只是想快速看單個TIF的地形起伏或者坡度Global Mapper可以直接生成等高線和坡度圖不需要額外加工具。生成了新的TIF文件之后想導(dǎo)回ArcGIS使用也很簡單File Export Export Raster/Image Formats選GeoTIFF格式坐標(biāo)信息會完整保留。Global Mapper處理完的TIF在ArcGIS里打開不會有任何坐標(biāo)系丟失的問題前提是導(dǎo)出時注意勾選Write GeoTIFF tags。另外提一下tif地圖下載工具做項目時如果沒有合適的底圖經(jīng)常用這類工具下載衛(wèi)星影像或DEM。使用它的建議有兩條第一下載前先確認(rèn)目標(biāo)投影坐標(biāo)系最好跟你的矢量數(shù)據(jù)統(tǒng)一點比如都用CGCS2000投影第二下載的TIF往往是大范圍分幅拿回來后務(wù)必檢查相鄰影像之間有沒有重疊無效值有的話在Global Mapper或ArcGIS里統(tǒng)一處理后再使用。4. TIF合并、導(dǎo)出與像素級操作實錄4.1 ArcGIS中多個TIF合并的方法與參數(shù)實際項目里TIF合并的需求太多了。比如50個生態(tài)功能保護(hù)區(qū)的成圖TIF是分區(qū)域?qū)С龅奈鞅币粋€文件、西南一個文件需要拼成一張全國范圍圖或者下載的衛(wèi)星影像按標(biāo)準(zhǔn)分幅被切成多個TIF要拼接后才能做后續(xù)分析。ArcGIS里最常用的合并工具是Mosaic to New Raster位置在ArcToolbox Data Management Tools Raster Raster Dataset Mosaic to New Raster。工具界面里幾個關(guān)鍵參數(shù)要設(shè)置對。Input Rasters選擇所有要合并的TIFOutput Location指定輸出目錄Raster Dataset Name是輸出文件的名字。Coordinate System是輸出坐標(biāo)系我強烈建議在這里直接指定統(tǒng)一的坐標(biāo)系比如CGCS2000投影不要用默認(rèn)的“第一個輸入柵格的坐標(biāo)系”這樣能避免合并后的數(shù)據(jù)坐標(biāo)不一致。Pixel Type和Number of Bands要看原始數(shù)據(jù)情況。如果原始TIF是8bit的三個波段輸出就選8 Bit Signed Integer、3波段。如果多個TIF波段數(shù)不一樣合并時最好先統(tǒng)一波段數(shù)否則工具會報錯。Mosaic Operator控制的是重疊區(qū)的取值方式通常選Blend效果最好它會對重疊區(qū)域做漸變?nèi)诤媳苊馄唇涌p一眼可見。Mosaic Colormap Mode一般選Match能讓多個TIF的色帶盡量一致。如果一個區(qū)域先出來的TIF和另一個區(qū)域在顏色上差異明顯可以開啟Colormap To Match的選項或者先對每個TIF做直方圖匹配再合并。合并完的文件會自動帶上坐標(biāo)信息右鍵Properties確認(rèn)Extent和Cell Size沒有異常說明合并成功了。4.2 把TIF導(dǎo)出為JPG兩種方式與常見坑TIF格式信息完整但是文件大很多時候只需要給領(lǐng)導(dǎo)或者合作方看一眼JPG更合適。ArcMap里導(dǎo)出JPG最簡單的方式還是File Export Map輸出格式選JPEG分辨率300 dpi即可。但這種方式導(dǎo)出的JPG沒有坐標(biāo)信息如果你后續(xù)還要在GIS里做疊加需要勾選Write World File生成JGW坐標(biāo)文件否則只能當(dāng)圖片看。另一種方式是把TIF矢量化成圖后導(dǎo)出或者直接把柵格圖層導(dǎo)出為新格式。在內(nèi)容列表里右鍵TIF圖層選擇Data Export Data在彈出的窗口里把Format改成JPEG同時勾選Use Renderer設(shè)置這樣可以保留當(dāng)前屏幕上的配色效果。如果TIF是原始影像通常不需要調(diào)整如果是經(jīng)過渲染的專題圖這個方法能精確保存渲染后的效果。但要注意JPEG是有損壓縮格式它不支持透明通道如果TIF里有NoData區(qū)域?qū)С鯦PG時NoData會變成黑色或白色很容易讓整張圖看起來像“翻車”。我處理過一個案例一張包含透明背景的TIF圖層在ArcMap里看著正常導(dǎo)出JPG后背景變成純黑怎么調(diào)都不行。排查后確認(rèn)是因為TIF的NoData值設(shè)置成了00在8bit灰度里對應(yīng)黑色JPG不支持透明就把0畫成了黑色。解決辦法是在圖層屬性Symbology里把Display Background Value設(shè)為No Color或者先把NoData區(qū)域填充成統(tǒng)一背景色再導(dǎo)出。這個坑在實際項目中很常見尤其是從遙感影像轉(zhuǎn)出來的TIF所以導(dǎo)出前一定要先檢查NoData值設(shè)置。4.3 用MATLAB等工具讀取TIF與深度學(xué)習(xí)場景TIF格式在地理和遙感領(lǐng)域之外也經(jīng)常被當(dāng)作普通的圖像格式使用比如MATLAB里讀TIF最常見的函數(shù)是imread直接讀入一個三維矩陣如果是RGB影像矩陣維度是height × width × 3。如果需要讀取TIF攜帶的地理參考信息就要用geotiffread函數(shù)這個函數(shù)在Mapping Toolbox里返回像元坐標(biāo)、投影信息等適合做地形分析或者遙感算法驗證。注意geotiffread讀出來的矩陣數(shù)據(jù)類型可能是uint16或uint8后續(xù)計算時記得轉(zhuǎn)成double否則很多數(shù)值運算會出問題。深度學(xué)習(xí)場景讀取TIF有一點要特別留意模型輸入多數(shù)要求float32或uint8但很多TIF保存的是16位或32位浮點數(shù)神經(jīng)網(wǎng)絡(luò)預(yù)處理時如果不歸一化直接輸進(jìn)模型會出現(xiàn)數(shù)值溢出或訓(xùn)練不收斂。實際操作時一般先把像素值歸一到0~1或者按統(tǒng)計值做標(biāo)準(zhǔn)化。用TensorFlow讀取TIF時你可以看到類似“tf.tensor: id91, shape(2,2), dtypeint32”這樣的張量信息shape表示高、寬、通道數(shù)dtype是數(shù)據(jù)類型。如果dtype是int32或uint16就會知道原始數(shù)據(jù)還有進(jìn)度和深度信息需要后續(xù)處理尤其是生態(tài)類型分類這種任務(wù)經(jīng)常需要把多光譜TIF的每個波段作為不同通道接入模型這時候要特別檢查shape和dtype是否匹配模型輸入層的要求。還有個實用小技巧如果只是想快速查看某個TIF文件的分辨率和范圍用Python的rasterio或gdal庫最方便幾行代碼就能打印出坐標(biāo)系、分辨率、波段數(shù)等元數(shù)據(jù)。雖然不是做深度學(xué)習(xí)的主流程但對處理海量TIF數(shù)據(jù)時快速篩選很管用。比如你拿到幾十個TIF想找出哪些能拼在一起先批量讀取元數(shù)據(jù)按坐標(biāo)系和分辨率分組比一個個在GIS里打開效率高多了。5. 常見問題與排錯日志5.1 out of date shape索引過期與修復(fù)方法ArcGIS里偶爾會看到“Shapefile row cannot be found”或“Out of date shape”之類的提示多數(shù)情況下是因為shapefile的索引文件狀態(tài)和實際幾何數(shù)據(jù)不同步。這種情況可能出現(xiàn)在拷貝文件時漏了.shx、外部程序修改過屬性表之后沒有重建索引、或者文件在傳輸過程中被截斷。解決方法分幾步走先用ArcCatalog打開shape文件右鍵屬性看幾何、字段和記錄數(shù)是否正常如果記錄數(shù)正常但提示索引過期就運行ArcToolbox里的Repair Geometry工具修復(fù)幾何問題修復(fù)完還沒解決再重建空間索引右鍵shape文件 Properties Indexes選擇重建。我在一個項目里遇到過“out of date shape”的另類情況腳本程序批量更新了一個shape文件的屬性字段但更新程序沒有同步刷新.shx索引結(jié)果ArcMap里點查詢屬性表能顯示但地圖上選中部分要素時會報錯。當(dāng)時直接重新導(dǎo)出了一份shape文件再正常打開就沒問題了。這個經(jīng)驗說明一點如果數(shù)據(jù)更新頻繁盡量不要在原文件上做原地修改而是每次都導(dǎo)出為新文件這樣索引和緩存都是新的可以避免很多莫名其妙的問題。另外在ArcGIS Pro里打開老舊的shape文件偶爾會提示“Data Source is out of date”但是不影響正常顯示。這種提示更多是提醒你數(shù)據(jù)源版本比較舊可以右鍵數(shù)據(jù)源選擇Sync或者將其導(dǎo)入到Geodatabase工作空間里。如果只是日常使用直接忽略提示就行如果要做長時間的分析流程建議把數(shù)據(jù)放到File Geodatabase里性能和穩(wěn)定性都有提升。5.2 中文亂碼與shp掉屬性中文亂碼是shape文件最常見的問題之一尤其是Windows舊環(huán)境生成的數(shù)據(jù)。dbf屬性表默認(rèn)編碼通常是系統(tǒng)本地代碼頁在中國大部分環(huán)境是GBK但新版ArcGIS Pro和QGIS默認(rèn)按UTF-8讀取編碼對不上就亂碼。解決思路是讓軟件按正確編碼讀取在QGIS里右鍵圖層 Layer Properties Source Encoding手動切換UTF-8或GBK刷新即可在ArcMap里調(diào)整選項設(shè)置默認(rèn)讀取編碼為UTF-8或者使用“ArcGIS Pro選項 工程 常規(guī) 設(shè)置默認(rèn)地理數(shù)據(jù)庫編碼方式”。更根治的辦法是給shape文件補一個.cpg文件內(nèi)容是UTF-8這樣其他軟件讀取時會先檢查.cpg。很多老數(shù)據(jù)沒有.cpg但可以手動創(chuàng)建一個純文本文件命名為和shape文件相同的前綴后綴為.cpg內(nèi)容是UTF-8保存后放到同一目錄下刷新。這個方法非常實用尤其是那些幾百個字段的歷史數(shù)據(jù)一旦亂碼人工修復(fù)屬性表的工作量會非常大。還有一類“掉屬性”問題常見于從Excel導(dǎo)入或在ArcPy里批量創(chuàng)建要素時屬性表字段名超過10個字符或包含中文字段名導(dǎo)致部分字段在ArcMap舊版本里顯示不出來或截斷。解決辦法是在導(dǎo)出時將字段名稱改成英文短名稱中文含義保留在字段別名中。生態(tài)功能保護(hù)區(qū)數(shù)據(jù)里的“類型”字段最好用“Type”或“Category”這類名稱避免用中文長字段名因為ArcGIS早期的BMP格式對長字段支持不好交付別人使用容易出問題。5.3 坐標(biāo)系統(tǒng)一的坑與檢查習(xí)慣坐標(biāo)系統(tǒng)一是所有空間分析正確性的基礎(chǔ)但這個基礎(chǔ)經(jīng)常被忽略。特別是拿到不同來源的生態(tài)保護(hù)區(qū)數(shù)據(jù)有的來自國家公開數(shù)據(jù)平臺坐標(biāo)系是CGCS2000有的來自歷史項目坐標(biāo)系是WGS84或Xian80。雖然CGCS2000和WGS84在大比例尺下偏移很小幾米級別但在國土、環(huán)保等精細(xì)化管理場景里容不得這種誤差尤其在1:1萬甚至更大比例尺的邊界比對上幾米就能看出明顯差異。拿到矢量數(shù)據(jù)后我建議先做一個強制檢查右鍵圖層打開Source確認(rèn)坐標(biāo)系名稱和單位。如果數(shù)據(jù)沒有.prj文件ArcGIS會默認(rèn)當(dāng)作“Unknown”這時候在ArcCatalog里無法定義坐標(biāo)系你必須手動使用Define Projection工具給它指定一個坐標(biāo)系。注意Define Projection只是“告訴軟件這個數(shù)據(jù)是什么坐標(biāo)系”不會重算坐標(biāo)值如果你發(fā)現(xiàn)數(shù)據(jù)坐標(biāo)和真實位置對不上要用Project工具轉(zhuǎn)換而不是Define Projection。在做50個保護(hù)區(qū)空間分布這類專題圖時我習(xí)慣統(tǒng)一采用CGCS2000地理坐標(biāo)系作為工作底圖坐標(biāo)系輸出專題圖時再投影到Albers等積投影。這樣做的原因很簡單分析階段用地理坐標(biāo)不容易引投影變形出圖階段用等積投影不會導(dǎo)致面積失真。每次新加一個數(shù)據(jù)源我都會先看一眼它的坐標(biāo)信息如果跟當(dāng)前地圖坐標(biāo)系不一致ArcMap會彈窗詢問是否轉(zhuǎn)換這里別直接點“是”或者“否”先想清楚是動態(tài)投影還是數(shù)據(jù)轉(zhuǎn)換——動態(tài)投影只影響顯示不影響分析結(jié)果但導(dǎo)出數(shù)據(jù)時坐標(biāo)還是舊坐標(biāo)系這往往是很多錯誤的來源。養(yǎng)成“先看坐標(biāo)系再做分析”的習(xí)慣能省下大量排查時間。拿到這套數(shù)據(jù)我自己的操作順序已經(jīng)固定了第一步用ArcMap打開mxd檢查所有圖層路徑是否有效第二步看坐標(biāo)系確保所有圖層在同一參考框架下第三步復(fù)制shape文件全套文件尤其是.prj和.cpg單獨備份一份第四步TIF單獨保存不在原始文件上做覆蓋編輯。每次做完一遍都會覺得“三件套”其實不是一個簡單的壓縮包而是一個完整的交付習(xí)慣。mxd、shape、TIF各管一段缺了哪一個別的軟件打開都會多費不少功夫。希望這篇經(jīng)驗?zāi)軒湍阍谀玫竭@套數(shù)據(jù)時少踩幾個坑。本文還有配套的精品資源點擊獲取