杜 輝
(鐵道第三勘察設計院集團有限公司,天津 300142)
語義轉換是由OpenGIS協會1996年提出的術語,允許用戶在數據轉換過程中重新定義、構造數據,即用戶不但可以進行簡單的數據格式轉換,還可以根據其特殊的需求提取數據集合內感興趣的元素,重新拆分、組合,生成新的數據元素(或者作為數據元素的屬性字段出現),亦可稱之為數據重構。語義轉換具有如下特點:
①定義了數據集間的相互映射關系。
②使用要素操作語言,為空間數據轉換提供有力工具(函數)。
語義轉換為實現空間數據復雜轉換的專業(yè)化、快速化提供了可能。
FME(Feature Manipulation Engine空間數據操作引擎)是加拿大Safe Software公司推出的空間數據轉換處理系統(tǒng),實現GIS數據之間及與其他數據間的轉換,該系統(tǒng)基于OpenGIS組織主張的數據轉換理念“語義轉換”,實現數據轉換過程中的數據重構。系統(tǒng)提供超過100種不同空間數據格式的相互轉換,解決以往轉換軟件中存在的問題;它不再將數據轉換問題簡單看作是從一種格式到另一種格式的變換,而是力求將不同要素同構化并向用戶提供組件,以滿足不同用戶的個性化需求。以某空間地理信息數據轉換項目為例進行語義轉換的定義(如圖1所示)。
圖1 某空間地理信息數據轉換FME語義轉換模型
首先針對原始數據進行語義分析,得到如表1所示的原始數據圖層說明:原始數據用9個文件夾分別存儲不同類地物要素;其次根據工程需要定制圖層映射,如表2所示。
表1 原始數據圖層要素說明(語義分析)
表2 重要屬性字段映射關系
通過表1對原始數據的語義分析,可以進一步在ARCGIS軟件中瀏覽各個圖層,搜集敏感屬性字段,用于制定映射關系。
表2定制了重要屬性字段間的映射關系,可見,語義轉換對很多原始圖層進行了必要的拆分,生成了新的圖層。
定制了FME語義轉換的屬性對應關系后,就可以進行FME Spatial ETL Tool的模塊化過程,該過程就是整個語義轉換的模型定制實質性過程。對以上兩表的深入剖析之后,在模型建立過程中仍難免出現要素遺漏的現象,因此模型定制過程實際上也是模型完善的過程。
語義轉換模塊使用了FME系統(tǒng)默認的語義映射關系,通過設置“一對多”映射關系,可實現同一類數據每一屬性字段生成一個獨立的CAD層,另外還使用了FME函數模塊,該功能是提取源數據中的敏感屬性字段并且與其他屬性字段一起重構成為全新的字段或者圖層。
以某空間地理信息數據轉換項目為例,等高線和高程點及高程注記的轉換過程如圖2所示。
圖2 等高線及高程點語義轉換模塊
以上過程除使用了FME默認語義轉換ARCGIS Coverage(*.adf)to AUTOCAD,還加入了兩個用戶定制函數“TextAdder”、“3DForcer”,前者提取高程字段生成等高線注記,后者提取高程信息加入目標圖層作為高程屬性字段存在,保證了源數據的重要空間信息轉換至目標數據。
以上就實現了語義轉換的FME Spatial ETL Tool模塊化。
定制輸入輸出后,就可以進行數據的試運行。數據試運行是對轉換模型的測試,同時在試運行中還可以完善圖2中的模型。另外,對某關鍵圖層的語義轉換應該單獨進行測試,測試成功后再在整個模型中作相應修改,數據試運行時避免頻繁運行整個轉換模型,以縮短整個測試周期。源數據及測試成果數據如3圖所示。
圖3 某空間地理信息數據轉換前后數據對照
如果待轉換數據量巨大,數據測試通過后可以進行批處理操作(某空間地理信息數據轉換項目共進行了378幅圖的轉換,采用FME Spatial ETL Tool模塊進行批處理約每分鐘完成一幅)。批處理需簡單編輯數據路徑,生成數據列表(*.xls),再導入批處理界面即可,如圖4所示。
圖4 某空間地理信息數據轉換批處理界面
研究主要在ARCGIS嵌入的FME平臺上進行,首先針對待轉換數據與目標數據的特點進行FME語義轉換定義,即定義數據集合之間的映射關系,再在FME Spatial ETL Tool工具中實現FME語義轉換的模塊化。試運行成功后,定制了批處理程序,最終實現了ARCGISCoverage數據向AUTOCAD數據的快速無損轉換,該方法也試用于其他種類型空間數據的相互轉換。
[1] 曾巧玲,等.利用FME實現GIS與CAD的語義轉換[J].計算機工程與應用,2005(13)
[2] 仇月霞,等.一種基于FME的GIS數據無損轉換技術[J].地理空間信息,2010(1)
[3] 蘇建云,等.基于FME的GIS數據格式轉換研究[J].北京測繪,2009(1)