李瀟瀟
(遼寧省基礎(chǔ)測繪院,遼寧錦州 121003)
坡度圖制作項(xiàng)目深入研究了遼寧省第三次全國國土調(diào)查坡度圖制作關(guān)鍵技術(shù),制定了一整套科學(xué)的坡度圖制作技術(shù)方案,實(shí)現(xiàn)坡度圖數(shù)據(jù)的快速生產(chǎn)。在結(jié)合遼寧省第三次全國國土調(diào)查坡度圖制作技術(shù)要求的基礎(chǔ)上,充分發(fā)揮ArcGIS軟件的優(yōu)勢,開發(fā)了數(shù)據(jù)生產(chǎn)和質(zhì)量檢查工具,提升了生產(chǎn)效率。
坡度圖制作項(xiàng)目研究的大數(shù)據(jù)、多源DEM數(shù)據(jù)融合應(yīng)用生產(chǎn)坡度圖的技術(shù)方法,解決了大數(shù)據(jù)、不同DEM數(shù)據(jù)源同時應(yīng)用的難題,實(shí)現(xiàn)了遼寧省高質(zhì)量坡度數(shù)據(jù)有效覆蓋,拓展了測繪地理信息成果的應(yīng)用場景。
生產(chǎn)過程中,遇到的核心技術(shù)難題是小圖斑合并。最繁瑣、最難的地方在于,人工操作手動合并小圖斑,費(fèi)時費(fèi)力效率低下。手工需要處理從25m2~750m2的小圖斑合并,每隔25m2做一次,也就是說每個縣區(qū)需要處理750÷25=30次。每次需要從小圖斑的5級合并到4級,4級合并到3級,一步一步地合并到直至1級,之后再由1級返回合并到5級,也就是面積達(dá)標(biāo)的小圖斑,都要經(jīng)過8個步驟的合并,每下一次合并都要用到上一次的結(jié)果,環(huán)環(huán)相扣。
按此方法,每個縣區(qū)需要人工處理的步驟就是 30×8=240步,關(guān)鍵這些步驟不是一氣呵成操作完成的,每做一步需要等待處理完成,才能再做下一步驟,環(huán)環(huán)相扣導(dǎo)致一旦有一步出現(xiàn)錯誤,那整個步驟都要重新返工,這給任務(wù)完成帶來了巨大挑戰(zhàn)。本次一共要處理101個縣區(qū)數(shù)據(jù),總計人工點(diǎn)選240×101≈2.4萬步操作,因此考慮編寫程序來代替人工操作,提高正確率與生產(chǎn)率。
為了準(zhǔn)確快速的完成這次開發(fā),開發(fā)前我們對于掌握并且適用的開發(fā)技術(shù)進(jìn)行了對比與歸納,選擇最優(yōu)的程序開發(fā)路線(表1)。
由表1可見,選用“路線四”作為開發(fā)主路線,具體描述,運(yùn)用Python語言調(diào)用系統(tǒng)文件資源(圖1),結(jié)合使用ArcGIS自身強(qiáng)大的工具箱代碼,編寫清晰的業(yè)務(wù)規(guī)則,使作業(yè)人員只需要把待處理的shp文件,放進(jìn)選定文件夾,程序自動完成分類合并所需環(huán)環(huán)相扣的240個步驟,最后輸出shp文件,這就是編寫軟件體現(xiàn)出來的優(yōu)勢,準(zhǔn)確簡潔。
圖1 具體實(shí)現(xiàn)業(yè)務(wù)的核心Python代碼
表1 程序開發(fā)路線
畫紅框這段Python代碼程序展示了,滿足條件的坡度5級圖斑自動合并到坡度4級里的過程,并且在工具消息端,提示合并運(yùn)行進(jìn)度。當(dāng)然這只是環(huán)環(huán)相扣的240步驟中的一個步驟,其余步驟用了巧妙的循環(huán)和精準(zhǔn)的判斷來完成(圖2)。
圖2 軟件在ArcGIS中的工具效果
可以看出,這里只要選擇待處理shp的文件夾,設(shè)置一下面積區(qū)間,就可以完成小圖斑合并這一繁瑣的工序,非常簡潔明了。
從幾乎環(huán)環(huán)相扣的2.4萬步人工處理,簡潔到每個縣區(qū)只需選擇一次的方便運(yùn)行,程序開發(fā)的意義非常明顯,節(jié)省大量繁瑣的人工步驟,大大提高生產(chǎn)的產(chǎn)品質(zhì)量。
從時間上算,每一步人工操作點(diǎn)選都需要操作時間,即使每個步驟點(diǎn)選在1分鐘完成,實(shí)際上也超出1分鐘,全部做完就多出2.4萬分鐘,即400小時,這還不算處理步驟的時間,就多出16天的工作量,這還是在人工步驟不錯的前提下,若哪一步出現(xiàn)錯誤,到檢查時才發(fā)現(xiàn),那么那個步驟之后的成果都要返工。
從存儲角度看,人工操作每一個過程結(jié)果都要存儲下來,因?yàn)橄乱徊叫枰玫缴弦徊降慕Y(jié)果,這樣導(dǎo)致硬盤空間大量占用,如果每次都刪除用過的結(jié)果文件,如果事后檢查步驟出錯,那么沒有過程成果文件,就要從頭再來,十分糾結(jié)。而運(yùn)用程序解決,中間成果自動刪除,自動釋放不必要的資源,清晰明了,十分簡潔。