摘 要:文章介紹了基于FME軟件處理大比例尺地形圖中等高線圓滑的相關技術,并以烏魯木齊市區域的平原和山地為例,闡述了基于FME軟件的抽稀算法、圓滑算法、消除尖角等處理方法,最終使生成的等高線光滑美觀,且未改變實際的地形起伏變化。實踐表明,將FME工程保存為軟件模板,不僅容易更換數據源,實用性強,還可以根據實際地形情況調整算法參數,極大地提升了地形圖中等高線整飾的工作效率和質量。
關鍵詞:FME模板;等高線;圓滑處理
中圖分類號:P284 文獻標識碼:A 文章編號:2096-4706(2018)09-0038-03
Abstract:This paper introduces relevant technologies by using the FME software to process the contour smoothing in large scale topographical map,and takes the plain and mountain of Urumqi area as an example,this paper expounds the rarefying algorithm,smoothing algorithm,eliminating sharp angle based on FME software. Finally,the contour lines generated are smooth and beautiful without changing the actual terrain fluctuations. The practice indicates that the approach to save FME engineering software as a template not only can change the data source more easily and convenient,and it can also adjust the parameters of algorithm according to the actual terrain and greatly improve the work efficiency and quality of contour trims in the topographic map.
Keywords:FME template;contour line;smoothing treatment
0 引 言
地形圖是城市規劃的重要的基礎資料,而等高線(即高程等值線)又是地形圖中最主要的地形地貌要素。地形圖等高線在地學研究中具有重要意義,如制作明暗等高線地圖和構建數字高程模型(DEM),在城市規劃選址、工程建設、環境評估等領域有著重大參考價值。地形圖采編作業員一般在AutoCAD等制圖軟件中編輯城市大比例尺地形圖(1:500-1:2000)的等高線,其數據編輯工作量較大,對作業人員地圖美學要求高。特別是擬合后的等高線局部替換、拉節點、復合線內加點、復合線刪點等工作量大,且主觀性大,極易出錯。雖然多種商用軟件均能內插等高線、擬合(圓滑)等高線,但是能夠針對等高線圓滑、抽稀,并且形成方便快捷一體化流程且人工干預少的軟件功能不多。因此利用FME軟件的模板技術,結合FME帶參數的轉換器,可以定制符合不同地形地貌需求的等高線圓滑處理模板。
1 FME軟件綜述
Safe Software公司旗下的Feature Manipulate Eng-ineering(以下簡稱FME)是一款基于語義的空間數據轉換平臺。FME平臺包括三個核心組成部分:FME Workbench(工作臺)、FME Universal Translator(通用轉換器)、以及FME Universal Viewer(通用瀏覽器)。FME是一個強大的數據轉換軟件,其界面支持數據的拖放,使用戶可以較容易地實現120多種不同數據格式之間的轉換。
實際上基于FME的空間數據轉換,主要采用語義映射文件來控制整個轉換的流程。語義映射文件數據實際上是包含每個圖形元素的全部空間和屬性特征的要素編碼對照表。如在等高線的圓滑處理過程中,需要讀寫的都是AutoCAD格式的地形圖文件,地形圖文件的圖層名稱、圖層要素等高程屬性字段都是固定的,這樣編寫語義映射文件能重復使用,可以進行批量處理。所以根據基礎地形圖等高線圖層名稱規則進行數據過濾,只針對等高線要素,其他地形圖要素保持不變,編制通用的語義映射文件模版,處理其他數據時,只需設置數據源文件路徑的參數。
2 等高線圓滑處理的關鍵方法
2.1 轉換器的分析
等高線圓滑處理的原理就是曲線擬合,選擇不同的轉換器就是選擇不同的算法,最后得到的結果不盡相同。平滑處理等高線不僅是為了圖形美觀,而且能夠使等高線更準確地描述地形的變化。針對地形圖中等高線數據要素,并考慮基本等高距的值,主要使用了SpikeRemover、Generalizer、Tester等轉換器算法進行分析,并對各轉換器進行參數設置。
SpikeRemover轉換器指通過移除二維中的尖角(尖狀物)來修復要素的幾何圖形。該轉換器有兩個參數,一個是Maximum Spike Angle(最大尖狀物角度),另一個是Maximum Spike Length(最大尖狀物長度)。轉換器會查找每個線對,生成三個連續距離的點,如果角度(以度計算)在兩個線段之間小于或等于指定的最大角度,如果中間點為突出,則移除它。Maximum Spike Length被指定,那么轉換器會跳過大于這個長度的線段,否則,所有的線段都會被考慮。上述是對尖刺的處理,對于地形圖數據中包含許多偏差而不是突出,建議使用Generalizer轉換器的Douglas-Poiker方法清理要素。
Generalizer轉換器包含了抽稀和圓滑四類算法。概括化算法,通過移除節點減小坐標密度。平滑算法,為每個節點確定新的位置。測量算法,計算點的位置,并返回這些點的一個列表(例如,要測量某個要素的彎曲度)。擬合算法,用一個調整到指定線的新要素,完全替代原始幾何對象(例如,要最小化原始要素的垂直距離)。
Tester轉換器,對要素執行一個或多個測試,并根據測試結果輸出要素。測試語句中可以包含FME允許的任何操作符,我們可以根據AutoCAD的標高(autocad_elevation)屬性,或將等高線polyline要素讀取成2.5維,直接用Z值作為高程屬性,利用Tester轉換器,將等高線分為計曲線和首曲線,最后對線要素進行符號化處理,除了要指定層和顏色外,還需規定線型(autocad_linetye)和線寬(autocad_width)。
2.2 處理流程圖及經驗
地形圖等高線的數據來源于航測像對模型中的數字高程模型以及外業調繪修補測采集的高程點,主要思路是:FME將以標準分幅為單位的AutoCAD地形圖中的所有圖形實體解析后,根據等高線所在的圖層名稱過濾,其他圖層地形要素保持不變,將所有等高線要素數據,首先經過Spike Remover轉換器移除尖角,然后利用Generalizer轉換器進行抽稀和圓滑,通過2DForcer轉換器,可以有效地除去AutoCAD中的3D多段線,最后進行統一的線型寬度、樣式、顏色等輸出配置,將等高線輸出為首曲線和計曲線兩類要素,實現成圖的自動化。在FME Workbench中保存生成的FME模板印象文件(擴展名為fmw),可以切換數據源繼續使用。使地形起伏較大的區域等高線較密,甚至還可以增加等高線節點的密度來控制等高線的變化。如圖1所示。
3 結 論
本文使用FME軟件制作等高線處理模板,以烏魯木齊市1:500和1:1000大比例尺基礎地形圖為數據基礎,經過實踐,處理后的數據能夠較好地滿足多地形圖成果圖的需求,對于平坦地區和山地地區效果分別如圖2、圖3所示。
特別是對于較為平坦地區,為了不影響等高線表達的地形起伏,轉換后的數據還需加入少量的人工輔助檢查及修改,才能用于最終成果出圖。相對于傳統人工逐幅檢查等高線要素、逐個修改等高線圓滑程度,基于FME的地形圖等高線圓滑處理模板優勢明顯,極大地減少地圖作業員工作量,有效地提高工作效率,減少重復勞動。但是還有許多圖飾整飾功能可以增加,如等高線注記自動標注、等高線和高程點沖突檢測、等高線的自動避讓等,是下一步研究方向。
參考文獻:
[1] 靳鏡宇.基于FME的分幅DLG數據接邊技術小議 [J].測繪與空間地理信息,2015(3):137-138.
[2] 蘇建云,黃耀裔,陳文成.基于FME的GIS數據格式轉換研究 [J].北京測繪,2009(1):36-39.
[3] 李瑞霞,楊敏,鄧喀中.基于FME的GIS到CAD數據“無損”轉換 [J].測繪通報,2009(5):55-59.
[4] 張鵬程,方鋒.基于FME的多平臺數據轉換系統開發及實現 [J].地理空間信息,2008(2):25-27.
[5] 陳影,程耀東,閆浩文.利用FME進行GIS數據的無損轉換 [J].測繪科學,2007(2):75-77+179.
[6] 錢業宏.基于FME實現AutoCAD數據格式相互轉換 [J].城市勘測,2007(4):103-104.
作者簡介:徐光巖(1984-),男,湖南岳陽人,工程師,碩士研究生。研究方向:數字城市、城市測繪、3S技術等。