據(jù)清洗到分級出圖)
用SuperMap iDesktopX制作水深變化分布圖這件事聽起來就是“兩個時相數(shù)據(jù)相減”那么簡單真正動手才發(fā)現(xiàn)決定成圖質(zhì)量的環(huán)節(jié)全在數(shù)據(jù)準(zhǔn)備和參數(shù)選擇上。這篇文章把我從需求整理、數(shù)據(jù)清洗、插值計算到分級出圖的完整流程寫出來特別適合剛開始接觸沖淤分析、航道維護(hù)、水庫泥沙研究的朋友參考。我會把容易踩的坑、容易想反的邏輯、以及實際項目中驗證過的參數(shù)選擇思路都放進(jìn)來希望能幫你少走一段彎路。1. 水深變化分布圖到底在算什么先別急著點工具很多朋友拿到兩個時期的水深數(shù)據(jù)第一反應(yīng)就是直接打開柵格計算器做減法。這個思路本身沒問題但有一個隱藏的“符號陷阱”會讓人做完整張圖才發(fā)現(xiàn)結(jié)果完全是反的。1.1 測深數(shù)據(jù)有兩種存儲習(xí)慣差值的含義截然相反海洋測繪和水利行業(yè)里水深數(shù)據(jù)的存儲方式并不統(tǒng)一。我實際接觸過的項目里常見兩種模式正深度模式屬性字段里記錄的是“水深”即從水面到河床/海底的垂直距離數(shù)值通常為正。比如“水深5m”就是水面往下5米到底。負(fù)高程模式屬性字段里記錄的是“水下地形高程”即某個高程基準(zhǔn)面以下的負(fù)值。比如某點高程為-25.5m表示它在基準(zhǔn)面以下25.5m。這兩種模式在做差值時的語義正好相反計算方式差值表達(dá)式差值 0 的含義差值 0 的含義正深度模式ΔD D新 ? D舊水深增加表示沖刷/加深水深減小表示淤積/變淺負(fù)高程模式ΔH H新 ? H舊高程抬升表示淤積/變淺高程下降表示沖刷/加深我在第一個水深變化項目里就吃過這個虧。當(dāng)時拿到的是某水庫兩期庫區(qū)測深數(shù)據(jù)原始表格里水深值都是“深度正值”但我在整理時為了做水下地形三維顯示手動把深度轉(zhuǎn)換成了負(fù)高程后來做差值時沒有統(tǒng)一語義直接用高程差去解釋沖淤結(jié)果把淤積區(qū)全部標(biāo)成了沖刷區(qū)。整張圖做完之后水庫管理方的人一看就說“不對壩前明明是淤積你這圖怎么顯示沖刷”我才意識到是符號定義出了問題。所以拿到數(shù)據(jù)后的第一件事不是急著導(dǎo)入SuperMap iDesktopX而是打開屬性表看清楚這個字段代表的是“正深度”還是“負(fù)高程”。如果兩期數(shù)據(jù)來源不同比如一期來自單波束測深系統(tǒng)導(dǎo)出的深度值另一期來自多波束后處理軟件生成的水下DEM很可能符號邏輯不一致。遇到這種情況我建議在預(yù)處理階段就把所有時相統(tǒng)一為同一種語義再加一個字段標(biāo)注清楚比如“depth_positive”或者“elevation_negative”后續(xù)所有計算都在這個統(tǒng)一字段上做。1.2 為什么必須走“散點→柵格→柵格相減”這條路有人可能會問既然兩次測深都有散點坐標(biāo)能不能直接找同名點做差理論上可以但實際幾乎不可能。兩次測量的點位不會重合不同年份的測線布置、船速、采樣間隔都不一致根本無法做到點對點匹配。就算用了最近鄰匹配點間距不同也會導(dǎo)致極大的隨機(jī)誤差。所以標(biāo)準(zhǔn)做法是先把兩個時相的散點分別插值成連續(xù)柵格再在同一個格網(wǎng)坐標(biāo)體系下做像元級相減。這個“柵格化”過程相當(dāng)于把兩期稀疏、不齊的觀測數(shù)據(jù)統(tǒng)一到同一張規(guī)則網(wǎng)格上每個像元都有明確的深度估計值差值自然就能算出來。這也是整個工作流的核心邏輯一切操作都是為了“讓兩期柵格可比”。后續(xù)的插值參數(shù)、輸出范圍、像元大小全部圍繞這個目標(biāo)展開。2. 數(shù)據(jù)準(zhǔn)備測深散點清洗、坐標(biāo)與基準(zhǔn)統(tǒng)一水深變化分析的精度上限在數(shù)據(jù)進(jìn)入SuperMap之前就已經(jīng)決定了。插值、計算、出圖都是執(zhí)行層面的活兒真正決定成果可信度的是原始數(shù)據(jù)質(zhì)量。2.1 測深散點的常見來源與格式我先說下我實際接觸過的數(shù)據(jù)來源這樣你在拿到類似資料時心里有數(shù)單波束測深儀沿測線逐點采集點密度受測線間距限制通常橫向間距幾十到上百米縱向沿航線方向點很密。多波束測深系統(tǒng)一條測帶覆蓋一定寬度點密度高數(shù)據(jù)量大但邊緣波束噪聲也多。機(jī)載激光雷達(dá)測深適合淺水區(qū)點分布均勻但受水體渾濁度影響大。這些數(shù)據(jù)被整理成Excel、CSV或SHP文件交過來是家常便飯甚至有直接拿CAD地形圖帶高程注記的。導(dǎo)入SuperMap iDesktopX時無論哪種格式最終都要整理成“點坐標(biāo)深度字段”的結(jié)構(gòu)。如果是CAD注記你得先轉(zhuǎn)出文字屬性再關(guān)聯(lián)高程值這部分工作量往往比想象中大建議前期就和數(shù)據(jù)提供方確認(rèn)好交付格式能省下大量時間。2.2 重復(fù)點、異常值、陸地點三步清洗清洗這一步不能省。我見過太多“看起來能用一統(tǒng)計全是問題”的數(shù)據(jù)。第一步是查重復(fù)點。同一坐標(biāo)出現(xiàn)多條記錄可能是不同測次、不同設(shè)備或者后處理軟件重復(fù)輸出導(dǎo)致的。處理方法看場景如果是同一時刻的重復(fù)觀測取深度平均值更穩(wěn)妥如果是不同年份的數(shù)據(jù)被誤合到一個文件里就要靠時間字段區(qū)分或者重新向數(shù)據(jù)方索取原始分件。2019年我處理某航道數(shù)據(jù)時發(fā)現(xiàn)一個SHP文件里有兩萬多對坐標(biāo)完全相同的點排查后才知道是拼接數(shù)據(jù)時把舊測線和補(bǔ)測線疊在了一起如果不清理插值結(jié)果會在這些位置出現(xiàn)明顯的“臺階”。第二步是查異常值。做法很樸素在SuperMap里把點云符號化顯示用透明度著色肉眼掃一遍是否有孤立的、不合群的點。更定量一點的方法是把深度字段排序統(tǒng)計最小值和最大值和測區(qū)已知水深范圍做對照。比如一個內(nèi)河航道測區(qū)歷史最大水深不超過15m結(jié)果關(guān)于成果里出現(xiàn)了個-78m的點那基本可以確定是數(shù)據(jù)錯誤或者坐標(biāo)搞錯了直接刪掉比留著插值安全得多。第三步是剔除陸地點。這個容易被忽略。很多測深成果的范圍會略超出水邊線把部分岸上的點也包進(jìn)來或者CAD地形數(shù)據(jù)里混合了陸上高程點。這些點如果不剔除在插值階段會把岸上地形拉進(jìn)河道里導(dǎo)致靠岸處的水深出現(xiàn)假性的“陡變”。我的做法是用岸線或干出線做范圍裁剪先在SuperMap里加載岸線面數(shù)據(jù)用“按多邊形裁剪”功能把散點約束在有效水域內(nèi)。2.3 水平坐標(biāo)與垂直基準(zhǔn)最容易翻車的地方這是數(shù)據(jù)準(zhǔn)備階段最重要的兩個檢查項。水平坐標(biāo)系統(tǒng)一。不同年份的測量項目可能使用了不同的坐標(biāo)系有的是經(jīng)緯度有的是高斯-克呂格投影有的甚至用了當(dāng)?shù)鬲毩⒆鴺?biāo)系。如果兩期數(shù)據(jù)坐標(biāo)系不一致直接插值會導(dǎo)致兩期柵格在空間上錯位差值圖邊緣會出現(xiàn)一整條夸張的“沖刷帶”或“淤積帶”看不出真實地形變化。在SuperMap iDesktopX里處理時我通常先把所有數(shù)據(jù)統(tǒng)一到同一個投影坐標(biāo)系比如高斯-克呂格3度帶或UTM做法是用“數(shù)據(jù)”菜單下的投影轉(zhuǎn)換工具給SHP源文件定義目標(biāo)坐標(biāo)系后執(zhí)行轉(zhuǎn)換。為什么建議用投影坐標(biāo)系而不是經(jīng)緯度因為插值算法需要計算平面距離經(jīng)緯度在不同緯度上的尺度不一樣直接拿來算會導(dǎo)致插值結(jié)果畸變。垂直基準(zhǔn)統(tǒng)一。這個更隱蔽。水深測量的高程基準(zhǔn)可能有好幾種國家高程基準(zhǔn)、理論深度基準(zhǔn)面、當(dāng)?shù)仄骄C娴取@碚撋喜煌攴莸臏y深成果只要都做了潮位改正且歸算到同一基準(zhǔn)面差值才是真實地形變化。但實際項目中經(jīng)常出現(xiàn)兩期數(shù)據(jù)一個用1985國家高程基準(zhǔn)、一個用當(dāng)?shù)乩碚撋疃然鶞?zhǔn)面的情況兩者之間可能差一個固定的常數(shù)表現(xiàn)在差值圖上就是一個覆蓋全區(qū)的“整體沖淤偏移”。我遇到這種情況時會先查項目報告中的基準(zhǔn)說明再對比兩期數(shù)據(jù)在深水區(qū)的差值分布——如果整體均值不是接近0而是穩(wěn)定偏向某一側(cè)就要警惕基準(zhǔn)不一致。不過必須提醒做基準(zhǔn)改正要有依據(jù)不能憑感覺加減一個常數(shù)最好讓數(shù)據(jù)提供方給出明確轉(zhuǎn)換公式。2.4 兩期范圍與點密度的評估進(jìn)入插值之前還需要做一次“范圍體檢”。做法很簡單在SuperMap里把兩個時相的點數(shù)據(jù)疊加顯示看一下重疊區(qū)域占比。若重疊區(qū)過小比如只有測區(qū)面積的50%那差值成果就只能解釋這50%范圍內(nèi)的變化其余區(qū)域的結(jié)果不要強(qiáng)行出圖否則容易誤導(dǎo)決策。點密度差異也是個需要提前心里有數(shù)的問題。我處理過一個案例2020年一期用的是單波束測線間距大約60m2023年一期換成了多波束點密度極高。理論上多波束數(shù)據(jù)精度更高但插值后兩期柵格的分辨率如果都按最密的測區(qū)來設(shè)置單波束那一期就會因為局部點太少插值出很多不可信的“假地形”。這種情況下建議像元大小按較疏的一期中位點間距來確定讓兩期處于同一信息密度水平線上再做差值才公平。3. 散點到柵格插值方法選型與像元大小確定數(shù)據(jù)整理干凈之后就進(jìn)入核心環(huán)節(jié)插值。這一步直接決定差值柵格的質(zhì)量。3.1 插值方法怎么選IDW、克里金、張力樣條對比SuperMap iDesktopX的空間分析模塊里提供了多種插值方法實際項目中我常用的有反距離加權(quán)IDW、克里金和張力樣條三者的特點差異非常大方法原理優(yōu)勢劣勢適用場景IDW以距離平方倒數(shù)加權(quán)平均計算快、參數(shù)少、容易解釋會在數(shù)據(jù)點周圍形成“牛眼”點密度較均勻的常規(guī)測區(qū)克里金基于變異函數(shù)擬合空間自相關(guān)能估計誤差表面平滑自然參數(shù)多新手容易跑出不可靠結(jié)果數(shù)據(jù)質(zhì)量較好、測區(qū)地形連續(xù)張力樣條按張力系數(shù)生成平滑曲面保留細(xì)節(jié)適合等深線趨勢外推不可靠對異常值敏感水深梯度大、需要細(xì)節(jié)保留我的選型經(jīng)驗是常規(guī)航道沖淤分析IDW和克里金都夠用重點不是選哪種而是保證兩期數(shù)據(jù)用同一種方法、同一套參數(shù)。因為插值方法的不同會帶來系統(tǒng)性的表面差異——比如IDW傾向于在點周圍形成局部高值克里金則會稍微平滑掉局部起伏如果兩期用了不同方法差值圖里會混入“方法差異”而不是純粹的“地形變化”。如果拿不準(zhǔn)選哪種我建議先從IDW入手。它最直觀也最好解釋。等跑通一遍流程、確認(rèn)結(jié)果方向無誤之后再試克里金對照看差異。SuperMap中的操作位置在“分析”模塊的“柵格分析”下選擇插值功能設(shè)置好輸入點數(shù)據(jù)集、深度字段、像元大小和搜索半徑就可以執(zhí)行。張力樣條我一般在處理等深線散點數(shù)據(jù)時才會用比如數(shù)據(jù)本身來源于舊海圖數(shù)字化、點間距很不規(guī)則的情況它能更貼近原始等深線的走向。但張力樣條絕對不能外推輸出范圍稍微超出數(shù)據(jù)覆蓋區(qū)邊緣就會產(chǎn)生無法解釋的大幅波動這點務(wù)必注意。3.2 像元大小怎么定不能隨心所欲像元大小柵格分辨率是插值環(huán)節(jié)最關(guān)鍵的參數(shù)之一。太小插值會在稀疏區(qū)產(chǎn)生大量不可信的假凹凸太大又會磨掉真實的水深變化細(xì)節(jié)。我的經(jīng)驗公式是像元大小取平均測點間距的1/3到1/2。如果測線間距約60m像元設(shè)20m左右比較合適如果點間距只有20m像元設(shè)5-10m更合理。更定量一點的做法是利用SuperMap或第三方統(tǒng)計工具做一次最鄰近點距離分析取所有點到最近鄰點的距離中位數(shù)作為基準(zhǔn)間距再用這個基準(zhǔn)間距除以2到3。為什么不能直接按最密的數(shù)據(jù)來設(shè)像元我曾做過一個對比實驗同一組單波束數(shù)據(jù)一個用5m像元一個用20m像元兩期差值結(jié)果差異非常大。5m像元的差值圖在稀疏區(qū)域出現(xiàn)了大量“顆粒狀沖淤”看起來變化劇烈實際上那些位置連原始測點都沒有完全是插值外推出來的結(jié)果。20m像元的圖反而干凈得多。所以在做水深變化這種需要兩期對比的分析時寧可犧牲一些分辨率也要保證每一期柵格都有足夠的數(shù)據(jù)支撐。3.3 插值范圍必須讓兩期柵格完全對齊這里有一個很多人容易忽略的細(xì)節(jié)插值輸出范圍一定要手動指定為“兩期測區(qū)的公共范圍”而不是讓軟件默認(rèn)按各自測區(qū)范圍輸出。如果一期測區(qū)A范圍大、另一期測區(qū)B范圍小兩期柵格的范圍和行列數(shù)不一致后續(xù)做差值時要么系統(tǒng)報錯要么邊緣產(chǎn)生大范圍的NoData或無值區(qū)。我的做法是先在SuperMap里用兩個點數(shù)據(jù)集的公共外接矩形或自己畫一個覆蓋重疊測區(qū)的多邊形作為統(tǒng)一的輸出范圍兩期插值都用這個范圍。同時保證像元大小一致這樣兩期柵格的行列數(shù)和像元原點完全對齊柵格計算器可以直接做減法不會出現(xiàn)因網(wǎng)格錯位產(chǎn)生的條帶噪聲。3.4 插值結(jié)果怎么質(zhì)檢插值完成后不要直接進(jìn)入下一步先看兩個柵格的統(tǒng)計信息最小值、最大值、均值。和原始散點深度統(tǒng)計做對比如果插值后的最小、最大值超出了原始數(shù)據(jù)的合理范圍說明插值過程出現(xiàn)了外推異常需要回查搜索半徑或張力系數(shù)等參數(shù)。我還會在SuperMap里給插值柵格疊加一個山體陰影效果快速目視檢查表面是否有沿測線方向的條帶狀偽影。如果看到明顯的“排骨紋”很可能是原始測線間距過大、插值搜索半徑不夠造成的需要加大搜索半徑或改用克里金重新插值。4. 差值計算與異常值過濾柵格計算器里的關(guān)鍵細(xì)節(jié)當(dāng)兩期插值柵格就緒就可以做差值計算了。4.1 表達(dá)式與輸出類型在SuperMap iDesktopX的柵格計算器柵格代數(shù)里表達(dá)式很直接。以正深度模式為例Delta Raster_2023 - Raster_2020需要注意的一點是不要把上標(biāo)搞反。我習(xí)慣在計算前先在屬性表或柵格信息里確認(rèn)兩個柵格的名字用“新時相減舊時相”的語義定義來寫表達(dá)式這樣得到的Delta正負(fù)含義就是“最新一期相對早期”的變化。輸出數(shù)據(jù)類型務(wù)必選浮點型float別選整型。水深變化量往往是小數(shù)值比如-0.3m、0.8m如果輸出為整型所有小數(shù)都被取整變化量小于0.5m的區(qū)域會被直接抹成0整張圖會丟失大量細(xì)節(jié)。4.2 差值柵格里的NoData和“假沖淤”差值完成后圖面上經(jīng)常會出現(xiàn)兩類問題一類是NoData區(qū)另一類是明顯違背常理的“假沖淤”。NoData區(qū)的來源大多數(shù)是兩期柵格范圍不完全對齊。這就是前面強(qiáng)調(diào)統(tǒng)一輸出范圍的原因。如果此時已經(jīng)生成了帶NoData的差值柵格處理方法有兩種一是回到插值步驟重做用統(tǒng)一范圍重新插值二是用公共測區(qū)多邊形裁剪差值柵格直接把范圍外的NoData切掉。我推薦第一種因為直接在差值結(jié)果上裁剪雖然可以去掉NoData但裁剪邊界處會受到邊緣效應(yīng)影響出現(xiàn)一圈虛假的大幅變化值。“假沖淤”的典型表現(xiàn)是在測區(qū)邊緣或測點稀疏區(qū)差值瞬間跳到幾米甚至幾十米。這種區(qū)域不是真實的地形變化而是插值外推在兩次計算中的誤差疊加。比如一期數(shù)據(jù)在某個角落有測點另一期在那里沒有測點兩期插值在角落上的估計值都可能非常不可靠差值自然就失控了。對于這類區(qū)域我的處理習(xí)慣是用一個“有效數(shù)據(jù)覆蓋緩沖區(qū)”來約束成果范圍。也就是說把兩期測點的公共覆蓋區(qū)域向外緩沖一定寬度比如一個像元大小然后裁剪差值柵格緩沖區(qū)之外的結(jié)果一律不作為有效結(jié)果。這樣雖然會損失一小部分邊緣信息但保留下來的區(qū)域可信度明顯提高。4.3 差值噪聲是否要濾波差值柵格跑完噪聲是難免的。尤其當(dāng)原始點云本身有隨機(jī)測量誤差時差值圖上會出現(xiàn)密密麻麻的小幅正負(fù)跳變視覺上很“花”。要不要做濾波我的建議是先用圖層屬性里的直方圖工具看一下差值分布。如果高頻噪聲主要集中在±0.2m這種小量級范圍內(nèi)而管理者關(guān)心的閾值是0.5m以上的沖淤變化那么不需要特意濾波靠分級符號化就能把噪聲壓下去。如果噪聲已經(jīng)很夸張比如出現(xiàn)了大量±2m的碎斑那問題不在于濾波而在于原始數(shù)據(jù)或插值參數(shù)可能有誤——這時候優(yōu)先回到原始數(shù)據(jù)質(zhì)檢而不是嘗試用濾波掩蓋問題。如果確實需要做平滑我通常使用柵格分析里的低通濾波功能核大小選3×3或5×5即可。注意濾波幅度不要太大否則真實存在的窄條狀沖刷帶會被磨掉沖淤形態(tài)失真。4.4 順帶算一下總沖淤量很多項目出圖只是第一步報告里還要求“總沖刷量”“總淤積量”之類的統(tǒng)計數(shù)值。這部分在SuperMap里也能直接算出來對差值柵格做分區(qū)統(tǒng)計或者把Delta大于0的像元和小于0的像元分別提取出來統(tǒng)計各自的面積和體積。體積的計算思路是像元面積乘以深度變化量再對全區(qū)求和。我在某航道項目里就是用這個方法算出兩個年度之間總淤積量約12.6萬立方米這個數(shù)字后來直接寫進(jìn)了維護(hù)疏浚的招標(biāo)文件里比單純一張圖有說服力得多。5. 分級配色與制圖整飾讓沖淤變化一眼可辨差值柵格算好之后“圖”還沒完成接下來是符號化和制圖整飾。這一部分直接決定了圖件能不能被業(yè)務(wù)人員和管理者看懂。做水深變化分布圖最忌諱的就是把連續(xù)色帶往圖上一鋪就交差。5.1 為什么分級渲染比連續(xù)色帶更實用連續(xù)色帶在視覺上很炫但如果差值數(shù)據(jù)里有噪聲連續(xù)色帶會把微小波動放大成密集的雜色讀者很難抓到主趨勢。我見過一張用連續(xù)藍(lán)黑漸變渲染的沖淤圖打印出來之后底色幾乎全花領(lǐng)導(dǎo)和業(yè)務(wù)人員都看不出重點在哪最后不得不重做。所以水深變化分布圖的基本策略應(yīng)該是分級渲染把連續(xù)的變化量劃分成若干區(qū)間每個區(qū)間用一種顏色或者色階段的色塊表示。分級的好處有兩個一是壓制小幅噪聲讓主要沖淤區(qū)清晰呈現(xiàn)二是方便圖例判讀讀者可以直接按色塊對著圖例讀出“這個區(qū)域沖刷了0.5到1米”。5.2 分級方法怎么選對稱分級是核心分級的方法有等間距、分位數(shù)、自然間斷點Jenks等。實際做水深變化圖時我強(qiáng)烈推薦以0為中心做對稱分級。原因很簡單水深變化有正有負(fù)0是沖刷和淤積的分界線。如果按默認(rèn)的等間距或分位數(shù)自動分級0值不一定落在分級邊界上同一個顏色區(qū)間里可能既包含了輕微沖刷又包含了輕微淤積圖面語義就亂了。對稱分級就是把分級閾值設(shè)為-3、-1.5、-0.5、0、0.5、1.5、3這類圍繞0對稱的斷點這樣正負(fù)兩側(cè)的級數(shù)、顏色深淺都是一一對應(yīng)的看圖的人不會產(chǎn)生誤解。如果差值數(shù)據(jù)的分布嚴(yán)重偏態(tài)比如全區(qū)大部分是輕微淤積只有局部強(qiáng)沖刷那么等間距對稱分級會導(dǎo)致“淤積一側(cè)顏色擠在一起沖刷一側(cè)卻只有一兩個像元”。這種情況下可以用分位數(shù)分級法先看看數(shù)據(jù)分布再手工調(diào)整分級閾值必要時把變化較大的區(qū)間拆細(xì)一點變化小的區(qū)間合并一些。下面是我在某航道項目里用過的分級示例可作參考水深變化量m語義推薦配色 -3.0顯著沖刷大幅變深深藍(lán)色-3.0 ~ -1.0中等沖刷藍(lán)色-1.0 ~ -0.5輕微沖刷淺藍(lán)色-0.5 ~ 0.5基本穩(wěn)定淺灰/白0.5 ~ 1.0輕微淤積淺黃1.0 ~ 3.0中等淤積棕色 3.0顯著淤積大幅變淺深棕紅色5.3 配色邏輯不要用紅綠對比傳統(tǒng)地理制圖習(xí)慣里紅色和綠色是常用的對比色但在水深變化圖上我不建議直接用純紅配純綠。原因有兩個一是紅綠色盲人群無法區(qū)分二是綠色在河流地形圖上常被聯(lián)想為陸地或植被和水深語義容易沖突。我更推薦“藍(lán)-棕”體系藍(lán)色系代表沖刷加深棕紅色系代表淤積變淺灰白色代表基本穩(wěn)定。這套配色在水深類圖件里接受度很高打印成黑白灰度圖時也能區(qū)分出深淺梯度。在SuperMap iDesktopX里做柵格分段專題圖時選好分段方式和顏色方案即可注意把“NoData”單獨設(shè)置成透明或淡色避免大片黑色塊干擾判讀。5.4 制圖整飾與導(dǎo)出設(shè)置完成符號化后把成果送進(jìn)布局窗口做整飾。必須要有這幾種要素圖名、圖例含單位“m”、比例尺、指北針、經(jīng)緯網(wǎng)或公里網(wǎng)、坐標(biāo)系和基準(zhǔn)說明、數(shù)據(jù)來源與制圖日期。水深變化圖經(jīng)常作為工程報告的附圖這類信息一旦缺失圖件的權(quán)威性會大打折扣。特別提醒圖例設(shè)置不要把每個分級的色塊做得太小打印出來容易糊。圖例標(biāo)題建議寫成“水深變化量m”并加一行小字說明“正值表示淤積變淺負(fù)值表示沖刷加深”。別看這一行字不起眼很多看圖人就是靠它理解整張圖的。導(dǎo)出時如果用于打印或插入報告分辨率不要低于300dpi建議導(dǎo)出TIFF或PDF格式如果是放到PPT里匯報導(dǎo)出PNG即可。但無論哪種格式都要在導(dǎo)出前預(yù)覽一遍整體效果重點檢查圖例是否有遮擋、色塊是否過細(xì)、邊界線是否清晰。6. 實測中我踩過的坑與幾條保命經(jīng)驗最后這部分我把自己做水深變化圖過程中真實踩過的坑寫出來每一條都是花了不少時間才解決的希望能幫你提前避開。6.1 坑一符號反轉(zhuǎn)卻到出圖才被發(fā)現(xiàn)這是最典型、也最容易犯的錯。具體表現(xiàn)是圖出來后明明應(yīng)該是淤積區(qū)的航道主槽顯示成了沖刷色明明應(yīng)該是下游沖刷區(qū)卻顯示成了淤積。我后來排查才發(fā)現(xiàn)原始水深數(shù)據(jù)一個時期是“正深度”另一個時期是“負(fù)高程”兩者相減的語義完全反了。這種錯誤之所以隱蔽是因為計算過程完全不報錯軟件也不會自動判斷正負(fù)號語義。唯一的防線就是在插值前把兩個時相字段的符號邏輯寫出來核對一遍甚至做一個手動抽查選幾個已知沖淤趨勢的控制點手工算一下差值確認(rèn)和預(yù)期方向一致后再繼續(xù)。6.2 坑二兩期坐標(biāo)系不一致差值圖邊緣出現(xiàn)整片“假沖刷”某個項目里兩期SHP數(shù)據(jù)在SuperMap里疊加顯示時肉眼幾乎看不出偏移但差值圖邊緣出現(xiàn)了一條寬度幾十米的“沖刷帶”。我一開始以為是插值邊緣效應(yīng)裁剪后還是存在。后來檢查各期SHP的元數(shù)據(jù)才發(fā)現(xiàn)兩期數(shù)據(jù)一個定義的是CGCS2000_3_Degree_GK_CM_111E另一個是WGS_1984_UTM_Zone_49N。雖然兩者在局部區(qū)域的坐標(biāo)值差異可能只有幾十米但插值以后這種系統(tǒng)偏移就直接轉(zhuǎn)化成了邊緣大面積的值跳變。這個坑的教訓(xùn)是任何兩期數(shù)據(jù)參與對比計算前必須核對坐標(biāo)系和投影參數(shù)是否一致不要只看視覺上“疊得差不多”。6.3 坑三兩期插值參數(shù)不一致差值圖出現(xiàn)“波紋”還有一次出圖差值柵格表面出現(xiàn)了一圈一圈的同心圓狀波紋看起來像某種系統(tǒng)性誤差。排查后發(fā)現(xiàn)兩期插值雖然都用了IDW但一期搜索半徑設(shè)了300m另一期設(shè)了500m表面光滑度完全不同兩期相減后這種平滑程度的差異被放大成了類似波紋的圖案。從此之后我給自己定了一條規(guī)矩參與對比的所有時相數(shù)據(jù)必須使用同一套插值模板包括插值方法、搜索半徑、像元大小、輸出范圍。在SuperMap里可以先把參數(shù)記下來或者通過腳本批量處理避免手誤導(dǎo)致參數(shù)漂移。6.4 幾條保命經(jīng)驗第一正式出圖前先圈一個小范圍試算。選一個已知沖淤趨勢明顯的區(qū)域比如航道彎道或壩前淤積區(qū)先用小范圍數(shù)據(jù)跑一遍完整流程確認(rèn)符號、量級、空間分布都和實際認(rèn)知一致再擴(kuò)大到全區(qū)。這樣可以避免拿著全區(qū)錯誤結(jié)果返工。第二給每次插值和計算留一份參數(shù)記錄。我用最簡單的辦法在工程文件夾里放一個“處理記錄.txt”寫下像元大小、插值方法、搜索半徑、坐標(biāo)系統(tǒng)、數(shù)值轉(zhuǎn)換規(guī)則這些關(guān)鍵信息。三個月后或者下一年再做一期數(shù)據(jù)時照著記錄執(zhí)行就能保證所有期次成果風(fēng)格統(tǒng)一、指標(biāo)可比對后續(xù)趨勢分析幫助非常大。第三成果柵格一定要帶坐標(biāo)系和NoData設(shè)置一起保存。SuperMap中可以把柵格保存為通用格式同時導(dǎo)出時勾選寫入坐標(biāo)信息。我見過太多人只保存了柵格文件、丟了坐標(biāo)文件等下次換軟件或者換電腦打開整張圖位置全亂又要重新配準(zhǔn)。第四保留一份可編輯的工作空間。制圖整飾完成后除了導(dǎo)出的成圖JPG/PDF工作空間一定要另存一份。因為大概率過兩天會被要求“把某個區(qū)域的色帶調(diào)一調(diào)”“把某條等深線疊加上去看看”如果沒有保留可編輯環(huán)境就得從插值開始重來一遍。做完以上這些一張可以交給業(yè)務(wù)用戶直接用、經(jīng)得起復(fù)核的水深變化分布圖才算真正落地。個人習(xí)慣上我會在每次完成一個新期的水深變化圖后把上一期和這一期的閾值、色帶、圖例存成同一套模板。下一期只要套用模板出圖速度會快很多不同年份的圖件放在一起對比也更直觀。做這種多期對比分析穩(wěn)定統(tǒng)一比追求每版的“花哨”重要得多。