柴新宇 王偉
摘? 要:利用FME中的語義轉(zhuǎn)換技術(shù),DWG數(shù)據(jù)可以與GIS SHP數(shù)據(jù)共享。實(shí)驗(yàn)以DWG水系設(shè)施數(shù)據(jù)為例,構(gòu)建數(shù)字化DWG格式數(shù)據(jù)與GIS格式數(shù)據(jù)的映射關(guān)系表,并在此關(guān)系表的基礎(chǔ)上,在FME workbench模型平臺(tái)上構(gòu)建水系DWG數(shù)據(jù)到GIS數(shù)據(jù)的轉(zhuǎn)換模型。該模型實(shí)現(xiàn)了從DWG水系數(shù)據(jù)到GIS數(shù)據(jù)屬性的無損轉(zhuǎn)換,并對(duì)轉(zhuǎn)換后的數(shù)據(jù)進(jìn)行拓?fù)錂z查和屬性數(shù)據(jù)整理。通過腳本程序?qū)?shù)據(jù)進(jìn)行批處理,在很大程度上提高了數(shù)據(jù)入庫(kù)的數(shù)據(jù)正確性、共享和轉(zhuǎn)換效率。
關(guān)鍵詞:FME Workbench;水系;ArcGIS
中圖分類號(hào):TP39;P283.5? ? 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):2096-4706(2021)18-0028-04
Abstract: Using the semantic transformation technology in FME, DWG data can be shared with GIS SHP data. Taking the DWG river system facility data as an example, the mapping relationship table between digitization DWG format data and GIS format data is constructed. Based on this relationship table, the conversion model from river system DWG data to GIS data is constructed on the FME workbench model platform. The model realizes the lossless transformation from DWG river system data to GIS data attributes, and carries out topology inspection and attribute data sorting on the transformed data. Batch processing of data through script program greatly improves the data correctness, sharing and conversion efficiency of data warehousing.
Keywords: FME Workbench; river system; ArcGIS
0? 引? 言
FME專注于解決數(shù)據(jù)交互的瓶頸,致力于讓不同的數(shù)據(jù)自由流動(dòng),讓數(shù)據(jù)使用更自由,讓信息不被禁錮在某個(gè)系統(tǒng)或者軟件里,讓寶貴的時(shí)間和精力用在做決策上,而不是處理數(shù)據(jù)[1]。對(duì)于FME軟件按照功能描述屬于數(shù)據(jù)轉(zhuǎn)換與處理的軟件,按照操作模式描述屬于面向數(shù)據(jù)的可視化編程的一種語言,是一種可以無縫連接多平臺(tái)的空間數(shù)據(jù)互操作工具。支持超過400種的數(shù)據(jù)格式和數(shù)據(jù)轉(zhuǎn)換,包括CAD數(shù)據(jù)、GIS數(shù)據(jù)、Raster數(shù)據(jù)、BIM數(shù)據(jù)、GML數(shù)據(jù)、點(diǎn)云數(shù)據(jù)等多行業(yè)的不同應(yīng)用源數(shù)據(jù)。
近些年的學(xué)者在進(jìn)行研究數(shù)據(jù)轉(zhuǎn)換時(shí),通常將FME Workbench作為制作數(shù)據(jù)處理流程的應(yīng)用程序。根據(jù)其提供的圖形化操作界面,通過拖拽的方式完成模塊的組合,零代碼的定義數(shù)據(jù)處理的流程。把FME Workbench定義的數(shù)據(jù)處理流程叫做“FME模板”或“FME工作空間”。FME的不同模塊可以完成數(shù)據(jù)的讀取、目標(biāo)數(shù)據(jù)集的寫出,要素類的描述和記錄、要素的轉(zhuǎn)換等。黃志偉闡述了GIS和CAD數(shù)據(jù)之間無損轉(zhuǎn)換的方法以及注意事項(xiàng)。周浩等探討了針對(duì)CAD數(shù)據(jù)和GIS數(shù)據(jù)的轉(zhuǎn)換問題,CAD數(shù)據(jù)的圖層對(duì)應(yīng)關(guān)系、塊轉(zhuǎn)換、注記轉(zhuǎn)換、擴(kuò)展屬性轉(zhuǎn)換以及面轉(zhuǎn)換5個(gè)關(guān)鍵技術(shù),為實(shí)現(xiàn)CAD和GIS數(shù)據(jù)的轉(zhuǎn)換提供了技術(shù)思路和指導(dǎo)。通過CAD和GIS兩種圖形文件的空間數(shù)據(jù)模型進(jìn)行分析,范占永等提出了一種具體的基于.net框架和C#面向?qū)ο蠹夹g(shù)編寫轉(zhuǎn)換程序的轉(zhuǎn)換模型,實(shí)行了兩種數(shù)據(jù)的無損轉(zhuǎn)換,為其他類型的數(shù)據(jù)轉(zhuǎn)換提供了有益參考。
FME廣泛應(yīng)用于數(shù)據(jù)格式轉(zhuǎn)換、圖屬掛接空間拓?fù)浞治?、?shù)據(jù)質(zhì)量檢查、數(shù)據(jù)入庫(kù)與更新、多源數(shù)據(jù)融合、坐標(biāo)轉(zhuǎn)換等方面。FME Desktop有不同的版本,對(duì)于本次實(shí)驗(yàn)中主要用到了FME Esri Edition中增加的對(duì)ArcGIS SDE寫出的能力[2]。
實(shí)驗(yàn)主要應(yīng)用FME作為多轉(zhuǎn)換器,即數(shù)據(jù)處理和轉(zhuǎn)換的工具,在轉(zhuǎn)換的過程中對(duì)于DWG格式水系設(shè)施源數(shù)據(jù)不僅僅是格式到格式的轉(zhuǎn)換,還進(jìn)行了屬性數(shù)據(jù)的重新計(jì)算、空間數(shù)據(jù)的一些拓?fù)浞治鎏幚?,通過對(duì)原始數(shù)據(jù)的計(jì)算和變換后得到GIS水系設(shè)施數(shù)據(jù)庫(kù)目標(biāo)數(shù)據(jù)。使用FME進(jìn)行數(shù)據(jù)變換實(shí)現(xiàn)了可視化、零代碼編程,數(shù)據(jù)的轉(zhuǎn)換過程可以選用FME中自帶的模塊和函數(shù)完成,簡(jiǎn)單的連線即可,不需要進(jìn)行代碼編寫即可完成水系設(shè)施DWG數(shù)據(jù)到GIS數(shù)據(jù)的無損轉(zhuǎn)換。數(shù)據(jù)轉(zhuǎn)換任務(wù)的模型編寫好后,將建立好的模型可以進(jìn)行封裝處理,之后進(jìn)行同樣數(shù)據(jù)處理任務(wù)時(shí)可以實(shí)現(xiàn)任務(wù)處理自動(dòng)化、批量化,不需要再重復(fù)之前的模型建立過程,只需要把編寫好的流程直接使用即可,可以自動(dòng)化處理,還可以按照計(jì)劃任務(wù)自動(dòng)運(yùn)行程序模型。
1? DWG水系數(shù)據(jù)轉(zhuǎn)換模型構(gòu)建
1.1? CASS中水系設(shè)施正確性檢查
對(duì)水系設(shè)施(對(duì)應(yīng)CASS中SXSS圖層)進(jìn)行正確性檢查時(shí),首先進(jìn)行DWG數(shù)據(jù)的圖層檢查,SXSS圖層數(shù)據(jù)是一個(gè)數(shù)據(jù)集,一個(gè)數(shù)據(jù)可以包含很多層,每個(gè)圖層可存儲(chǔ)多個(gè)幾何類型的數(shù)據(jù),數(shù)據(jù)的幾何類型復(fù)雜。檢查入庫(kù)時(shí)除了刪除偽結(jié)點(diǎn)和重復(fù)實(shí)體外還需進(jìn)行圖形實(shí)體檢查,包括編碼正確性、屬性完整性、圖層正確性、符號(hào)線型線寬、面狀地物封閉性、復(fù)合線重復(fù)點(diǎn)等檢查。檢查后對(duì)于有錯(cuò)誤的實(shí)體可先進(jìn)行批量修改和逐個(gè)修改。修改完成繼續(xù)進(jìn)行入庫(kù)檢查后修改,反復(fù)進(jìn)行直至無誤。
1.2? FME Workbench數(shù)據(jù)轉(zhuǎn)換
對(duì)于CASS入庫(kù)前檢查的數(shù)據(jù),在轉(zhuǎn)換到數(shù)據(jù)庫(kù)前,需要使用FME Workbench進(jìn)行數(shù)據(jù)的轉(zhuǎn)換前檢查。FME Workbench是FME主要的工作流程設(shè)計(jì)平臺(tái)圖形界面,利用這個(gè)界面設(shè)計(jì)可重復(fù)使用水系設(shè)施的數(shù)據(jù)處理流程。也可以利用400多個(gè)FME轉(zhuǎn)換器,在多個(gè)數(shù)據(jù)格式間自由轉(zhuǎn)換和組合,最終完成數(shù)據(jù)處理的流程和實(shí)現(xiàn)。將CASS處理后的DWG水系設(shè)施數(shù)據(jù)用FME Datalnspector進(jìn)行數(shù)據(jù)預(yù)覽、檢查、分析,對(duì)水系設(shè)施數(shù)據(jù)進(jìn)行設(shè)計(jì)處理數(shù)據(jù)流程,并對(duì)處理前后以及過程中的數(shù)據(jù)進(jìn)行分析、檢查和驗(yàn)證[3]。FME Datalnspector與FME Workbench緊密聯(lián)系,在Workbench中可以直接發(fā)送水系設(shè)施數(shù)據(jù)到Inspector檢查任意節(jié)點(diǎn)的數(shù)據(jù),在解析數(shù)據(jù)過程中可以賦予解析過程的數(shù)據(jù)信息格式屬性,將源DWG格式轉(zhuǎn)換為GIS數(shù)據(jù)庫(kù)格式。進(jìn)行數(shù)據(jù)變換時(shí),包括水系設(shè)施結(jié)構(gòu)變換和內(nèi)容變換,結(jié)構(gòu)變換是對(duì)數(shù)據(jù)的數(shù)據(jù)的結(jié)構(gòu)進(jìn)行改變,內(nèi)容變換是對(duì)數(shù)據(jù)的幾何形狀和屬性內(nèi)容進(jìn)行改變,包括屬性添加,如圖1所示。
在使用FME進(jìn)行水系設(shè)施DWG數(shù)據(jù)到GIS數(shù)據(jù)轉(zhuǎn)換時(shí),首先讀取數(shù)據(jù)格式屬性,需要過濾水系圖層,將水系中的中線和邊線區(qū)分開,然后分離水系中線和邊線,接著進(jìn)行屬性整理,將需要的屬性信息進(jìn)行整理計(jì)算,最后輸出水系設(shè)施GIS數(shù)據(jù)。由于DWG水系統(tǒng)設(shè)施數(shù)據(jù)的復(fù)雜組成,數(shù)據(jù)在DWG數(shù)據(jù)中主要顯示為點(diǎn)和線。在實(shí)際應(yīng)用的數(shù)據(jù)轉(zhuǎn)換過程中,需要通過構(gòu)建的FME模型將這些數(shù)據(jù)轉(zhuǎn)換成GIS數(shù)據(jù)庫(kù)。因此,需要數(shù)據(jù)檢查合格后構(gòu)建水系模型[4]。
數(shù)據(jù)檢查模型主要檢查圖層正確性、空間關(guān)系、屬性信息等,根據(jù)已構(gòu)建的轉(zhuǎn)換對(duì)應(yīng)表“DWG_GDB數(shù)據(jù)結(jié)構(gòu)轉(zhuǎn)換對(duì)應(yīng)表”規(guī)則來檢查SXSS圖層、編碼、幾何類型、字體大小、GIS分類等是否錯(cuò)誤;根據(jù)數(shù)據(jù)檢查模型到出的“FAILED”圖層文件(不同地物地物編碼、水系閉合性、地物的幾何類型、GIS分類、字體大小,水流方向等),圖層對(duì)比原圖檢查錯(cuò)誤原因,并在原圖上進(jìn)行修正,最終得到正確的水系設(shè)施圖層如圖2所示。
1.3? DWG水系設(shè)施數(shù)據(jù)模型轉(zhuǎn)換
水系設(shè)施地物名稱主要包括一般雙線溝渠、無坎池塘、有坎池塘、有欄桿的直立式防洪直立式防洪墻橫線、直立式防洪墻、直立式防洪墻邊線、垅、常年河水涯線、依比例水井、一般單線溝渠、高水界等。點(diǎn):水井、流向、落潮。轉(zhuǎn)換之前河流需要構(gòu)面,并且根據(jù)河流邊線需根據(jù)河流名稱分別構(gòu)面,河流名稱注記整體化(河流名稱注記放入河流多邊形內(nèi))。
轉(zhuǎn)換模型能夠?qū)崿F(xiàn)在GIS圖層中的自動(dòng)添加名稱、類型、結(jié)構(gòu);水系(點(diǎn)、線、面)自動(dòng)添加符號(hào)代碼、要素代碼等(可根據(jù)代碼進(jìn)行符號(hào)化處理)。模型自動(dòng)構(gòu)環(huán)多邊形(但內(nèi)部多邊形仍保留,需要在GIS下編輯刪除);根據(jù)河流面自動(dòng)構(gòu)中心線(適合長(zhǎng)條形,需要在GIS下再編輯),但池塘等也提取了中心線,需要GIS下刪除(可通過代碼篩選出河流單獨(dú)提取中心線);模型轉(zhuǎn)換時(shí)可以自動(dòng)賦予河流要素代碼、名稱等。對(duì)于不同圖幅邊界的河流邊線自動(dòng)連接線(模糊距離為0)如圖3所示。
將定義好的ACCESS數(shù)據(jù)庫(kù)屬性數(shù)據(jù)結(jié)構(gòu)賦給FME中輸出的GDB數(shù)據(jù)屬性結(jié)構(gòu),按屬性過濾地物(如:按溝渠要素代碼屬性,將溝渠從水系設(shè)施中過濾出來單獨(dú)處理)。方法:源數(shù)據(jù)水系設(shè)施添加要素代碼屬性—添加函數(shù)AttributeFilter—Import溝渠要素代碼—輸出。使用GeometryFilter函數(shù)按幾何類型過濾地物(如:按點(diǎn)、線、面,將水井、流向、落潮等地物從水系圖層中過濾出來單獨(dú)處理);水系等附屬物(無實(shí)體屬性不重要的地物)單獨(dú)劃分圖層,單獨(dú)轉(zhuǎn)換(塊打散,原封不動(dòng)進(jìn)行轉(zhuǎn)換),GIS中不需要重新符號(hào)化。二維展點(diǎn)、點(diǎn)構(gòu)線函數(shù):2DPointReplacer PointConnector。湖泊等多邊形自動(dòng)附屬性(湖泊面自動(dòng)賦予湖泊名稱屬性,同時(shí)計(jì)算湖泊面積等屬性信息);還需過濾出水系中的名稱注記,做點(diǎn)-面疊置分析,輸出AREA(新建autocad_text_string)為多邊形類型。
使用轉(zhuǎn)換工具操作數(shù)據(jù),創(chuàng)建面要素并且給面要素一個(gè)對(duì)應(yīng)的MS Access數(shù)據(jù)庫(kù)中添加相應(yīng)的水系屬性。轉(zhuǎn)換工具是用于操作數(shù)據(jù)的圖形和屬性的工具,被有序地連接起來,數(shù)據(jù)從源數(shù)據(jù)流向目標(biāo)數(shù)據(jù),每一步都要用到轉(zhuǎn)換工具,一系列的轉(zhuǎn)換工具連接起來就如同一條管道[5]。水系轉(zhuǎn)換模型如圖4所示,本模型同時(shí)還完成了一個(gè)重要功能:讀取不同水系的數(shù)據(jù)屬性寫入數(shù)據(jù)庫(kù),為以后建立三維模型打下基礎(chǔ)。輔助線(要刷代碼)、不轉(zhuǎn)連接線);界址線、面和注記自動(dòng)賦予。水系需要構(gòu)面轉(zhuǎn)換,并提取中心線轉(zhuǎn)換;池塘等要構(gòu)面并自動(dòng)標(biāo)注屬性“塘”。內(nèi)圖廓內(nèi)圖幅號(hào)和名稱需要自動(dòng)賦予,單獨(dú)轉(zhuǎn)換層。
2? 結(jié)? 論
水系設(shè)施模型很好地完成了DWG數(shù)據(jù)到GIS數(shù)據(jù)的轉(zhuǎn)換,通過轉(zhuǎn)換對(duì)應(yīng)表將Cass屬性與ArcGIS屬性代碼完美對(duì)應(yīng),各種地物屬性沒有丟失,在ArcGIS中處理空間數(shù)據(jù)更加方便。該模型要解決的問題是,可以提取多邊形的質(zhì)心并賦予名稱屬性,有些注釋對(duì)圖形有偏見。該模型解決了地物名稱與編碼的自動(dòng)關(guān)聯(lián)問題,解決了GIS中矢量數(shù)據(jù)的線連接、線結(jié)構(gòu)和曲面合并問題。FME的優(yōu)勢(shì)在于它可以支持不同類型的數(shù)據(jù)交換和集成,同時(shí)在不同的應(yīng)用平臺(tái)上加載和實(shí)時(shí)傳輸、更新和反饋。
參考文獻(xiàn):
[1] 秦其明,曹五豐,陳杉,等.ArcView地理信息系統(tǒng)實(shí)用教程 [M].北京:北京大學(xué)出版社,2001.
[2] 陳影,程耀東,閆浩文.利用FME進(jìn)行GIS數(shù)據(jù)的無損轉(zhuǎn)換 [J].測(cè)繪科學(xué),2007(2):75-77+179.
[3] 陳曉輝,馬麗霞.基于FME的DWG居民地?cái)?shù)據(jù)轉(zhuǎn)換方法研究 [J].價(jià)值工程,2013,32(25):177-178.
[4] 李瑞霞,楊敏,鄧喀中.基于FME的GIS到CAD數(shù)據(jù)“無損”轉(zhuǎn)換 [J].測(cè)繪通報(bào),2009(5):55-59.
[5] 陳曉輝,馬麗霞,李丹丹.基于ArcGIS for Desktop的DWG數(shù)據(jù)三維可視化應(yīng)用 [J].常州工學(xué)院學(xué)報(bào),2014,27(2):24-26.
作者簡(jiǎn)介:柴新宇(1984—)男,漢族,黑龍江哈爾濱人,注冊(cè)測(cè)繪師,二級(jí)建造師,本科,主要研究方向:工程測(cè)量、GIS;王偉(1987—)男,漢族,甘肅平?jīng)鋈耍こ處?,本科,主要研究方向:工程測(cè)量、地理信息技術(shù)。