陳再春
(常州市測繪院,江蘇 常州 213003)
全面啟用2000國家大地坐標(biāo)系是開展城市空間布局規(guī)劃、推動(dòng)“多規(guī)合一”“多測合一”等重點(diǎn)工作順利實(shí)施的基本保障[1]。雖然地形圖按區(qū)域管理已廣泛使用,但許多城市測量單位的地形圖以DWG格式分幅管理任在工作中發(fā)揮著重要作用。高質(zhì)量地完成非2000國家大地坐標(biāo)系到2000國家大地坐標(biāo)的轉(zhuǎn)換,是全面啟用2000國家大地坐標(biāo)系的重要先行基礎(chǔ)性工作,圖幅接邊處數(shù)據(jù)的融合是進(jìn)行坐標(biāo)轉(zhuǎn)換前的一個(gè)必須的數(shù)據(jù)處理工藝,傳統(tǒng)的數(shù)據(jù)融合方法,主要通過手工或半自動(dòng)的模式把接邊處的數(shù)據(jù)拼接在一起,刪除多余的房屋樓層注記等,對(duì)在圖幅邊的面狀要素還要先在內(nèi)圖廓線上找出交點(diǎn)先打斷,刪除與內(nèi)圖廓重合的線后再進(jìn)行拼接,處理的效率低[2]。本文利用FME軟件對(duì)SHP格式的大比例尺分幅地形圖進(jìn)行坐標(biāo)轉(zhuǎn)換前的圖幅接邊處數(shù)據(jù)的融合方法,不需人工交互干預(yù),即可完成批量數(shù)據(jù)的處理。將DWG格式數(shù)據(jù)轉(zhuǎn)換成SHP后進(jìn)行融合處理,減少了對(duì)DWG擴(kuò)展屬性進(jìn)行讀寫的耗費(fèi)并充分利用SHP圖層的優(yōu)點(diǎn)。本文使用的方法在常州市 2 900多平方公里的 1∶500、1∶1 000地形圖坐標(biāo)轉(zhuǎn)換數(shù)據(jù)處理中得到了驗(yàn)證,證明該方法是一個(gè)高效的方法。
FME(Feature Manipulate Engineering,簡稱FME)是加拿大Safe Software公司開發(fā)的空間數(shù)據(jù)轉(zhuǎn)換處理系統(tǒng),它是完整的空間ETL解決方案。該方案基于OpenGIS組織提出的新的數(shù)據(jù)轉(zhuǎn)換理念“語義轉(zhuǎn)換”,通過提供在轉(zhuǎn)換過程中重構(gòu)數(shù)據(jù)的功能,實(shí)現(xiàn)了超過250種不同空間數(shù)據(jù)格式(模型)之間的轉(zhuǎn)換,為快速、高質(zhì)量、多需求的數(shù)據(jù)轉(zhuǎn)換應(yīng)用提供了高效、可靠的手段[3]。FME能將數(shù)據(jù)轉(zhuǎn)換與豐富的GIS數(shù)據(jù)處理功能結(jié)合在一起,將技術(shù)人員關(guān)注重點(diǎn)放在具體的數(shù)據(jù)流、業(yè)務(wù)流的搭建上,只要搭建好流程、定義好規(guī)則,即可開展相應(yīng)的數(shù)據(jù)處理工作,而且它的執(zhí)行效率非常高[4]。
第一步,將與分幅線相交的地物要素從原分幅數(shù)據(jù)中分離出來。分離時(shí)包括分幅線處的房屋面內(nèi)的樓層文字注記,池塘面中的性質(zhì)注記,如“塘”,疊加原分幅線后如圖1所示,圖中的這些要素就是需要進(jìn)行拼接處理的要素。同一房屋面一般跨2個(gè)圖幅,最多跨4個(gè)圖幅,同一道路中心線、道路邊線、河流面、植被面等跨的圖幅比較多,有的多達(dá)幾十個(gè)圖幅。
第二步,按照本地形圖的數(shù)據(jù)標(biāo)準(zhǔn),對(duì)圖1的數(shù)據(jù)做一些必要的檢查,如封閉性檢查,屬性檢查,對(duì)檢查出的問題一一修改,做這工作的目的是為了保證高質(zhì)量完成下一圖的自動(dòng)拼接工作。
第三步,將圖1所示的數(shù)據(jù)利用格式轉(zhuǎn)換工具,帶屬性轉(zhuǎn)換成SHP文件。圖2是轉(zhuǎn)換后的房屋樓層注記點(diǎn)、REST圖層(居民地房屋面)及屬性信息。
圖2 房屋面及屬性
利用FME2018拼接處理的核心流程如圖3所示。讀入分幅線.shp和REST.shp,用到的FME轉(zhuǎn)換器有SpatialFilter(空間過濾轉(zhuǎn)換器)、GeometryCoercer(幾何變換器)、LineOnLineOverlayer(線與線覆蓋轉(zhuǎn)換器)、Tester(過濾器)、Counter(分類計(jì)數(shù)器)、LineOnAreaOverlayer(線與面覆蓋轉(zhuǎn)換器)、Dissolver(面合并融合轉(zhuǎn)換器),最后輸出成融合后的RESN圖層。
圖3 FME面狀要素融合流程
SpatialFilter保持默認(rèn)設(shè)置,目的是根據(jù)空間關(guān)系過濾出與分幅線相交的要素;GeometryCoercer將面要素轉(zhuǎn)換成FME的線;LineOnLineOverlayer的Overlap(壓蓋計(jì)數(shù)器)用以記錄分幅線和房屋面轉(zhuǎn)換成線后的壓蓋情況,當(dāng)Overlap為1時(shí),表示沒有疊加壓蓋的線,Overlap為2時(shí),表示有一條線與之有壓蓋,當(dāng)Overlap=n(n≥3)時(shí),表示有n-1條線與之壓蓋;Tester將LineOnLineOverlayer輸出的Overlap值設(shè)置成≥3;Counter保持默認(rèn);LineOnAreaOverlayer保持默認(rèn);Dissolver的分組參數(shù)可以添加多個(gè)屬性,如圖2的YSDM(要素代碼)、FWJG(房屋結(jié)構(gòu))、FWCS(房屋層數(shù)),該項(xiàng)添加的屬性項(xiàng)越多,合并的房屋面的條件就越苛刻,由于某個(gè)屬性不接邊的房屋面可能不會(huì)被合并。當(dāng)接邊處房屋要素復(fù)雜時(shí),圖3的流程僅運(yùn)行1次不能達(dá)到期望的效果,可以將輸出的融合后的房屋面數(shù)據(jù)作為中間成果,再重復(fù)執(zhí)行1次~2次,從常州市 2 900多平方公里 1∶500、1∶1 000的地形圖實(shí)際處理結(jié)果來分析,循環(huán)運(yùn)行3次后,即使是跨幾十個(gè)圖幅的河流面均達(dá)到了預(yù)期的目標(biāo)。
植被面、水系面、道路面等的融合處理均可參照對(duì)房屋面的處理方法進(jìn)行,道路中心線等線狀地物的拼接比面的融合要簡單,用到的FME核心轉(zhuǎn)換器為LineOnLineOverlayer(線與線覆蓋轉(zhuǎn)換器)、LineCombiner(線合并轉(zhuǎn)換器),當(dāng)使用Tester時(shí)將LineOnLineOverlayer輸出的Overlap值設(shè)置成不為空。
以房屋面為例,當(dāng)n(n≥2)個(gè)房屋面合并成一個(gè)后,原則上會(huì)多出來n-1個(gè)房屋樓層、房屋幢號(hào)的文字注記,圖4是用FME搭建的處理多余文字注記的流程。讀入合并后的REST.shp和TEXTP.shp(需要處理的原始樓層注記點(diǎn)),用到的FME轉(zhuǎn)換器有AttributeCreator(屬性創(chuàng)建轉(zhuǎn)換器)、Counter(分類計(jì)數(shù)器)、PointOnAreaOverlayer(點(diǎn)疊加面轉(zhuǎn)換器)、CenterPointReplacer(中點(diǎn)替代轉(zhuǎn)換器)、FeatureMerger(功能合并轉(zhuǎn)換器)、Offsetter(坐標(biāo)偏移轉(zhuǎn)換器)、DuplicateFilter(重復(fù)過濾器),然后輸出剔除了多余文字注記的TEXTP.shp。
圖4 刪除多余文字注記的流程
圖4流程的思想為:對(duì)輸入的每個(gè)房屋面要素用Counter進(jìn)行分類計(jì)數(shù)并設(shè)置輸出屬性為“順序號(hào)”;設(shè)置PointOnAreaOverlayer的點(diǎn)輸出列表為“Plist”,選擇的屬性為“順序號(hào)”,該轉(zhuǎn)換器的面輸出端接CenterPointReplacer轉(zhuǎn)換器,CenterPointReplacer選擇內(nèi)部點(diǎn),并用AttributeCreator創(chuàng)建目標(biāo)X、目標(biāo)Y屬性,用以接收創(chuàng)建的內(nèi)部點(diǎn)的X和Y坐標(biāo);對(duì)PointOnAreaOverlayer的點(diǎn)輸出端用AttributeCreator創(chuàng)建屬性“繼承的順序號(hào)”“原始X”“原始Y”,繼承的順序號(hào)的屬性為該文字注記所在的房屋面的順序號(hào)屬性值,原始X為該文字注記的X坐標(biāo);FeatureMerger設(shè)置的條件為“繼承的順序號(hào)”等于“順序號(hào)”;用AttributeCreator對(duì)FeatureMerger的匹配輸出端創(chuàng)建“DX”“DY”屬性,DX的屬性為目標(biāo)X-原始X的值,用Offsetter將同一房屋面的相同文字注記移動(dòng)到同一空間位置,X偏移量設(shè)置成DX,Y偏移量設(shè)置成DY;最后用DuplicateFilter刪除重復(fù)的注記文字點(diǎn)。
需要融合、拼接的地物要素和重復(fù)文字注記處理完成后的效果如圖5。這個(gè)時(shí)候可以將融合后的多個(gè)SHP圖層用轉(zhuǎn)換工具轉(zhuǎn)換成一個(gè)DWG,在CAD中將這部分?jǐn)?shù)據(jù)粘貼到待做坐標(biāo)轉(zhuǎn)換的分塊DWG中去,進(jìn)行后續(xù)的坐標(biāo)轉(zhuǎn)換工作。
圖5 處理完成后的居民地房屋及注記點(diǎn)
基于FME的分幅地形圖數(shù)據(jù)融合的方法,先將某個(gè)區(qū)域的DWG格式分幅地形圖分成若干片,每片的分幅地形圖拼接成一個(gè)DWG文件,將與分幅線相交的線、面、需要處理的文字注記剪裁出來轉(zhuǎn)換成分層SHP文件,然后對(duì)SHP面文件進(jìn)行批量融合,對(duì)SHP線文件進(jìn)行批量拼接,對(duì)融合后的多余文字注記進(jìn)行批量刪除,然后將處理好的SHP文件帶屬性轉(zhuǎn)換成DWG,最后粘貼到分塊DWG中,該方法已經(jīng)在常州市中心城區(qū)、經(jīng)開區(qū)、金壇區(qū)、溧陽市2019年的2000國家大地坐標(biāo)系地形圖數(shù)據(jù)轉(zhuǎn)換工程中作為主要方法使用。工程統(tǒng)計(jì)表面,該方法比傳統(tǒng)的作業(yè)方法時(shí)間耗費(fèi)減少3/4,數(shù)據(jù)處理質(zhì)量有明顯提升,減小了勞動(dòng)強(qiáng)度,在類似的需要進(jìn)行數(shù)據(jù)融合的工程中可以推廣使用。由于FME的轉(zhuǎn)換器多達(dá)幾百個(gè),再加上版本的不斷更新和個(gè)人所熟悉的轉(zhuǎn)換器有差異,本文方法中使用的轉(zhuǎn)換器不一定是最優(yōu)的組合。