2.5維地圖就是根據dem、dom、dlg等數據,以及真三維模型在一定高度、視角和燈光效果,按照軸側投影的方式生成的地圖。本文以臻圖信息ZTMapEasy電子地圖服務平臺為例,詳細闡述了2.5維電子地圖關鍵技術以及其實現方式。
地圖作為記錄地理信息的一種圖形語言形式是按照一定的數學法則,根據地圖投影、地理坐標和比例尺,經過制圖概括,在一定的載體上用各種地圖符號(點、線、面狀符號)和文字注記、顏色來表示一定區域內的地形、地貌、地物等地理信息。它反映各種自然和社會經濟現象的空間分布、組合、聯系及其動態變化。因此,地圖是對地理空間信息的抽象化、符號化的描述。
人類生活在一個真三維的現實世界里,而傳統的二維地圖只對處于三維空間中的各種地理對象全部進行向二維平面投影的簡化處理,導致第三維方向(即垂直方向)上的幾何位置信息、空間拓撲信息和部分語義信息的損失,不能完整地反映客觀世界。隨著計算機技術,特別是計算機圖形學、網絡、多媒體、虛擬現實技術、三維仿真技術的快速發展,傳統的二維電子地圖被注入了新的活力正在向網絡化、互動化以及三維化的方向發展
2.5維地圖在最近幾年得到了飛速的發展,如百度、搜狗等地圖網站的興起讓更多的用戶感覺到了真三維地圖帶來的震撼。
什么是2.5維地圖呢?就是根據dem、dom、dlg等數據,以及真三維模型在一定高度、視角和燈光效果,按照軸側投影的方式生成的地圖。2.5維數字地圖既具有三維數字地圖表現力豐富的、視覺效果好,又具備數據量小、現實速度快的優點,需要的網絡環境、軟硬件要求較低,滿足了在遠程訪問下對三維地圖的快速瀏覽訪問,在傳統二維地圖和真三維地圖很好地起到一個承上啟下的作用,同時,利用三維模型制作成下游產品的2.5維數字地圖,具有準確的坐標信息,還可以制作成東、南、西、北多個角度,相對意義上的三維,因此得到了許多用戶的推崇。而且如果要求不高2.5維地圖的制作方式可以采用可視角內進行貼面,其它不再處理的方面,這大大降低了地圖的建設成本,節省大量的財力和人力,同時數據更新效率也可以大大提高。
2.5維數字地圖制作的基本流程:制作基本思路,對基礎數據進行原始資料收集和現場采集測繪。將整個場景按x、y兩個方向,利用專業空間建模軟件,分割渲染成若干張分辨率固定的柵格地圖圖片,最后基于專業軟件進行拼合并做后期。主要分為6個階段:
(1)數據準備。基礎數據主要是鎮海三維仿真規劃模型成果,該三維模型采用當今國際流行多邊形建模技術,保證還原建筑真實形狀。在制作模型的時候,根據采集照片對建筑物結構進行分析,對每一棟建筑進行細致的貼圖,建筑外墻、窗體、裝飾物的材質來自采集的照片或者精選的素材庫,盡量還原建筑的真實外觀。制作好建筑后,按照地形圖上建筑的位置對制作好的建筑進行擺放,減少建筑與建筑之間、建筑與地表之間的位置誤差。
(2)框架數據搭建。由于已有的三維模型數據為全模,數據量巨大,因此不能將大面積的模型合并在一起渲染。首先以路網模型作為整個場景的框架,然后將需要渲染的規劃管理單元建筑模型和場地模型分別合并進路網場景中,如果某個規劃控制管理單元數據過多,還要可以將其再拆分。
(3)場景設置。場景設置主要包括攝像機假設和渲染器設置,攝像機主要作用有讓其按照固定的路徑以一定的高度和角度運動自動運動。先將攝像機向左和向下分別旋轉后再將其綁定在一條有夾角的直線路徑上。這時攝像機可以沿該路徑自動運行,同時也能滿足軸側無透視變形的地圖渲染要求。由于在三維軟件中,里面的光的熱能傳遞卻不是很明顯,所以在渲染的時候,為了實現真實的場景效果,就要在渲染器中指定全局光照,為了使2.5維數字地圖有良好的層次感和豐富的色彩,必須采用能夠渲染全局光的渲染器。選用一定的渲染模式,能夠在增強立體層次的時候既不刺眼,大大提高地圖表現效果。
(4)、圖片輸出。景搭建好后就可以渲染輸出了。
(5)、圖片拼合。最后按照渲染的順序將圖片進行總拼。
(6)、圖面整飾。按照現場照片來進行環境的布局,對背景影像dom數據進行扭曲變形等處理;對道路、河流等實體矢量數據進行文字標注;對照照片布置綠化、草地、樹木,在保證在真實的情況下對環境做美化處理,增強地圖的可讀性,并附上坐標信息。
2、投影變換的算法及實現
(1) 投影變換分類與選擇
2.5維地圖為了與二維數據快速匹配定位,以及poi數據動態匹配疊加顯示必須將二三維地圖無縫集成,需要嚴格保持地物的比例以及相關幾何關系,平行投影保持物體的有關比例不變,這是三維繪圖中產生比例圖畫的方法,物體的各個面的精確視圖可以由平行投影得到,因此,需要選擇平行投影方式。平行投影又分為正平行投影和斜平行投影,正平行投影根據投影面與坐標軸的夾角又可分成兩類:正投影(三視圖)和正軸側投影。當投影面與某一坐標軸垂直時,得到的投影為三視圖,這時投影方向與這個坐標軸的方向一致。否則,得到的投影為正軸測投影。正軸側投影是能夠顯示形體多個側面的投影變換,如果投影平面不與任一坐標軸垂直,就形成正軸側投影。正軸側投影有正等測、正二側和正三側三種,當投影面與三個坐標軸之間的夾角都不相等時為正三測,正三側投影中三個坐標分量的變化比例各不相同。
由于在選擇輸出用戶視圖視角時,投影平面(屏幕)與三個坐標軸之間的夾角各不相同,因此我們選擇正三側投影變換模型。
(2)求算變換矩陣進行動態匹配,建立2.5維地圖與二維地圖之間的邏輯對應關系。
3、瓦片技術及影像金字塔模型
隨著webgis在各行各業不同程度的推廣,瓦片式技術(tile cache)已成為臻圖ZTMap系列2.5D地圖數據訪問的關鍵技術之一。tile cache是一個地圖瓦片緩存器,由于預先生成了地圖圖片,在后端不需要讀取空間數據庫數據和實時渲染地圖,因此大大節省了系統運行時間,加快地圖響應速度,用戶并發的限制將取決于硬盤的讀取和網絡傳輸。實現了平滑的移動和漫游,地圖移動不再露白,放大縮小和漫游幾乎不需要等待時間,而且地圖圖片內容也非常復雜和美觀,不再受平臺限制。
一張一定比例尺下的地圖可以看成是由一定大小的圖片組成的,我們把這些一定大小的圖片稱為一個地圖單元,我們為這些在一定比例尺和范圍的地圖單元按照一定的規則進行命名并存放在一個圖庫中。具體實現了地圖的快速瀏覽有2步:
(1)采用地圖拼接機制
采用地圖拼接機制把一大塊地圖分割成一定大小的圖片,這樣在下載過程中分別下載,并在客戶端進行拼接,從而體現實現地圖的快速顯示。
(2)采用地圖緩存機制
為了實現地圖的快速顯示,采用了瀏覽器的緩存機制。只要訪問過的地圖就可以采用緩存中的地圖進行顯示,這樣大大的加快了地圖的顯示速度。
l 放大
用鼠標點擊地圖中的任意部分,或按住鼠標左鍵拉出一個矩形框,即可獲得指定區域放大后的地圖。對地圖進行無級放大,隨著地圖的放大,系統自動顯示一些相關的信息。
l 縮小
用鼠標點擊地圖中的任意部分,或按住鼠標左鍵拉出一個矩形框,即可獲得指定區域縮小后的地圖。
對地圖進行無級縮小,隨著地圖的縮小,地圖上顯示的信息將會減少以達到最好的顯示效果。
l 顯示全圖
顯示電子地圖全貌。可以讓用戶方便的回到地圖的初始狀態。
l 移圖
移動地圖,將地圖視野以外的地圖移動到視野內。可按住鼠標左鍵任意拖動地圖,使之達到理想位置。
l 測距
用戶可以在地圖上,沿著自己想要測量的線路,用鼠標單擊地圖,在上面畫出一條直線或者折線,然后,在結束點雙擊,即可得到這條線所代表的實際線路的距離。
l 三維圖
切換顯示三維仿真圖
l 影像圖
疊加顯示影像圖
控制每個圖層的顯示、選擇、標注等。可以打開或關閉任意一個圖層;設置圖層是否可選;設置每個圖層中點、線、面對象的顯示樣式(如點符號樣式、線條樣式、粗細、顏色、面的填充樣式等),設置每個圖層的標注的字體、樣式等。實現不同圖層的任意疊加顯示。
對門牌號、地址等信息進行地理編碼,自動計算匹配其地理位置,在地圖上進行標注。諸如門牌地址、路口路名等描述性信息,通過地理編碼功能,可以迅速將這些描述性信息轉變為地理空間位置,并顯示在地圖上。
自動查詢任意兩條或多條道路的相交路口。查詢與某一道路相交的所有道路以及相應的每個路口信息,對于路口在地圖上進行快速顯示定位。
通過輸入地名,系統自動檢索各類地名圖層,匹配相關的地名信息。地名可以是各種主要建筑物的名稱、居民小區、標志性建筑物、機關單位等。系統檢索到相關結果后返回查詢列表,同時在地圖上進行快速高亮定位。
可以直接用鼠標在地圖上點擊查詢,系統自動查詢出點擊位置的地圖對象信息。
用戶可以在地圖上拉一個矩形框,系統自動查詢出拉框范圍內的地圖對象信息。
用戶可以在地圖上拉一個圓形區域,系統自動查詢出圓形區域內的地圖對象信息。
用戶可以在地圖上通過點擊鼠標繪制一個任意形狀的多邊形區域,系統自動搜尋出該多邊形區域內的地圖對象信息。
n Webservices:提供基于http協議的webservice接口,采用xml格式作為通訊格式。實現符合OGC規范的地圖操作
n Javascript API:提供面向javascript語言的開發類庫,完全基于javascript快速構建GIS應用,支持PC和手機多平臺。
n Flex API:提供面向Flex開發環境,符合actionscript開發語言的開發包,完全基于flex快速構建GIS應用
n Android API:提供符合Android SDK規范的,能夠在Android應用開發環境下使用Java語言開發的API
n IOS API:提供符合Object-C編程規范的開發包,快速構建IOS平臺上的GIS應用
n Windows Phone API:提供能用在Windows Phone平臺上調用的開發包,用于在windows移動平臺上快速開發GIS應用
本平臺具有高性能,此外還具有多源數據集成、海量數據訪問支持、服務器群集等高級特性;采用多級緩存結構設計;可以同時支持多種地圖引擎協同工作等。
實現跟符合標準的OGC規范的地圖服務器進行地圖數據的交互。使得平臺能夠在自身不生產存儲地圖數量的情況下實現以第三方OGC服務為底層數據的平臺應用。同時,本平臺提供的所有地圖瀏覽和查詢服務均符合OGC的相關協議規范,包括WMS、WFS、WMTS等,從平臺功能性和松耦合性的設計原則上來講,應該針對OGC的主要地圖服務接口封裝一套介于地圖引擎應用和OGC服務器接口之間的接口,該接口根據WMS、WFS地圖服務接口規范封裝相關的請求細節,方便地圖引擎進行調用。
全組件化的設計思想,作為一個成熟的Web GIS開發平臺,在多個行業進行了廣泛的應用。組件化設計的優點主要有以下幾點:
由于XTMap的數據模型搭建的合理性、高效性和優化的特點,使得T數據兼容性較強。
矢量幾何對象的壓縮、高效的復合索引技術可以大大提高用戶訪問數據的速度
隨著應用規模的擴大,當單臺服務器的處理能力(不僅包括CPU運算能力)不能滿足應用需要時,往往需要將多臺服務器群集起來同時提供服務。通過群集可以實現負載能力的成比例提高,同時還可以減少單點失效的危險,提高系統的穩定性。但是群集同時會帶來服務器的部署、管理復雜度提高和負載平衡的問題。
常見群集方法可以分為業務復制和業務分割兩種方法。業務復制即將相同的業務復制到多臺服務器上進行處理,每臺服務器承擔其中一部分用戶的處理請求;業務分割即將業務劃分為不同的部分,每一部分放到不同的服務器上去運行,比如將數據庫服務、地圖服務、Web服務分別放到不同的服務器上運行,可以提高性能和增強可靠性。
XTMap主要通過四種方式提高多用戶并發訪問的性能:異步網絡傳輸,減少網絡阻塞;GIS服務引擎的分時操作;多應用實例并發服務;多服務器群集服務。這種特性可以滿足小型工作組到大型網絡服務的多種應用規模的需要。
服務器實現了高效的數據緩存和應用緩存,通過二次開發可以實現針對特定應用的處理緩存,隨軟件提供的客戶端設計了巧妙的客戶端緩存機制,可以大大加快地址定位和地圖瀏覽的速度。
可以實現多級緩存模式,對應用及其相關數據進行高速緩存,從而大幅度提高海量數據的處理能力。
ü 應用實例緩存
預先啟動應用服務器,裝載適當的數據,從而減少每次用戶請求再啟動應用的時間,服務器可以自動分配應用的實例。
ü 應用數據緩存
啟動應用服務時自動加載相關數據,從而減少每次用戶請求都需要重新加載和卸載數據的時間。
ü 數據引擎緩存
由于進行了應用緩存,數據引擎具有的緩存和調度機能可以得到充分發揮,從而大大提高數據處理的效率。
ü 處理結果緩存
通過將需要長時間處理或變化較小的結果預存在磁盤上,用戶請求可以直接讀取結果而不必每次都進行處理,從而可以減少每次處理的時間,加快用戶響應的速度。
對于地圖服務接口設計的標準性以及應用層無關性的先進理念,使得原本復雜的WEBGIS二次開發工作變得簡易可行。大大縮短開發周期,提高效率。
ü 標準的應用層接口和應用層無關性
建立在地理信息平臺基礎之上的應用系統的類型是非常豐富的。這些應用系統最終將由不同行業的開發商使用不同的開發工具,設計不同的應用邏輯,所支持的其終端類型也從普通的計算機到具有文字短信功能的普通手機等,能夠提供良好的應用開發接口和系統集成模型,即應用層無關性。
在應用接口層:在HTTP協議基礎之上設計標準的地圖應用訪問協議并提供豐富的實用功能接口函數供應用系統調用,這樣的設計符合工業標準,支持異構操作系統上的應用系統。
ü 跨平臺多語言應用開發包
跨平臺多層次二次開發接口。提供從組件庫到客戶端腳本的多層級二次開發API,支持Javascript、Flex、Webkit、IOS、Android、Windows Mobile(Phone)等多平臺和開發環境語言
一個完善的日志系統是服務器端應用程序的必備重要輔助功能,為供系統管理員使用的分析模塊。本子系統會在服務器訪問日志的基礎上,統計分析每天提交的請求數量,某地圖功能被調用的次數、平均處理耗時等,最終生成分析報表。系統管理員可以根據這些結果評價系統目前的服務水平,分析系統的性能瓶頸。
地圖服務日志數據庫有詳細的結構文檔說明,因此如果系統管理員需要分析其他的內容,二次開發人員可以根據其需求定制查詢邏輯。
二三維一體化地圖服務平臺集成二維地圖、航拍影像、三維仿真地圖三種地圖數據。一方面,平臺集成的二維地圖、航拍影像和三維仿真地圖可以在不同的界面中相互切換和對應位置聯動;另一方面,二維地圖的興趣點等信息可以以專題圖層的方式疊加在三維仿真地圖上。
對于宏觀維護的城市基礎地圖,采用二維地圖的方式進行呈現。以全市基礎二維地圖作為宏觀范圍內資產管理的數字化手段,使得樓宇等資產管理具備可視化、直觀性的特點,能夠更加快捷的查詢和統計在行政區域、空間范圍內的建筑等信息。
基于二維地圖,可以快速查看全市范圍內的樓宇在地圖上的分布情況,用戶通過點擊地圖上的樓宇標識可以進一步查看該樓宇的詳細屬性、所包含的資產情況、資產處置記錄等業務信息。
二維基礎城市地圖的效果如下:
二維地圖從空間區域分布角度給整個行政區域提供了基本的了解手段,但是在真實度和立體感等方面尚有不足,因此,在條件允許的情況下,可以建設三維地圖,基于衛星影像圖、樓宇建筑CAD圖、拍照等各種基礎數據和技術手段,對包括樓宇在內的基礎空間對象進行三維建模。制作城市2.5D-GIS三維地圖。
2.5D地圖就是以真三維地圖建模數據為基礎,按照一定比例對現實世界或其中一部分的一個或多個方面的三維、抽象的描述。跟真三維地圖相比,2.5維地圖具備以下特點:
基于2.5D地圖,可以為用戶提供很輕量級的便捷的地圖訪問,在保持三維立體效果的同時,大大減少了開發制作成本,同時又減少了對系統軟硬件的要求。效果如下:
在地圖上以撒點標注的方式顯示樓宇企業等社區事物的分布情況,點擊某個事物可以在地圖上快速定位高亮顯示,點擊地圖上的標記可以查看其詳細屬性信息。
主要功能點有:
地圖標注能夠將三維地圖上的信息點以顯示名稱或其他信息的方式展示,使用戶可以直觀的查看到相關的信息點和建筑物等信息,這將大大方便用戶快速找到標志性建筑。
智慧社區應用中的人、物、事、情等信息往往具有具體的門牌地址字段,通過將這些字段信息換算為地理坐標,就能夠在地圖上將這些信息精確地進行標注,并實現基于空間位置區域的統計分析和對比。
在2.5D地圖中,可以將具體的地址精確定位到某一棟建筑,與二維地圖相比,效果更加直觀、逼真。