石吉寶,張小波,張俊,陳凱,劉政(成都市勘察測繪研究院,四川成都 610081)
基于FME的2.5維地圖生成方法研究
石吉寶?,張小波,張俊,陳凱,劉政
(成都市勘察測繪研究院,四川成都 610081)
摘 要:隨著互聯(lián)網(wǎng)地圖應(yīng)用日益普及,地圖需求發(fā)生變化,傳統(tǒng)二維地圖專業(yè)性太強,2.5維地圖既具有直觀方便又不失專業(yè),被越來越多商業(yè)地圖網(wǎng)站所運用。本文介紹了一種基于FME軟件的快速生成2.5維地圖的方法,并詳細闡述了該方法的實現(xiàn)技術(shù)路線,用具體數(shù)據(jù)證明方法的可行性和優(yōu)點。
關(guān)鍵詞:互聯(lián)網(wǎng)地圖;2.5維地圖;FME
隨著互聯(lián)網(wǎng)地圖的逐漸普及,人們對地圖的需求也發(fā)生了變化,從以前的單一二維平面地圖發(fā)展到了2.5維地圖和三維地圖。現(xiàn)在商業(yè)互聯(lián)網(wǎng)地圖提供商,如谷歌、百度、騰訊等都在PC端推出了高質(zhì)量的2.5維矢量地圖,再如“E都市”和“都市圈”等很早就推出了全國部分大中城市的2.5維柵格地圖。不僅推動了地圖制圖技術(shù)的發(fā)展,而且也同時提升了用戶對地圖的感官享受。
傳統(tǒng)的二維平面圖是采用平行投影方式將地物和建筑的頂面形狀投影到投影面上。這種圖形可以近似認為是頂視圖,雖然作圖簡單,但是圖形專業(yè)性較強,需要一定專業(yè)知識才能讀懂地圖。2.5維數(shù)字地圖既具有三維數(shù)字地圖表現(xiàn)力豐富的、視覺效果好,又具備數(shù)據(jù)量小、顯示速度快的優(yōu)點,需要的網(wǎng)絡(luò)環(huán)境、軟硬件要求較低,滿足了在遠程訪問下對三維地圖的快速瀏覽訪問,在傳統(tǒng)二維地圖和真三維地圖很好地起到一個承上啟下的作用。
2.12.5維地圖原理
目前常見的2.5維地圖有固定視點的3D模型圖和按照軸測投影的方式生成的2.5維矢量地圖,本文討論的是2.5維矢量地圖。軸測投影為平行投影的一種,將物體放在三個坐標面和投影線都不平行的位置,使它的三個坐標面在一個投影上都能看到,從而具有立體感,稱為“軸測投影”。選用軸測投影有以下幾個優(yōu)點。
(1)平行性:物體上互相平行的線段,投影后仍互相平行。
(2)定比性:物體上兩平行線段或同一直線上的兩線段長度之比,投影后保持不變。
(3)實形性:物體上平行軸測投影面的直線和平面,在投影后反映實長和實形。
2.2工具簡介
通常情況下一般有三種方法可選擇用來生成2.5維矢量建筑物數(shù)據(jù),分別是高級語言編程實現(xiàn);腳本語言編程實現(xiàn)和借助GIS數(shù)據(jù)處理工具實現(xiàn)。本文討論的方法是利用FME軟件數(shù)據(jù)處理工具來實現(xiàn)。
FME(Feature Manipulate Engine,簡稱FME)是加拿大Safe Software公司推出的用于不同數(shù)據(jù)格式之間轉(zhuǎn)換的一種方法,該方法基于OpenGIS組織提出的新的數(shù)據(jù)轉(zhuǎn)換理念“語義轉(zhuǎn)換”,通過在轉(zhuǎn)換過程中重新構(gòu)造數(shù)據(jù)的功能,實現(xiàn)超過300種空間及非空間數(shù)據(jù)格式的相互轉(zhuǎn)換。FME不僅能同時瀏覽各種空間數(shù)據(jù)的圖形和屬性信息,保證轉(zhuǎn)換前后信息的一致性;并且在轉(zhuǎn)換過程中能對數(shù)據(jù)進行重新構(gòu)造,可以檢查或改善數(shù)據(jù)的質(zhì)量[4]。
3.1數(shù)據(jù)預(yù)處理
由于二維的數(shù)據(jù)是在同一投影面上顯示一面的數(shù)據(jù),因此不會造成遮擋等問題,在數(shù)據(jù)生產(chǎn)時也不會考慮建筑物節(jié)點順序等很多問題,如果原始數(shù)據(jù)不經(jīng)處理而直接進行三維化操作,勢必造成很多與現(xiàn)實世界不相符的情況,為此,在數(shù)據(jù)三維化之前必須進行數(shù)據(jù)預(yù)處理,預(yù)處理的內(nèi)容主要包括建筑節(jié)點排序和建筑物重構(gòu)等。在本文中我們通過自定義一個FME轉(zhuǎn)換器來實現(xiàn)。實現(xiàn)結(jié)果如圖1所示:
圖1 自定義多邊形節(jié)點排序轉(zhuǎn)換器
該轉(zhuǎn)換器主要用到Orientor、chopper、sorter和PointConnector等轉(zhuǎn)換器。
Orientor轉(zhuǎn)換器對輸入的原始數(shù)據(jù)按照順時針方向進行統(tǒng)一;
Chopper轉(zhuǎn)換器實現(xiàn)將提取出的坐標按照一個節(jié)點的方式重新生成點幾何;
Sorter轉(zhuǎn)換器實現(xiàn)將生成的點幾何按照點附帶的房屋號屬性進行排序;
PointConnector轉(zhuǎn)換器實現(xiàn)將已經(jīng)進行排序的點幾何按照房屋號重構(gòu)成房屋多邊形。
通過該自定義轉(zhuǎn)換器,使輸入的原始數(shù)據(jù)從無序變得有序,從而在后續(xù)的工作中處理起來更加方便,處理的結(jié)果更加合理。
3.2投影面生成
在完成上述數(shù)據(jù)預(yù)處理后,就可以進行建筑側(cè)面的投影面生成了,為解決后續(xù)投影面排序問題,必須事先對建筑物進行分層。
(1)建筑物分層
按照建筑物的拓撲鄰接關(guān)系對相對較高的建筑物樓層進行分割,分割的依據(jù)就是拓撲鄰接的建筑物樓層,分層關(guān)系示意圖如圖2所示。
圖2 相鄰建筑物分層關(guān)系示意圖
如圖2所示,可知建筑物A、B、C存在拓撲鄰接關(guān)系,線段ad分別對應(yīng)18層和5層兩個樓層;線段ac分別對應(yīng)18層和2層兩個樓層;線段ab分別對應(yīng)5層和2層兩個樓層。在生成側(cè)面以前需要對ab、ac和ad線段進行復(fù)制得到ab′、ab″、ac′、ac″和ad′、ad″,而后分別對其進行樓層計算,如,ac的樓層為建筑物C的層數(shù)為2,則ac′的樓層為2即建筑物A的低層于建筑物C樓層相同,ac″的樓層為16即建筑物A的樓層減去建筑物C的樓層,且ac″的樓層起算面為建筑物C的樓頂面。
(2)投影側(cè)面生成
經(jīng)過拓撲處理后就可以生成投影側(cè)面了,建筑物在FME中實現(xiàn)投影側(cè)面的生成主要要使用Extruder 3DAffiner和2DForcer。
Extruder轉(zhuǎn)換器實現(xiàn)建筑物在Z坐標軸方向上的拉伸形成三維體;
3DAffiner轉(zhuǎn)換器依據(jù)仿射變換公式(見公式1),將真實三維坐標系下的建筑物經(jīng)過仿射變換后轉(zhuǎn)換到數(shù)學(xué)三維坐標系下,按照公式要求轉(zhuǎn)換必須設(shè)置A~L 這12個參數(shù),其中A、F、K必須是非零值,3DAffiner轉(zhuǎn)換器參數(shù)具體設(shè)置值如圖3所示。
圖3 3DAffiner轉(zhuǎn)換器參數(shù)設(shè)置表
2DForcer轉(zhuǎn)換用來是實現(xiàn)將生成好三維建筑物體進行二維化,從而在二維坐標系顯示。
3.3投影面排序
由于2.5維數(shù)據(jù)最終都顯示在二維環(huán)境下,所有的2.5維數(shù)據(jù)都經(jīng)過投影算法來投影到投影面上,則投影后的建筑物距離視點較遠的應(yīng)被距離視點較近的遮擋,高程較低的建筑物應(yīng)被高程較高的建筑物遮擋,背向視點的建筑物面應(yīng)被面向視點的建筑物面遮擋,這些遮擋關(guān)系如圖4所示[1]。
圖4 建筑物投影遮擋關(guān)系圖
如圖4所示,建筑物1和建筑物2投影后存在遮擋關(guān)系,即建筑物2處在觀察視點近處,應(yīng)當遮擋住建筑物1;建筑物2高度高于建筑物1,建筑物2應(yīng)遮擋建筑物1。具體為建筑物2的頂面C遮擋建筑物1的側(cè)面B,建筑物1的側(cè)面A應(yīng)遮擋住建筑物頂面C。側(cè)面A的層數(shù)有可能小于建筑物2的層數(shù),因此不能僅從A的層數(shù)來判斷其高低,而應(yīng)加上側(cè)面B的層數(shù),方可正確判斷高低關(guān)系。從圖上關(guān)系可得出應(yīng)按照以下由低到高順序進行排列,即建筑物2側(cè)面→側(cè)面B→頂面C→側(cè)面A和建筑物1其他側(cè)面→頂面D。即在FME軟件中使用Sorter轉(zhuǎn)換器依據(jù)整個數(shù)據(jù)處理方案中創(chuàng)建的各種屬性進行排序。
借助FME軟件強大的數(shù)據(jù)處理能力和高效的處理效率,結(jié)合上述各步驟最終形成如圖5所示的數(shù)據(jù)處理流程方案,通過該方案將數(shù)據(jù)處理后直接輸出到ArcGIS 的FileGeodataBase中,再利用ArcGIS軟件打開數(shù)據(jù)按照頂面和側(cè)面進行分別著色后得到圖6的效果,從結(jié)果的局部細節(jié)放大圖上可看出,通過該方法得到了建筑物正確的顯示順序。成圖效果滿足實際需要。
圖5 完整數(shù)據(jù)處理方案流程圖
圖6生成圖及局部放大圖
本文討論利用FME軟件進行靜態(tài)2.5維矢量地圖的生產(chǎn)方法,使用文中的方法可以快速的生成2.5維矢量地圖,生成結(jié)果美觀,顯示正確。筆者通過某城市真實500比例尺地形圖數(shù)據(jù)測試發(fā)現(xiàn),處理10 834棟建筑物只需2 min57 s,生成8萬多投影面,效率較使用高級語言編程實現(xiàn)具有明顯優(yōu)勢。該方法具有一定的推廣價值,然而在本方法中沒有處理帶島建筑物,需要在以后優(yōu)化中進一步改進。同時在使用本方法時可以結(jié)合建筑物的邊界方位角以減少投影面的生成數(shù),亦可據(jù)此設(shè)置側(cè)面的光照明暗程度。
參考文獻
[1] 宋珉,劉鵬超,趙維等.2.5維地圖制作算法研究與實現(xiàn)[J].城市勘測,2010(5):104~106.
[2] 倪凱.2.5維電子地圖的制作流程[J].科技咨詢導(dǎo)報, 2013(16):50~50.
[3] 李新雙,張果,王前華等.基于FME的規(guī)劃數(shù)據(jù)格式轉(zhuǎn)換研究[J].測繪,2014(4):169~172.
[4] 揚帆,薄成.基于FME的DWG數(shù)據(jù)到ArcGIS轉(zhuǎn)換的應(yīng)用研究[J].測繪科學(xué),2012,3(2):143~145.
[5] 黃靜,袁建東.FME在空間數(shù)據(jù)處理中的應(yīng)用[J].測繪標準化,2011(2):40~42.
Research on 2.5 Dimensional Map Generation Method Based on FME
Shi Jibao,Zhang Xiaobo,Zhang Jun,Chen Kai,Liu Zheng
(Chengdu Institute of Survey and Investigation,Chengdu 610081,China)
Abstract:With the increasing popularity of internet map application,The need about map is changing,Traditional 2 dimensional map is too special for ordinary people,2.5 dimensional map is both Anschauung and special,So more and more commercial map site are using the 2.5 dimensional map.This Paper introduces a method of generating 2.5 dimensional map based on FME software to you,and describes the implementation of the method in detail,Finally,the feasibility and advantages of the method are proved by using the concrete data in this paper.
Key words:internet map;2.5 dimsional map;FME
文章編號:1672-8262(2015)06-47-04中圖分類號:P208.2
文獻標識碼:B
收稿日期:?2015—10—18
作者簡介:石吉寶(1977—),男,高級工程師,注冊測繪師,主要從事地理信息系統(tǒng)開發(fā)以及地理信息數(shù)據(jù)應(yīng)用挖掘研究。