陳繼山
(1.蘇州市規劃編制信息中心,江蘇 蘇州 215006)
CAD與SDE之間的快速數據轉換
陳繼山1
(1.蘇州市規劃編制信息中心,江蘇 蘇州 215006)

CAD數據與SDE數據互相轉換的本質是空間數據模型之間的轉換,制圖不規范以及CAD與SDE在數據模型上的差異是雙方數據共享與互操作的主要障礙。FME提供了解決這一問題的思路及技術要點,有效提高了工作效率。
FME;數據轉換;CAD數據;SDE數據
實現了CAD數據與SDE數據的無損互轉換。
FME是基于OpenGIS的數據轉換理念而推出的要素操作引擎,通過在數據轉換時的重構數據讓用戶即時獲得相關數據。FME將空間要素看成是二維或三維圖形相關聯的一組屬性名稱和屬性值的集合,以實現以下目的:①作為獨立程序運行,聯結多源數據并能轉換為另一種目標數據,提供高質量的空間數據轉換;②以組件方式嵌入其他應用系統中,通過不同系統的連接與互操作延長系統的生命周期;③作為一個后臺服務程序運行,通過Internet協議來實現Web方式的數據轉換服務,可以B/S和C/S兩種方式調用;④可以進行任意的格式擴展,如圖1。

圖1 FME語義映射模型
FME的轉換規則包含3個部分:①目標要素定義,定義輸出要素的數據模型,包括要素的類型、屬性及格式。②源要素轉換規則,用來確定被轉換要素的類型、匹配屬性和映射屬性,并過濾輸入要素。③目標要素轉換規則,定義符合約束條件的輸入要素處理方式并形成對照關系。
此外,FME可以直接與AutoCAD、ArcGIS等軟件集成,用戶也可通過FME Object來擴展GIS軟件平臺以訪問更多的數據格式。FME有400多個轉換器,對許多工作流程而言,通過語義轉換將FME與CAD、GIS軟件配合使用,不僅可以提高工作效率,也能夠提升軟件數據的互操作性,實現同一單位內部或不同單位之間的不同數據集中式管理與共享,改善用戶已有數據的質量。
2.1 CAD數據導出成SDE數據
CAD數據一般包括圖層定義、要素符號、要素編碼、要素擴展屬性等,有以下2個特點:①地理信息數據按比例尺劃分圖幅;②部分要素帶有擴展屬性。盡管CAD數據定義規定嚴格,但其點、線、面類型是混合的,繪圖較隨意,同一要素的幾何屬性很可能不一致。CAD數據盡管形式上體現了實體間的空間及拓撲關系,但并不能表達并記錄它們。
SDE數據一般分為點要素、線要素、面要素、注記以及各類關系。為保證入庫數據的質量與可靠性,SDE各類要素之間均有相對嚴格的空間及拓撲關系。如線要素不能自相交;面要素間不能相互重疊,連續連接的多邊形區域中間不能出現空隙等。考慮到配圖,當CAD數據導入為SDE數據時,需要記錄要素的編碼、線型、實體類型名稱、圖層、色彩、比例因子等,以用于配圖及反向數據導出。當分幅CAD數據導入至SDE時,為形成一個無縫整體,還需要進行接邊與屬性整理。

表1 CAD數據、SDE數據對要素的支持
空間數據模型是對客觀世界抽象概括的結果,是關于數據和聯系的邏輯組織形式的表示。而映射則是表示集合間的對應關系,即集合中的每個元素與同一或另一集合中的元素相對應的規則。CAD數據與SDE數據對要素類的組織是不同的,各要素的映射如表2。

表2 CAD數據、SDE數據要素分類對應表
將CAD數據轉換成SDE數據,首先要將CAD要素重新分類,并結合SDE中的地理要素分類進行調整,建立源數據與目標數據之間的對應關系,并按FME要求生成語義映射文件。整個過程如圖2。

圖2 CAD數據轉換為SDE數據的流程
使用的FME轉換器主要有:AttributeExposer用于暴露CAD數據的相關屬性;GeometryFilter將數據分為點線面及注記;2DForcer將CAD要素強制轉換為二維空間數據;AttributeCopier進行屬性定義;TestFilter進行條件過濾;GeometryValidator檢測輸入要素,并修復部分要素;LengthCalculator將微短線刪除。
在CAD數據轉換為SDE數據時,為修正CAD數據制圖不規范而產生的不合理或錯誤的要素,可以做線的接邊、面的融合、線的捕捉等操作。使用的轉換器主要有:LineOnLineOverlayer進行線線壓蓋操作;PointOnAreaOverlayer進行點面關系檢查;AreaCalculator、AreaOnAreaOverLayer提取面面重疊空隙并去除微空隙;Buffer生成緩沖區;SpatialFilter用于空間過濾,找出可能的接邊要素;Snapper、LineJoiner、GeometryCoercer對容差范圍內的要素進行線線相接并生成對應的要素;Counter對要素進行計數,并用作Dissolver的分組屬性;對在圖幅邊界分別封閉的面使用Dissolver進行融合形成新要素。

