李小強 楊俊山
(1. 鄭州鐵路職業(yè)技術(shù)學(xué)院 鐵道工程學(xué)院, 河南 鄭州 451460; 2. 河南省地球物理空間信息研究院, 河南 鄭州 450009)
地形圖的分幅與編號,在地圖的生產(chǎn)、管理和使用中都有重要意義。我國國家基本比例尺有1∶100萬~1∶500共11種比例尺,各種比例尺地形圖在1∶100萬分幅和編號的基礎(chǔ)上逐級分幅和編號[1]。ArcGIS是一個全面的、可伸縮的地理信息系統(tǒng)(Geographic Information System,GIS)平臺,提供了400余個地理處理(Geoprocessing)工具,為用戶提供完整的解決方案[2-3]。利用ArcGIS進行地形圖分幅需要操作者熟練掌握各個地理處理工具和圖幅編號的計算方法,通過多步驟配置建立[4-5],操作起來較為復(fù)雜,且對于不同研究區(qū)分別構(gòu)建地形圖分幅空間數(shù)據(jù)庫(以下簡稱“分幅數(shù)據(jù)庫”)時會造成大量重復(fù)勞動。有學(xué)者利用ArcPy[6]、ArcObject[7]、ArcEngine[8]等結(jié)合高級編程語言實現(xiàn)了分幅數(shù)據(jù)庫的構(gòu)建,但需要操作者具有較高的編程能力。另外,實際生產(chǎn)中,生產(chǎn)單位技術(shù)實力參差不齊,有些單位將任意間隔的矩形分幅出圖,不利于成果的統(tǒng)一管理和使用。所以有必要找出一種更快捷、便利的分幅數(shù)據(jù)庫構(gòu)建方法。
本文基于ArcGIS Model Builder設(shè)計了一套地形圖自動分幅的地理處理模型,實現(xiàn)了自動構(gòu)建適應(yīng)研究區(qū)范圍的多種比例尺地形圖分幅空間數(shù)據(jù)庫的功能,從而為地形圖的批量分幅編制與輸出提供基礎(chǔ)[9-10]。
ArcGIS系統(tǒng)下的Model Builder是用于構(gòu)建工作流的可視化編程語言,可用來創(chuàng)建、編輯和管理模型,而模型是將一系列地理處理工具串聯(lián)在一起的工作流[11-12],使用戶能夠在短時間內(nèi)設(shè)計出滿足特定任務(wù)要求的模型[13-15]。利用Model Builder進行建模的關(guān)鍵是將整個建模過程分解為一系列GIS數(shù)據(jù)批處理、文件轉(zhuǎn)換和空間分析操作,圖1為地形圖自動分幅模型的設(shè)計流程。
圖1 模型設(shè)計流程
模型中通過變量來保存值或?qū)Υ疟P數(shù)據(jù)進行引用,數(shù)據(jù)的類型多種多樣,可以是數(shù)據(jù)庫中的要素類、表、柵格數(shù)據(jù)集、shapefile、coverage等。本文研究以矢量數(shù)據(jù)為輸入數(shù)據(jù)的分幅數(shù)據(jù)庫構(gòu)建實現(xiàn)過程,其他類型數(shù)據(jù)可以通過相關(guān)地理處理完成向矢量數(shù)據(jù)的轉(zhuǎn)換。
2.1.1投影變換
我國基本比例尺地形圖是按規(guī)定的經(jīng)差和緯差進行分幅的,當(dāng)一個矢量數(shù)據(jù)的地理空間參考未定義或與目標(biāo)地理坐標(biāo)系(如2000國家大地坐標(biāo)系、1980國家大地坐標(biāo)系)不同時,需要進行投影變換。首先調(diào)用ArcToolBox下數(shù)據(jù)管理工具箱(Data Management Tools)中的投影(Project)工具實現(xiàn)投影變換。為使用戶能夠在模型工具對話框中指定相關(guān)變量的值,增加模型工具對話框的友好性和共享性,設(shè)置相關(guān)變量為模型參數(shù)(變量右上角帶P標(biāo)識)(圖2)。
2.1.2數(shù)據(jù)融合
通過融合操作,可以將包含多個要素的矢量數(shù)據(jù)融合成為只有一個要素的數(shù)據(jù),從而可以方便地獲取矢量數(shù)據(jù)的空間幾何信息,如幾何中心點、西南角、東北角坐標(biāo),而這些信息將用來計算分幅參數(shù)。
圖2 投影變換和數(shù)據(jù)融合 注:P是標(biāo)識出變量的符號
2.1.3分幅參數(shù)計算
分幅參數(shù)主要包括比例尺、經(jīng)差、緯差、原點坐標(biāo)、Y軸坐標(biāo)、右上角坐標(biāo)等,各個參數(shù)的含義及作用如表1。通過向融合后的矢量成果中添加相關(guān)字段并計算來存儲分幅參數(shù),各字段名稱及計算表達式如表2所示。在Data Management Tools中調(diào)用添加字段(Add Field)工具依次完成相關(guān)字段的添加,調(diào)用計算字段(Calculate Field)工具依次完成字段的計算存儲。經(jīng)過分幅參數(shù)計算后,得到預(yù)處理結(jié)果圖層,模型如圖3所示。
圖3 自動預(yù)處理模型 注:P是標(biāo)識出變量的符號
表1 各分幅參數(shù)含義及作用
表2 字段計算詳細說明
2.2.1分幅數(shù)據(jù)庫幾何構(gòu)建
創(chuàng)建漁網(wǎng)(Create Fishnet)地理處理工具可實現(xiàn)分幅矢量數(shù)據(jù)的創(chuàng)建。Create Fishnet需要的分幅參數(shù)包括:圖幅的空間范圍、寬度和高度以及旋轉(zhuǎn)的角度。通過獲取字段值(Get Field Value)地理處理工具獲取預(yù)處理矢量結(jié)果中的相關(guān)字段值,作為Create Fishnet工具的輸入,便將分幅參數(shù)傳遞給Create Fishnet工具,實現(xiàn)分幅數(shù)據(jù)庫幾何空間的構(gòu)建(圖4)。新構(gòu)建的圖幅缺少空間參考信息,調(diào)用Define Projection(定義投影)將圖幅定義為指定的地理坐標(biāo)系。
2.2.2分幅數(shù)據(jù)庫屬性賦值
圖4 分幅初步構(gòu)建處理 注:P是標(biāo)識出變量的符號
圖幅屬性賦值主要是本圖幅及其鄰接圖幅編號的計算。圖幅編號由其所在1∶100萬地形圖的圖號、比例尺代碼和各圖幅行列號組成。通過向圖幅圖層中添加并計算字段來實現(xiàn),字段計算VB代碼如下,圖幅編號等于A&B&C&D&E。鄰接圖幅編號的計算方法與之類似,只需在圖幅的行號D和列號E計算時調(diào)整±1即可,在此不在贅述。
‘A、B為1∶100萬地形圖圖號的行號和列號,[CY]、[CX]為圖幅中心點緯度和經(jīng)度坐標(biāo)。
A=CHR(Int([CY]/4)+65)
B=Right("0"& (Int([CX]/6)+31),2)
‘JC、WC為經(jīng)差和緯差,C為比例尺代碼,三個參數(shù)均通過模型行內(nèi)變量替換獲取。
JC=%寬度%
WC=%高度%
C="%比例尺代碼%"
If (C="B" or C="C" or C="D" or C="E" or C="F" or C="G" or C="H" or C="I") Then
‘D、E表示圖幅在指定比例尺中的行號和列號。
D=Right ("000"& Round((4/WC-Int(([CY]-Int([CY]/4)*4)/WC)),0),3)
E=Right ("000"& (Int(([CX]-Int ([CX]/6)*6)/JC)+1),3)
ElseIf (C="J" or C="K") Then
D=Right ("0000"& Round((4/WC-Int(([CY]-Int([CY]/4)*4)/WC)),0),4)
E=Right ("0000"& (Int(([CX]-Int ([CX]/6)*6)/JC)+1),4)
End If
分幅數(shù)據(jù)庫幾何構(gòu)建和屬性賦值后,即完成了分幅數(shù)據(jù)庫的初步構(gòu)建,模型如圖4所示。
2.2.3圖幅篩選
經(jīng)過以上步驟得到的分幅數(shù)據(jù)庫初步構(gòu)建結(jié)果的空間范圍為原點坐標(biāo)和右上角坐標(biāo)構(gòu)成的矩形區(qū)域,含有多余圖幅。為獲得與原始矢量數(shù)據(jù)范圍相適應(yīng)的圖幅,調(diào)用按位置選擇(Select Layer By Location)工具將預(yù)處理結(jié)果與初步構(gòu)建的分幅數(shù)據(jù)庫進行疊置篩選,再用復(fù)制要素(Copy Features)輸出即可。至此,完成了地形圖自動分幅模型的設(shè)計,實現(xiàn)了覆蓋某一矢量數(shù)據(jù)范圍的用戶指定比例尺地形圖分幅數(shù)據(jù)庫的自動構(gòu)建功能。模型整體設(shè)計如圖5所示。
圖5 完整的地形圖自動分幅模型 注:P是標(biāo)識出變量的符號
以信陽市浉河區(qū)第三次全國土地調(diào)查(簡稱“三調(diào)”)外業(yè)調(diào)查工作底圖分幅編制為例,驗證地形圖自動分幅模型的有效性、便利性。三調(diào)的主要任務(wù)包括土地利用現(xiàn)狀調(diào)查、土地權(quán)屬調(diào)查、專項用地調(diào)查與評價、國土調(diào)查數(shù)據(jù)庫建設(shè)及成果匯總等[16]。為保證項目進度、做好任務(wù)分發(fā),提高精細化、標(biāo)準(zhǔn)化管理水平,需將相關(guān)基礎(chǔ)數(shù)據(jù)渲染制作成工作底圖分幅輸出。利用地形圖分幅空間數(shù)據(jù)庫自動構(gòu)建模型,利用模型對數(shù)據(jù)進行自動化、流程化處理,ArcGIS初學(xué)者即可快速實現(xiàn)1∶5 000、1∶2 000分幅數(shù)據(jù)庫的構(gòu)建,為外業(yè)調(diào)查工作底圖批量分幅編制輸出提供了數(shù)據(jù)基礎(chǔ),有利于項目的快速開展。
本文利用ArcGIS Model Builder對相關(guān)地理處理工具進行流程化組合,設(shè)計了一套基于ArcGIS Model Builder的地形圖自動分幅模型,實現(xiàn)了自動構(gòu)建適應(yīng)研究區(qū)范圍的多種比例尺地形圖分幅空間數(shù)據(jù)庫的功能。(1)該模型可在任一搭載有符合ESRI空間建模標(biāo)準(zhǔn)環(huán)境的計算機中運行,可以很好地實現(xiàn)共享與復(fù)用;(2)避免了常規(guī)方法的煩瑣操作,省去了中間數(shù)據(jù),大大提高了地理數(shù)據(jù)處理效率,降低作業(yè)人員的勞動強度;(3)該模型可應(yīng)用在國土、測繪、城建、規(guī)劃、林業(yè)、地礦等行業(yè)生產(chǎn)和管理中,具有較好的推廣意義。