高文靜,李文博,王 璐
(西安市勘察測(cè)繪院,陜西西安 710054)
地形圖是我國(guó)一項(xiàng)重要的測(cè)繪地理信息成果,地形圖數(shù)據(jù)主要包括居民地、交通、水系、植被、地貌等基本地理要素,其應(yīng)用范圍和影響極廣。Microstation 軟件是一款地形圖制圖軟件,與AutoCAD 相比,它在圖形表達(dá)尤其是符號(hào)化方面有很強(qiáng)的優(yōu)勢(shì),在傳統(tǒng)測(cè)繪、建筑、規(guī)劃、交通運(yùn)輸?shù)刃袠I(yè)中被普遍使用。ArcGIS 具有強(qiáng)大的數(shù)據(jù)存儲(chǔ)和數(shù)據(jù)分析能力,我國(guó)許多地理信息相關(guān)部門普遍將ArcGIS 作為各種地理信息數(shù)據(jù)庫(kù)建庫(kù)平臺(tái),這些數(shù)據(jù)庫(kù)中的基礎(chǔ)地理信息數(shù)據(jù)又大部分來源于測(cè)繪部門,因此,我們必須通過一定方法將Microstation DGN 數(shù)據(jù)轉(zhuǎn)換為ArcGIS 平臺(tái)所需的數(shù)據(jù)格式,并需保證該方法能最大程度減少數(shù)據(jù)丟失和信息遺漏[1]。
ArcGIS 是由ESRI 公司推出的一套完整的GIS產(chǎn)品平臺(tái),該平臺(tái)具有非常強(qiáng)大的地圖制作、空間分析、空間信息整合、發(fā)布與共享能力。它基于核心組件庫(kù)ArcObjects 搭建,主要由ArcGIS Desktop、ArcGIS Engine、ArcGIS Server 和ArcIMS 4 部分組成。從軟件的使用功能來看,ArcGIS 可以幫助用戶實(shí)現(xiàn)創(chuàng)建地圖、編輯和使用地理信息數(shù)據(jù)、管理地理信息數(shù)據(jù)庫(kù)、分享地理信息數(shù)據(jù)等工作,因此,在測(cè)繪、地理信息、土地管理、不動(dòng)產(chǎn)登記、城市規(guī)劃等行業(yè)使用廣泛。
FME 是一種基于“語義轉(zhuǎn)換”理念的空間數(shù)據(jù)轉(zhuǎn)換處理系統(tǒng),可以快速高效地實(shí)現(xiàn)250 多種空間數(shù)據(jù)格式之間的轉(zhuǎn)換,基于FME 平臺(tái)的數(shù)據(jù)轉(zhuǎn)換主要由結(jié)構(gòu)轉(zhuǎn)換、內(nèi)容轉(zhuǎn)換2 個(gè)部分組成。結(jié)構(gòu)轉(zhuǎn)換通過對(duì)原數(shù)據(jù)格式的拆分、合并和重構(gòu),使其符合FME 內(nèi)部標(biāo)準(zhǔn)數(shù)據(jù)結(jié)構(gòu),再將其發(fā)送到FME 目標(biāo)數(shù)據(jù)格式;內(nèi)容轉(zhuǎn)換則是將數(shù)據(jù)集中的幾何特征、屬性值等進(jìn)行語義轉(zhuǎn)換。這2 種轉(zhuǎn)換工作都可以在FME Workbench 中實(shí)現(xiàn):增加Reader 讀取原數(shù)據(jù),為轉(zhuǎn)換前后2 種不同格式的數(shù)據(jù)建立一一映射關(guān)系,再通過Writer 輸出至目標(biāo)GIS 空間數(shù)據(jù)庫(kù),從而實(shí)現(xiàn)原數(shù)據(jù)到目標(biāo)數(shù)據(jù)的成功轉(zhuǎn)換。
FME 數(shù)據(jù)轉(zhuǎn)換平臺(tái)兼容250 多種GIS 與CAD數(shù)據(jù)格式,可輕松實(shí)現(xiàn)dwg、shp、dgn 等多種格式的轉(zhuǎn)換。由于不同數(shù)據(jù)來源的空間矢量數(shù)據(jù)對(duì)同一要素或?qū)嶓w的表達(dá)存在差異性,在把Microstation DGN 數(shù)據(jù)轉(zhuǎn)換為ArcGIS 數(shù)據(jù)格式時(shí)必須做到:1)圖形要素?zé)o丟失,坐標(biāo)不發(fā)生改變,原數(shù)據(jù)與轉(zhuǎn)換后的數(shù)據(jù)有一一對(duì)應(yīng)關(guān)系;2)原數(shù)據(jù)屬性信息應(yīng)無錯(cuò)漏;3)數(shù)據(jù)拓?fù)浣Y(jié)構(gòu)無變化,滿足圖形要素的成面、封閉、接邊和符號(hào)化等相關(guān)制圖要求。
基于Microstation 的DGN 數(shù)據(jù)主要分為點(diǎn)、線、面3 種類型,在通過Microstation 軟件進(jìn)行地形圖數(shù)據(jù)生產(chǎn)時(shí)會(huì)對(duì)應(yīng)基于不同比例尺的feature 表,這些feature 表詳細(xì)記錄了DGN 數(shù)據(jù)層、色、線型等參數(shù)。作為ArcGIS 平臺(tái)數(shù)據(jù)格式的shp 或gdb 數(shù)據(jù),都有自己的屬性表,用戶可以根據(jù)項(xiàng)目需求定義圖層屬性結(jié)構(gòu)[2]。
利用FME 平臺(tái)進(jìn)行數(shù)據(jù)轉(zhuǎn)換主要遵循以下5步,即數(shù)據(jù)檢查、制作層色對(duì)照表、設(shè)計(jì)轉(zhuǎn)換模板、數(shù)據(jù)轉(zhuǎn)換、數(shù)據(jù)檢查入庫(kù)。具體如下:
1)對(duì)原始地形圖數(shù)據(jù)進(jìn)行數(shù)據(jù)質(zhì)量檢查和規(guī)范化、標(biāo)準(zhǔn)化處理,其中,數(shù)據(jù)檢查包括拓?fù)錂z查、屬性檢查等,待原始地形圖數(shù)據(jù)符合轉(zhuǎn)換要求后方可進(jìn)行下一步操作。
2)充分了解轉(zhuǎn)換需求,編制DGN 格式轉(zhuǎn)換GIS格式數(shù)據(jù)的層色對(duì)照表,主要有點(diǎn)表、線表、面表、注記表、屬性表、賦值表等,如圖1 所示。
圖1 層色對(duì)照表
3)設(shè)計(jì)數(shù)據(jù)轉(zhuǎn)換模板,在FME Desktop 中進(jìn)行數(shù)據(jù)轉(zhuǎn)換模板的設(shè)計(jì),這項(xiàng)工作是整個(gè)任務(wù)的核心內(nèi)容。
在現(xiàn)行區(qū)域協(xié)調(diào)發(fā)展政策措施推動(dòng)下,粵東西北地區(qū)交通條件不斷改善、產(chǎn)業(yè)共建成效初顯、一批優(yōu)質(zhì)項(xiàng)目落地、中心城區(qū)擴(kuò)容提質(zhì)扎實(shí)推進(jìn),發(fā)展取得了突出成效。
4)通過標(biāo)準(zhǔn)數(shù)據(jù)轉(zhuǎn)換模板將DGN 數(shù)據(jù)的點(diǎn)、線、符號(hào)、注記等類型的數(shù)據(jù)成功轉(zhuǎn)換為點(diǎn)、線、面3種類型,注記數(shù)據(jù)記錄到對(duì)應(yīng)的屬性表中,以實(shí)現(xiàn)DGN 數(shù)據(jù)到shp 或gdb 數(shù)據(jù)的無損轉(zhuǎn)換。
5)對(duì)轉(zhuǎn)換后的數(shù)據(jù)進(jìn)行位置精度檢查、圖形信息檢查、拓?fù)湫畔z查和屬性信息檢查等工作,待轉(zhuǎn)換后的數(shù)據(jù)質(zhì)量檢查完全合格后方可進(jìn)行入庫(kù)。
以上述5 步數(shù)據(jù)轉(zhuǎn)換方法為基礎(chǔ),認(rèn)真研究如何實(shí)現(xiàn)Microstation DGN 數(shù)據(jù)到GIS 空間數(shù)據(jù)shp或gdb 格式的無損轉(zhuǎn)換,制作無損轉(zhuǎn)換模板,如圖2所示。
圖2 有向點(diǎn)和門墩角度信息
Microstation DGN 數(shù)據(jù)轉(zhuǎn)換為ArcGIS 的標(biāo)準(zhǔn)化地形圖數(shù)據(jù)轉(zhuǎn)換模板也可以發(fā)布到FME Server 上,用戶通過瀏覽器訪問指定網(wǎng)站,上傳原始地形圖數(shù)據(jù)進(jìn)行在線轉(zhuǎn)換,實(shí)現(xiàn)該項(xiàng)資源共享。
由于Microstation 軟件在數(shù)據(jù)存儲(chǔ)、圖元定義和管理風(fēng)格等方面與ArcGIS 有著極大地區(qū)別,在進(jìn)行直接數(shù)據(jù)轉(zhuǎn)換中可能會(huì)導(dǎo)致地物要素丟失、屬性信息遺漏等。在一般情況下,房屋、水系等邊界較為簡(jiǎn)單清晰的地物要素的轉(zhuǎn)換方法也相對(duì)簡(jiǎn)單。但對(duì)于邊界相對(duì)復(fù)雜的地物要素如植被,其邊界由地類界構(gòu)成,這就要求我們?cè)谶M(jìn)行植被要素提取、構(gòu)面時(shí),必須先對(duì)地類界和其他圖層之間的拓?fù)潢P(guān)系進(jìn)行處理,確保地物邊界可構(gòu)成封閉的區(qū)間,且邊界屬性正確。對(duì)于符號(hào)化的地物,則需要在進(jìn)行數(shù)據(jù)轉(zhuǎn)換前,對(duì)符號(hào)進(jìn)行必要的分析判斷,確定轉(zhuǎn)換后數(shù)據(jù)類型以便于設(shè)計(jì)轉(zhuǎn)換模板。對(duì)于有向線則需保持與原數(shù)據(jù)一致,按照線前進(jìn)方向右手邊繪制符號(hào)表示。對(duì)于有向點(diǎn)要素則需賦角度屬性。
下面將重點(diǎn)介紹基于FME 平臺(tái)將Microstation DGN 數(shù)據(jù)轉(zhuǎn)換為shp 或gdb 數(shù)據(jù)格式時(shí),如何最大程度避免重要的有向點(diǎn)要素角度丟失。
地形圖要素主要通過點(diǎn)、線、文字注記、符號(hào)等進(jìn)行表達(dá)。點(diǎn)要素是獨(dú)立的地物要素,在Microstation 中稱作單元,特征參數(shù)有層、色和單元符號(hào)。常見的地形圖點(diǎn)狀地物主要有高層房屋中心點(diǎn)(mslink 值138,要素編碼310501)、棚房中心點(diǎn)(mslink 值136,要素編碼310602)、不依比例的通信塔(mslink 值235,要素編碼340505)、不依比例的下建筑物出入口(mslink 值294,要素編碼380301)、路燈(mslink 值683,要素編碼380501)、天窗(mslink值673,要素編碼380302)、雨水篦子(mslink 值758,要素編碼544102)、不依比例的門墩(mslink 值681,要素編碼380410)等[3]。
有向點(diǎn),即有方向性的點(diǎn)狀要素,在地形圖中方向按其真實(shí)方向表示。角度方向以正北方向?yàn)?°,順時(shí)針計(jì)算確定其角度值。作者通過梳理得出地形圖中較常見的有向點(diǎn)要素主要有不依比例的地面上窯洞(mslink 值630,要素編碼311104)、不依比例的門墩(mslink 值681,要素編碼380410)、不依比例的地下建筑物出入口(mslink 值294,要素編碼380301)、不依比例的地鐵站出入口(mslink 值705,要素編碼450107)、雨水篦子(mslink 值758,要素編碼544102)等。
有向點(diǎn)的旋轉(zhuǎn)角度記錄方式如圖2 所示,以不依比例的門墩(mslink 值681,要素編碼380410)為例,當(dāng)門墩角度值為0°時(shí),方向指北方向;當(dāng)角度值為120°,方向按順時(shí)針旋轉(zhuǎn)120°記錄角度信息。這些常見的有向點(diǎn)要素在數(shù)據(jù)轉(zhuǎn)換時(shí),需保證轉(zhuǎn)換后的shp 或者gdb 數(shù)據(jù)屬性表中含角度信息,以保證數(shù)據(jù)完整性,滿足后期制圖要求。
地形圖有向點(diǎn)的角度信息記錄在“地形圖—類型細(xì)節(jié)—方向信息”中,利用FME 實(shí)現(xiàn)DGN 數(shù)據(jù)有向點(diǎn)向GIS 的數(shù)據(jù)轉(zhuǎn)換用到的關(guān)鍵函數(shù)有Attribute Exposer、ParameterFetcher、StringReplacer、Tester 等,主要轉(zhuǎn)換過程如下[4]:
1)利用AttributeExposer 轉(zhuǎn)換器,將DGN 數(shù)據(jù)中的mslink、igds_rotation、igds_cell_name、igds_asename等隱藏的信息暴露出來,其中,igds_rotation 即需要提取的旋轉(zhuǎn)角信息,igds_cell_name 為對(duì)應(yīng)的要素編碼,mslink 屬性即mslink 值。
2)通過tester 轉(zhuǎn)換器,對(duì)mslink 值以及igds_cell_name 等信息進(jìn)行判斷,可以控制在轉(zhuǎn)換過程中只轉(zhuǎn)換需要的要素。
3)通過ParameterFetcher 轉(zhuǎn)換器將判斷的標(biāo)準(zhǔn)以發(fā)布參數(shù)的形式發(fā)布出來,以達(dá)到當(dāng)提取標(biāo)準(zhǔn)發(fā)生變化的時(shí)候,無需修改轉(zhuǎn)換模板,只需要修改運(yùn)行參數(shù)即可。
4)在經(jīng)過初步提取后,使用gdb 寫模塊將數(shù)據(jù)寫為gdb 格式的數(shù)據(jù),即完成了整個(gè)數(shù)據(jù)的提取轉(zhuǎn)換流程,如圖3 所示。
圖3 FME 有向點(diǎn)轉(zhuǎn)換配置圖
運(yùn)行轉(zhuǎn)換模板,把原始數(shù)據(jù)作為源文件讀入,在“待提取的要素編碼”對(duì)話框中輸入有向點(diǎn)要素對(duì)應(yīng)的mslink 值或者有向點(diǎn)要素對(duì)應(yīng)的要素編碼,多個(gè)值之間用英文空格隔開,再選擇要存儲(chǔ)的目標(biāo)文件,本次模板設(shè)計(jì)的數(shù)據(jù)存儲(chǔ)格式為*.gdb,如圖4 所示。
圖4 轉(zhuǎn)換參數(shù)值
FME 平臺(tái)進(jìn)行數(shù)據(jù)轉(zhuǎn)換后,查看轉(zhuǎn)換結(jié)果,如圖5 所示。
圖5 轉(zhuǎn)換日志
通過轉(zhuǎn)換日志獲取數(shù)據(jù)轉(zhuǎn)換的具體信息。本次試驗(yàn)選取西安市1∶500 大比例尺地形圖(圖幅大小:250 m ×200 m)100 幅,通過FME 模板讀入172 861 條記錄,轉(zhuǎn)換后共寫入gdb 數(shù)據(jù)645 條記錄,轉(zhuǎn)換用時(shí)2'10.6'',數(shù)據(jù)轉(zhuǎn)換無信息丟失和損壞,轉(zhuǎn)換效率相對(duì)較高[5]。
在Microstation 平臺(tái)加載原始地形圖,通過要素檢查可獲得該地形圖中各要素的具體信息,如要素名稱、數(shù)量、類型、圖層、顏色等。在原始地形圖中不依比例的門墩(mslink 值681,要素編碼380410)數(shù)量為32,不依比例的門墩方向值可通過元素信息查找獲取。
在ArcMap 平臺(tái)加載轉(zhuǎn)換后數(shù)據(jù),打開不依比例的門墩所在層19 對(duì)應(yīng)屬性表,按屬性選擇查找不依比例的門墩要素,共32 條數(shù)據(jù)記錄,其中“igds_rotation”字段詳細(xì)記錄了其方向信息。經(jīng)檢核該有向點(diǎn)方向值轉(zhuǎn)換無損。
利用FME 實(shí)現(xiàn)多種數(shù)據(jù)的批量轉(zhuǎn)換工作已擁有較多的完成實(shí)例。本文立足測(cè)繪生產(chǎn)實(shí)際,提出了基于FME 的Microstation DGN 與GIS 空間數(shù)據(jù)有向點(diǎn)轉(zhuǎn)換技術(shù)研究。經(jīng)驗(yàn)證,該方法簡(jiǎn)單、可操作性強(qiáng),節(jié)省了大量時(shí)間、人力且能最大程度保證數(shù)據(jù)完整無丟失。在西安市1.8 × 108km2范圍內(nèi)傳統(tǒng)1∶500、1∶1000 大比例尺地形圖數(shù)據(jù)實(shí)體化改造中成功進(jìn)行了實(shí)踐,同時(shí)也為解決類似的數(shù)據(jù)轉(zhuǎn)換問題提供了一定的參考價(jià)值。