郭艷濤,王永東,邵世堯,于永強(qiáng)
(1.中國地質(zhì)大學(xué)信息工程學(xué)院,湖北 武漢430074)
基于模板的地質(zhì)工作程度快速制圖方法研究
郭艷濤1,王永東1,邵世堯1,于永強(qiáng)1
(1.中國地質(zhì)大學(xué)信息工程學(xué)院,湖北 武漢430074)
地質(zhì)項目管理需要地質(zhì)工作程度圖的實時生成。利用XML文件記錄地質(zhì)工作程度專題圖的查詢條件、圖層符號化方法及字段、圖層要素符號化參數(shù),實現(xiàn)從屬性數(shù)據(jù)到專題圖層的自動化生成;利用ArcGIS的制圖模板記錄符合規(guī)范的制圖布局參數(shù),實現(xiàn)快速地圖整飾,最終實現(xiàn)地質(zhì)工作程度圖的快速生成。采用模板組的方法,避免頻繁制作和選擇制圖模板,可滿足以不同比例尺的標(biāo)準(zhǔn)圖幅、行政區(qū)、自定義范圍等多種形式的快速成圖,提高了制圖效率。
地質(zhì)工作程度圖;ArcGIS模板;快速成圖
地質(zhì)工作程度圖作為地質(zhì)項目的概況性圖件,對總體掌握地質(zhì)項目開展情況,下一步工作部署有重要的參考價值,該圖件的實時快速更新有重要的實際意義。地質(zhì)項目管理系統(tǒng)也需要實時生成工作程度圖作為系統(tǒng)的索引性圖件。現(xiàn)有的GIS基礎(chǔ)平臺都具有通用的制圖功能,但各有優(yōu)勢和不足[1],都需要大量的人工交互,自動化程度較弱,適合專業(yè)人員制圖使用,無法滿足專題圖的快速生成和實時更新。針對專題制圖的特點(diǎn),提出以制圖模板的方式保存制圖布局參數(shù),實現(xiàn)專題制圖的智能化,自動化[2-4]。陳志軍、陳建國等[5]基于MapGIS開發(fā)完善了自動生成圖例的功能,在一定程度上提高了工作程度圖的制圖效率。
地質(zhì)工作程度圖的制作有以下特點(diǎn):①專題劃分明確《全國地質(zhì)工作程度數(shù)據(jù)庫工作指南》(以下簡稱“工作指南”),規(guī)定了地質(zhì)工作程度空間專題圖層的劃分;②數(shù)據(jù)庫結(jié)構(gòu)明確,其數(shù)據(jù)源一般是地質(zhì)工作程度數(shù)據(jù)庫;③工作區(qū)范圍相對簡單,一般為多邊形或行政區(qū),不需要對專題圖層進(jìn)行大量數(shù)據(jù)編輯;④出圖范圍相對固定,一般會按照全國、全省等固定大范圍出圖;⑤圖層采用的渲染符號一般要符合地質(zhì)行業(yè)的規(guī)范要求。針對以上特點(diǎn),可采用XML配置文件和制圖模板相結(jié)合的方法,實現(xiàn)地質(zhì)工作程度圖的快速生成。
地質(zhì)工作程度圖以地質(zhì)工作程度數(shù)據(jù)庫作為數(shù)據(jù)源,通過專題數(shù)據(jù)檢索、生成空間圖層、自動符號化等操作[6]可自動生成專題圖層,利用制圖模板可實現(xiàn)對專題圖層的快速整飾,最終生成地質(zhì)工作程度圖。
采用參數(shù)化思想[7],利用XML配置文件記錄專題及其相關(guān)制圖參數(shù)的對應(yīng)關(guān)系,可實現(xiàn)流程的自動化。當(dāng)選擇某一專題時,程序會自動根據(jù)配置參數(shù)進(jìn)行專題查詢、生成空間圖層并自動按照需求符號化。XML文件中記錄的參數(shù)及其使用方式如圖1所示。
圖1 XML文件中的參數(shù)及使用
1)根據(jù)選擇專題自動查詢和生成空間圖層。專題分類可參考工作指南的圖層劃分方式,每一專題對應(yīng)的檢索條件是確定的,在XML文件中記錄其對應(yīng)的查詢參數(shù)。工作程度圖主要對專業(yè)種類、專業(yè)子類、圖層編號、工作比例尺等主要屬性檢索,礦產(chǎn)地分布圖主要對礦產(chǎn)分類、勘查對象、礦床規(guī)模等檢索。如果是多個條件查詢,則還需要記錄多個查詢條件間的邏輯關(guān)系。當(dāng)選擇具體的地質(zhì)專題時,則根據(jù)XML中的查詢參數(shù)直接生成SQL語句進(jìn)行數(shù)據(jù)庫的查詢。生成空間圖層是生成工作程度圖的關(guān)鍵步驟,實現(xiàn)文本數(shù)據(jù)的可視化地圖顯示。基礎(chǔ)區(qū)域地質(zhì)調(diào)查和礦產(chǎn)勘查圖層采用面圖層表示,礦產(chǎn)地圖層采用點(diǎn)圖層表示。
2)根據(jù)屬性自動設(shè)置圖層符號化參數(shù)。采用GIS的符號化方法通過對屬性不同的圖層要素采用不同的符號顯示,可在視覺上直觀表達(dá)要素的特有屬性。主要有以下步驟:①根據(jù)XML中配置的符號化方法,按照選擇的渲染字段對圖層要素分類,每一子類采用不同的符號表示;符號化方法包括:單一符號化、唯一值符號化、分級符號化[4]。②按照規(guī)范設(shè)置圖層每一類要素的渲染符號。在XML文件中,對專題圖層可能的幾類均按照相應(yīng)的規(guī)范配置默認(rèn)的符號參數(shù),記錄對應(yīng)的符號ID,符號顏色、大小、樣式等參數(shù)。對圖層渲染時,默認(rèn)情況下直接取對應(yīng)的符號進(jìn)行渲染。當(dāng)圖層只包含部分分類時,則取圖層中存在的分類對應(yīng)的符號用于渲染。③按照規(guī)范制作滿足實際需求的符號庫[8],配置符號時可直接關(guān)聯(lián)符號ID使用,減少配置參數(shù)。
采用配置符號化方法和渲染符號參數(shù)的思想,記錄圖層要素與符號庫中符號的關(guān)聯(lián)關(guān)系,直接從符號庫中取默認(rèn)符號,可以極大地減少用戶的操作難度,同時也基本滿足規(guī)范,是實現(xiàn)快速成圖的重要一步。
生成工作程度專題圖層后,需要根據(jù)出圖的范圍和比例尺從模板組中選擇合適的模板并作適當(dāng)?shù)淖儞Q。加載模板后主要完成以下步驟:①專題圖層會按照模板中數(shù)據(jù)框的出圖坐標(biāo)系自動投影到數(shù)據(jù)框;②根據(jù)專題圖層的渲染符號自動生成圖例;③根據(jù)參數(shù)更新模板中的圖名。ArcGIS具有自動投影和根據(jù)渲染符號自動生成圖例的功能,以上幾步在加載模板后會自動完成,生成的圖例會按照模板定義的樣式顯示,其他地圖元素也會按照模板中預(yù)定的位置和參數(shù)顯示。經(jīng)過簡單的幾步,即可快速實現(xiàn)地圖整飾,生成一張基本滿足需要的專題圖。如果需要調(diào)整,則可以交互調(diào)整相關(guān)參數(shù)。
模板技術(shù)的使用避免了地圖整飾過程的大量交互操作,提高了制圖效率。程序控制的自動化制圖雖然不能實現(xiàn)GIS平臺交互制圖的效果,但基本上符合規(guī)范和實際使用的需求。用戶也可以通過不斷的調(diào)整模板以改進(jìn)出圖布局。
ArcGIS模板是保存制圖樣式的工程文件,包含數(shù)據(jù)視圖和布局視圖,數(shù)據(jù)視圖是布局視圖的數(shù)據(jù)框。模板的制作首先需要確定出圖比例尺和出圖范圍,一般在ArcMAP中可制作幾乎滿足需求的模板,對于特殊的模板樣式則需要編程開發(fā)制作[9]。模板制作主要包括以下幾點(diǎn):①根據(jù)出圖范圍和比例尺設(shè)置數(shù)據(jù)框、內(nèi)圖框及布局紙張的大小。②設(shè)置數(shù)據(jù)框的坐標(biāo)系及經(jīng)緯線格網(wǎng),一般網(wǎng)格的間距會根據(jù)不同的出圖比例尺而變化[10]。③設(shè)置各地圖元素[9]的顯示樣式和位置,按照制圖規(guī)范設(shè)計布局,最終保存成工程文件。
根據(jù)實際需求,專題制圖一般需要支持多種出圖范圍和比例尺。當(dāng)出圖范圍或比例尺變化時,則需要更換模板,模板的制作和選擇給用戶操作帶來很大的不便。為了避免出圖模板的頻繁制作和用戶選擇,可通過制作模板組實現(xiàn),即通過制作幾種類型的通用模板,根據(jù)實際出圖范圍和出圖比例尺按照一定的規(guī)則自動選擇合適的模板并進(jìn)行模板變換,以滿足出圖的需求。以制作某省地質(zhì)工作程度圖為例,模板組包括:①以全省范圍作為出圖范圍的指定出圖比例尺的模板;②各比例尺標(biāo)準(zhǔn)圖幅的模板。
模板的使用主要由出圖比例尺和出圖范圍決定。表1介紹了模板組的選擇使用方式,可滿足多種出圖范圍和多種比例尺的快速地圖整飾。表中列出的選擇的模板均為和出圖比例尺一致的模板。進(jìn)行范圍變換主要是針對自定義范圍出圖,使數(shù)據(jù)框的大小適應(yīng)出圖范圍,然后變換內(nèi)圖框和紙張大小,與數(shù)據(jù)框大小保持相對合理,以滿足整個布局視圖的合理性。整體范圍制圖模板的數(shù)據(jù)框一般具有投影坐標(biāo)系,不需要程序控制。標(biāo)準(zhǔn)圖幅的投影參數(shù)是確定的,因此可自動投影變換。
表1 滿足不同需求的模板組的使用方式
采用C#語言基于ArcEngine二次開發(fā),按照設(shè)計的地質(zhì)工作程度圖的快速制作方法,快速搭建開發(fā)系統(tǒng)。依據(jù)工作指南和實際需求,在XML中記錄劃分的專題及其對應(yīng)的相關(guān)參數(shù),實現(xiàn)根據(jù)參數(shù)自動生成專題圖層的功能。根據(jù)出圖參數(shù)從模板組中加載合適的模板實現(xiàn)地圖的快速整飾,生成專題圖。在開發(fā)過程中,主要調(diào)用ArcEngine的要素類操作[12]、裁剪、符號化、標(biāo)注、導(dǎo)出地圖等相關(guān)的接口。
如圖2是編程實現(xiàn)的工作程度圖的快速生成界面。選擇某一專題圖后,在用戶不修改參數(shù)的情況下可自動生成圖3的專題圖。在一定程度上減少了人工交互,提高制圖效率,可滿足專題圖的實時更新和批量制圖的需求。
圖2 地質(zhì)工作程度圖專題選擇界面
圖3 地質(zhì)工作程度圖專題圖
利用XML配置參數(shù)的方式,將業(yè)務(wù)邏輯細(xì)節(jié)和GIS技術(shù)細(xì)節(jié)從操作界面轉(zhuǎn)移到配置文件中,界面操作簡單,能夠滿足不同專業(yè)水平的工作人員的使用。采用ArcGIS模板技術(shù)實現(xiàn)的快速地圖整飾,改變了以往需要大量人工交互制圖的工作模式,縮短制圖周期,應(yīng)用該方法實時生成的地質(zhì)工作程度圖將作為地質(zhì)項目管理的索引性圖件,實現(xiàn)可視化項目管理。
[1] 蒙琳,張衍毓.ArcGIS與MapGIS在土地利用規(guī)劃制圖中的比較[J].中國土地科學(xué),2012,26(4):42-46
[2] 馬德濤,王銳,黃毅.基于模板技術(shù)的專題海圖快速成圖方法研究[J].海洋測繪,2013,33(1):57-59
[3] 陳志軍,陳建國.系列地圖批處理自動成圖解決方案:以勘查地球化學(xué)系列圖為例[J].地質(zhì)學(xué)刊,2013,37(3):456-464
[4] 邊學(xué)清,韓有文,王海芹.專題地圖制圖系統(tǒng)設(shè)計與實現(xiàn)[J].測繪科學(xué),2009,4(34):165-168
[5] 陳志軍,陳建國.基于MapGIS的全國地質(zhì)工作程度數(shù)據(jù)庫應(yīng)用系統(tǒng)設(shè)計與實現(xiàn)[J].物探化探計算技術(shù),2006,28(4):381-386
[6] 聶小波,吳北平,何保國.基于ArcGISEngine的專題圖模塊的設(shè)計與實現(xiàn)[J].地理空間信息,2006,4(1):12-14
[7] 花衛(wèi)華,劉紀(jì)東,劉修國.基于控制字典的對象式地質(zhì)屬性數(shù)據(jù)管理[J].地球科學(xué):中國地質(zhì)大學(xué)學(xué)報,2015,40(3):425-430
[8] 趙成幅,王苑,李永花,等. 基于ArcGISEngine的符號化研究與實現(xiàn)[J].地理空間信息,2009,7(4):57-59
[9] 熊衛(wèi)東,劉智敏,王世利.地圖制圖模板管理系統(tǒng)設(shè)計與實現(xiàn)[J].地理空間信息,2010,8(2):90-92
[10] 劉靜波,王偉,李欣.基于ArcEngine的地圖自動分幅實現(xiàn)[J].海洋測繪,2013,33(6):45-48
[11] 樊文有,曾文.GIS制圖中標(biāo)準(zhǔn)圖框的機(jī)助生成[J].地球科學(xué):中國地質(zhì)大學(xué)學(xué)報,1998,23(4):379-382
[12] 蘭小機(jī) ,劉德兒 ,魏瑞娟 .基于 ArcObjects與 c#.NET 的GIS應(yīng)用開發(fā)[M].北京:冶金工業(yè)出版社, 2011
P208
B
1672-4623(2017)10-0060-03
10.3969/j.issn.1672-4623.2017.10.019
2016-07-20。
郭艷濤,碩士研究生,主要從事地質(zhì)數(shù)據(jù)管理,專題制圖方面研究。