甘迎娟
(1.中煤航測遙感集團(tuán),陜西 西安 710199)
FME 是加拿大safe Software 公司推出的用于不同數(shù)據(jù)格式之間轉(zhuǎn)換的一款系統(tǒng)軟件。該系統(tǒng)基于OpenGIS組織提出的新的數(shù)據(jù)轉(zhuǎn)換理念“語義轉(zhuǎn)換”,提供轉(zhuǎn)換過程中重新構(gòu)造數(shù)據(jù)功能,實(shí)現(xiàn)了超過500多種數(shù)據(jù)格式之間的轉(zhuǎn)換,可為規(guī)劃技術(shù)服務(wù)提供快速處理和實(shí)現(xiàn)的解決方案。FME的優(yōu)點(diǎn)是向用戶提供了比同類GIS 軟件更加強(qiáng)大的操作靈活性與自由度,為用戶的技術(shù)處理思路提供了無限可能[1]。
以原始數(shù)據(jù)庫(GDB)-修測矢量(DLG)-更新成果數(shù)據(jù)庫(MDB)的生產(chǎn)流程為主線,敘述了FME在數(shù)據(jù)準(zhǔn)備、數(shù)據(jù)入庫及質(zhì)量檢查過程中的應(yīng)用。通過運(yùn)用上百個∕次Transformers 函數(shù),在不借助第三方軟件平臺的基礎(chǔ)上實(shí)現(xiàn)上述流程并取得了較高的成果質(zhì)量和生產(chǎn)效率[2]。多源數(shù)據(jù)修測更新入庫技術(shù)流程如圖1所示。
圖1 多源數(shù)據(jù)修測更新入庫技術(shù)流程
多源性一方面表現(xiàn)為數(shù)據(jù)獲取手段的多樣性,另一方面表現(xiàn)為不同采集方法和管理系統(tǒng)中數(shù)據(jù)具有的不同存儲、交換格式[3]。
多源數(shù)據(jù)的特點(diǎn)是多元異構(gòu),多元指數(shù)據(jù)來源多樣化。多源數(shù)據(jù)融合是指將各種不同的數(shù)據(jù)信息進(jìn)行綜合,吸取不同數(shù)據(jù)源的特點(diǎn),然后從中提取出統(tǒng)一的,比單一數(shù)據(jù)更好、更豐富的信息。項目已有多源數(shù)據(jù)(格式為GDB、DEM、DGN),其中DLG 來源于最新時相的航空影像采集,GDB 來源于地理國情普查成果,DEM來源于農(nóng)村承包經(jīng)營權(quán)確權(quán)成果。異構(gòu)指數(shù)據(jù)的類型、結(jié)構(gòu)、特征等的不一致性。項目中,DLG 的格式為*.DGN,是一種矢量文件;GDB 的格式為*.GDB,是一種空間數(shù)據(jù)庫集;DEM的格式為*.GRID,是一種數(shù)字高程模型的存儲方式。
使用航空攝影測量方法,借助FME 數(shù)據(jù)重構(gòu)功能,全面修測更新已有的基礎(chǔ)地形地貌數(shù)據(jù)庫。同時,擴(kuò)充一些必要的屬性數(shù)據(jù),建立空間與非空間數(shù)據(jù)之間的聯(lián)系,為各行業(yè)提供更準(zhǔn)確、全面的數(shù)據(jù)服務(wù)。
1.2.1 DEM提取曲線
農(nóng)村承包經(jīng)營權(quán)確權(quán)DEM成果在項目中有2個應(yīng)用,DEM生成LAS點(diǎn)文件用于地理國情普查成果GDB數(shù)據(jù)庫的高程賦值。DEM同時生成等高線用于立體模型修測。
1.2.2 GDB符號化
通過FME的模板中的“Joiner”函數(shù),以Excel表中的GB 對應(yīng)項為識別信息碼,掛接FH.xlsx屬性映射對照表,屬性映射對照表由GB 列、符號名列、線型名列組成,并在轉(zhuǎn)換過程中掛接seed.dgn 的種子文件,通過轉(zhuǎn)換將數(shù)據(jù)庫中的點(diǎn)狀數(shù)據(jù)符號化,線狀數(shù)據(jù)賦于線型信息。完成從GDB 到DLG 的數(shù)據(jù)格式轉(zhuǎn)換,GDB數(shù)據(jù)符號化示意如圖2所示。
圖2 GDB數(shù)據(jù)符號化示意圖
1.2.3 GDB賦Z值
通過符號化作為修測的GDB文件,必須要賦三維值后才能在立體模型中正確顯示和使用。在格式轉(zhuǎn)換過程中,同時進(jìn)行GDB 與DME 生成的LAS 點(diǎn)疊加分析,將LAS 點(diǎn)的三維值(Z 值)賦給GDB 文件。賦值過程中,使用“SurfaceDraper”,“CoordinateExtractor”,“FeatureMerger”,“3DForcer”等關(guān)鍵函數(shù),最終輸出3D 的矢量DLG 成果。符號化成果賦Z 值示意如圖3所示。
圖3 符號化成果賦Z值示意圖
1.2.4 立體矢量修測
3D 的矢量DLG 成果在最新時相的航空影像立體模型下,根據(jù)相應(yīng)的UCM表進(jìn)行修測更新,修測內(nèi)容包括變化的、新增的、刪除的[4-5]。
統(tǒng)一性:要素內(nèi)容、表達(dá)方式、采集指標(biāo)、數(shù)據(jù)模型、組織結(jié)構(gòu)等內(nèi)容統(tǒng)一,保證數(shù)據(jù)生產(chǎn)與建庫過程中數(shù)據(jù)成果的準(zhǔn)確性和一致性。
兼容性:滿足該省1∶10 000DLG 數(shù)據(jù)生產(chǎn)、建庫和應(yīng)用的需要,統(tǒng)籌兼顧數(shù)據(jù)庫快速出圖的要求,以及其他行業(yè)的需求??蓴U(kuò)展性:預(yù)留數(shù)據(jù)層、要素代碼和要素屬性的擴(kuò)充空間,要素代碼和屬性項應(yīng)與規(guī)范相銜接。
數(shù)據(jù)分層的命名采用5 個字符,第一個字符為數(shù)據(jù)比例尺代碼(G為1∶10 000,H為1∶5 000),第二個至第四個字符為數(shù)據(jù)內(nèi)容的縮寫,第五個字符代表幾何類型(A:面,L:線,P:點(diǎn))數(shù)據(jù)分層見表1所示。
表1 1∶10 000DLG數(shù)據(jù)分層表
使用FME Workbench入庫非常便捷,通過前期的數(shù)據(jù)分析、修測整理、編寫映射文件及模板,實(shí)現(xiàn)使用FME完成一鍵入庫。流程簡潔、操作簡便、交互性好。FME修測入庫流程如圖4所示。
圖4 FME修測入庫流程圖
屬性映射文件內(nèi)容包含修測矢量文件的層、色、粗度及屬性庫的層、GB碼等信息,通過GB碼的唯一性提取數(shù)據(jù)庫并填寫相應(yīng)的屬性信息。屬性映射文件見表2所示。
表2 屬性映射文件
數(shù)據(jù)入庫的基本思路為在Bently 公司的microstationv8 軟件下,進(jìn)行矢量數(shù)據(jù)修測并整理為以點(diǎn)、線、面為表達(dá)格式的矢量文件。在FME軟件下,通過編寫數(shù)據(jù)轉(zhuǎn)換模板,運(yùn)用“joiner”,“ExpressionEvaluator”,“AttributeCreator”,“CoordinateExtractor”,等69 個∕次Transformers 函數(shù)完成數(shù)據(jù)庫的提取。
數(shù)據(jù)庫最終成果需添加投影信息。一般情況是在ArcGIS使用ArcTOOLBOX下的工具就能實(shí)現(xiàn),但對于大數(shù)據(jù)量來說,F(xiàn)ME的批量操作更高效。FME中Esri-Reprojector轉(zhuǎn)換器的思想為使用ESRI重投影庫,把要素坐標(biāo)從一個坐標(biāo)系統(tǒng)重投影到另一個坐標(biāo)系統(tǒng),使用Batch Deploy命令批量完成投影變換。
3.1.1 數(shù)據(jù)處理原則
規(guī)范性(要素分類、數(shù)據(jù)分層、屬性項定義、要素屬性等需與國標(biāo)一致),一致性(DLG 數(shù)據(jù)編碼標(biāo)準(zhǔn)、拓?fù)潢P(guān)系、格式概念須一致),完整性(數(shù)據(jù)層、覆蓋區(qū)域以及內(nèi)部文件必須滿足完整性要求),正確性(數(shù)據(jù)在滿足圖形拓?fù)潢P(guān)系的同時,各屬性項順序、名稱、長度、類型、分類、屬性等相關(guān)內(nèi)容必須正確)。
3.1.2 圖形要求
所有面、線要素中均不允許存在圓弧、B 樣條曲線和Multiline的線串,源數(shù)據(jù)中如果存在該類型的線串,則需處理為與源形狀基本一致的多段線類型。
3.1.3 拓?fù)湟?/p>
各類點(diǎn)、線、面狀要素都不能有自重疊。點(diǎn)、線、面要素之間也不能有不合理的相互重疊。線、面要素不能存在自相交、折返線。構(gòu)面要素與原始構(gòu)面邊線應(yīng)保持線面的節(jié)點(diǎn)套合,最大誤差不超過0.01 m。
3.1.4 屬性要求
必填屬性不得為空,要素圖形表示與“分類代碼”屬性保持一致;圖形的名稱、類型等屬性與圖面注記一致。
對矢量數(shù)據(jù)進(jìn)行質(zhì)量檢查是獲取精確性較高的矢量數(shù)據(jù)的必要手段[6]。根據(jù)上述質(zhì)量檢查內(nèi)容及質(zhì)量要求結(jié)合項目本身的特點(diǎn),在數(shù)據(jù)質(zhì)量檢查設(shè)計過程中,以要素類型為研究對象,從點(diǎn)、線、面3 個方面,重點(diǎn)關(guān)注以下幾個方面的內(nèi)容。數(shù)據(jù)質(zhì)檢內(nèi)容見圖5所示。
圖5 數(shù)據(jù)質(zhì)檢內(nèi)容
DLG 數(shù)據(jù)轉(zhuǎn)換為MDB 格式后,需要對數(shù)據(jù)庫進(jìn)行面折刺檢查,空間關(guān)系合理性檢查,復(fù)合要素檢查等及投影變換等。質(zhì)量檢查可以通過ArcGIS 實(shí)現(xiàn),也可通過FME 編寫模板實(shí)現(xiàn),使用FME 編寫檢查模板有3 個方面的優(yōu)點(diǎn):第一,交互性好且檢查效率高,輸出結(jié)果僅需數(shù)秒且可直接導(dǎo)入矢量數(shù)據(jù)修改。第二,可進(jìn)行一對一的定制,對于拓?fù)潢P(guān)系檢查,在模板中寫定拓?fù)湟?guī)則,操作時無需選擇層及規(guī)則。第三,對于有的錯誤項檢查過程即修改過程,運(yùn)行完檢查模板后自動修復(fù)錯誤項。加快制圖更新速度、推進(jìn)生產(chǎn)單位整體工作效率,不斷提高數(shù)據(jù)成果質(zhì)量[7]。
3.2.1 位置關(guān)系檢查
面折刺在ArcGIS檢查的思想為通過ArcTOOLBOX完成要素折點(diǎn)轉(zhuǎn)點(diǎn)和要素轉(zhuǎn)線,然后在Arccatalog 下創(chuàng)建屬性字段,通過python編寫腳本計算出各個折次點(diǎn)的角度。根據(jù)屬性表中的角度字段篩選出最小銳角進(jìn)行排查折次。實(shí)現(xiàn)過程非常繁瑣,且無法自動修改。
FME 下“SpikeRemover”轉(zhuǎn)換器的思想為每一對由3 個連續(xù)不同的點(diǎn)組成的線段。如果兩線段角(度)小于或等于指定的最大角度,那么中間點(diǎn)(為尖銳)被刪除。函數(shù)原理如圖6所示。使用FME檢查模板僅數(shù)秒就完成了面折刺的檢查和修改。
圖6 SpikeRemover函數(shù)原理
自 相 交 使 用“SelfIntersector”, “Intersector”,“Tester”等函數(shù)篩選。自相交檢查模板如圖7所示。
圖7 自相交檢查模板
偽節(jié)點(diǎn)使用“chopper”,“PointOnPointOverlayer”,“DuplicateRemover”,“SpatialFilter”,“Tester”等函數(shù)篩選。偽節(jié)點(diǎn)模板如圖8所示。其余描述線懸掛、線相交、小面檢查、面重疊檢查等位置關(guān)系錯誤模板不再一一敘述。
圖8 偽節(jié)點(diǎn)檢查模板
3.2.2 拓?fù)潢P(guān)系檢查
拓?fù)潢P(guān)系檢查功能通過使用ArcGIS 軟件中與拓?fù)涮幚硐嚓P(guān)的組件實(shí)現(xiàn),過程為設(shè)置容差、添加投影信息、添加拓?fù)湟?guī)則等一系列。該檢查方式操作繁瑣,且只能檢查SHP、MDB等庫體數(shù)據(jù),交互性和操作性差,嚴(yán)重影響作業(yè)效率。
以曲線穿過房屋、比高點(diǎn)及高程點(diǎn)落水2 種情況描述FME中實(shí)現(xiàn)拓?fù)潢P(guān)系檢查的過程:使用“LineOn-AreaOverlayer”,“PointOnAreaOverlayer”,“Tester”3個轉(zhuǎn)換器,通過點(diǎn)、線、面不同類型GB 碼的空間分析疊加,以及疊加結(jié)果的關(guān)系判斷完成曲線是否穿過房屋面檢查和比高點(diǎn)及高程點(diǎn)是否落入至水系面檢查,并根據(jù)測試的結(jié)果以DWG 格式的矢量文件輸出錯誤要素。同樣,模板運(yùn)行時間僅數(shù)秒就完成該項拓?fù)潢P(guān)系的檢查。
復(fù)合要素檢查。ArcGIS 下處理復(fù)合要素非常容易,但是檢查出復(fù)合要素需要借助python編寫腳本才能實(shí)現(xiàn),這對沒有編程基礎(chǔ)的測繪工作者實(shí)現(xiàn)起來有些難度。
FME使用“AggregateFilter”轉(zhuǎn)換器,該轉(zhuǎn)換器的思想為根據(jù)聚合體的幾何圖形的類型、或者根據(jù)輸出單個幾何對象,過濾出不同的要素。將原始數(shù)據(jù)庫輸入至FME檢查模板中,使用該轉(zhuǎn)換函數(shù)篩選出非法線聚合體和非法面聚合體,同樣數(shù)秒即可輸出檢查結(jié)果。
3.2.3 屬性完整性檢查
點(diǎn)狀符號數(shù)據(jù)完整性檢查主要是在數(shù)據(jù)庫的提取過程中,對必填項進(jìn)行強(qiáng)制賦值。以高程點(diǎn)為例,高程點(diǎn)屬性結(jié)構(gòu)如表3所示。
表3 高程點(diǎn)屬性結(jié)構(gòu)表
上表中的必填項GB、ELEV,其中GB 為唯一標(biāo)識碼。在數(shù)據(jù)庫提取中通過函數(shù)“AttributeRenamer”重命名獲得高程值屬性字段?,F(xiàn)勢性通過函數(shù)“AttributeCreator”派生創(chuàng)建更新狀態(tài)、數(shù)據(jù)庫、版本標(biāo)識屬性字段。
使用FME模板極大地提高了數(shù)據(jù)處理效率和數(shù)據(jù)質(zhì)量,節(jié)約了人力資源,是多源數(shù)據(jù)庫修測更新的強(qiáng)大技術(shù)支撐。同時,項目所取得的數(shù)據(jù)成果現(xiàn)勢性好、質(zhì)量優(yōu)良,對于滿足國家經(jīng)濟(jì)建設(shè)和社會發(fā)展的需要,提高測繪地理信息的服務(wù)保障能力具有十分重要的作用和價值[8]。