圖3 接邊處理的部分流程
2.2 SDE數據導出成CAD數據
FME可以最大限度保證出庫數據圖形及屬性信息的完整。將SDE數據還原成CAD數據的要點在于制作CAD數據模板。
還原過程為制作CAD數據模板、選擇導出范圍、導出數據對應表的建立、生成圖幅。數據導出時FME設定的模板相當于一幅全要素圖。通過模板,FME可以獲得各要素的定義,如線型、Block、Cell、填充、圖層分類等。

圖4 GIS數據導出成CAD數據的流程
使用的FME轉換器主要有:AttributeExposer用于暴露要素屬性,AttributeCreator創建屬性并建立對應關系,BoundsExtractor進行輸出矩形范圍提取,Clipper進行圖形要素的剪切;LineCloser將線要素封閉成面要素;ExpressionEvaluator根據坐標數據計算圖幅號;2DGridCreator生成格網。當要素使用寫模塊寫出去時,可使用FME的屬性扇出功能,扇出屬性為CAD的圖層名稱即可實現按圖層輸出。導出過程中如果發生投影變換,可使用Reprojector進行投影變換,使用CoordinateExtractor提取要素坐標。
對CAD圖形的擴展屬性,例如由南方CASS生產的測繪數據,從SDE導出至CAD時,為保證數據的一致性,導出時可以修改extended_data_list{}、extended_data{}.application_name、extended_data{}. string{}、fme_attrib_info{}的相關值,以實現擴展數據生成及填充、屬性數據標注顯示等。
通過以上轉換,從SDE內導出的CAD數據與入庫前的CAD數據在圖形顯示、符號表達、注記標注方式等完全一致,示例見圖5、6、7。

圖5 CAD原始圖

圖6 CAD數據轉換為SDE后的數據

圖7 SDE轉換出的CAD圖
“數字蘇州”公共服務平臺為政府相關部門及社會提供服務多年。CAD數據與SDE數據的無損互轉換屬于數據應用與維護系統,已經成功應用多次。CAD數據與SDE數據的無損互轉換方便了數據管理,數據維護人員不需要同時維護多個不同格式的數據,只需要將注意力關注至SDE數據即可,極大地提高了工作效率和數據增值服務水平。
SDE及CAD數據是目前使用較為廣泛的GIS數據。隨著信息化建設的發展,社會對基礎地理信息數據需求不斷增多,GIS的發布已經從傳統的桌面發布轉向網絡發布,這就對數據格式轉換和共享提出了更高的要求。FME基于語義的轉換為解決這一問題提供了一條快捷的解決途徑。使用這一方法,對蘇州市區行政區域內8 000余幅大比例尺地形圖及400余幅地下管線數據進行了數據互轉換,保證了基礎地理信息數據庫的更新,取得了較好的經濟和社會效益。
[1] 楊婷. CAD地形圖高程信息快速提取的技術與實現[J].地理空間信息,2015,13(1):162-164
[2] 王康.地理信息共享平臺及其關鍵技術的研究與應用[D].廣州:廣東工業大學,2011
[3] 徐景中,朱大明.基于FME的空間數據語義轉換技術的應用[J].昆明理工大學學報(理工版):2005,30(2):1-14
[4] 陳香.基于FME的CAD數據到GIS數據無損轉換方法研究[J].測繪與空間地理信息,2013,36(8):163-168
[5] 胡明星.基于FME和ArcGIS的面狀多邊形數據處理方法[J].測繪,2013,36(4):156-158
[6] 張偉.矢量更新的變化信息提取與統計方法研究[J].測繪與空間地理信息,2012,35(11):91-97
[7] 尹言軍,劉昊.基于AutoCAD Map3D和FME圖庫一體化在地圖制圖職業技能競賽中的應用[J].城市勘測,2013(6):33-39
P208
B
1672-4623(2016)10-0050-03
10.3969/j.issn.1672-4623.2016.10.014 CAD數據與SDE數據互相轉換的本質是空間數據模型之間的轉換,核心是數據的共享與互操作。從內容上看,空間數據主要有3個方面:空間位置信息、屬性信息、要素的空間關系。DWG數據與SDE數據互相轉換的核心是能夠共享與互操作上述3個信息,保證信息的完整不丟失。因此轉換過程不僅是圖的本身,更要關注圖背后所表達的信息,要能夠完整構建CAD與SDE的映射關系,準確描述空間信息、屬性信息、拓撲關系等。二者數據模型上的差異導致雙方共享及互操作出現障礙, FME通過重構數據實體保持圖形與屬性的一致,
陳繼山,碩士,高級工程師,主要從事測繪與地理信息系統的應用研究工作。
2015-12-23。
項目來源:國家自然科學基金資助項目(41274022)。