秦漢林,盧成浪
(浙江機電職業(yè)技術(shù)學院現(xiàn)代信息技術(shù)學院,浙江 杭州 310053)
2019 年,自然資源部發(fā)布了《智慧城市時空大數(shù)據(jù)平臺建設(shè)技術(shù)大綱》,指出時空大數(shù)據(jù)平臺是數(shù)字中國時空信息數(shù)據(jù)庫的重要組成部分,是智慧城市建設(shè)與運行的基礎(chǔ)支撐。智慧城市三維地理信息共享,作為智慧城市時空大數(shù)據(jù)平臺建設(shè)的重要組成部分,既是智慧城市建設(shè)中不可或缺的基礎(chǔ)信息資源,也是其他信息平臺數(shù)據(jù)交換共享和協(xié)同應用的載體。因為三維地理信息的類型繁多、結(jié)構(gòu)復雜、數(shù)據(jù)量大,并且一直缺乏相應的數(shù)據(jù)共享服務(wù)標準和規(guī)范,導致三維地理信息數(shù)據(jù)的重用性低,區(qū)域和部門間的三維地理信息資源難以共享。
地理信息共享服務(wù)方面,Martinek P 和F.Prandi等提出,信息共享服務(wù)體系技術(shù)框架可以采用面向服務(wù)的體系架構(gòu)(SOA)思想,具體實現(xiàn)有Web Service、CORBA 和DCOM 等方式。針對智慧城市的地理數(shù)據(jù)共享,可以采用SOA 服務(wù)來實現(xiàn)[1,2]。開放式地理信息聯(lián)盟OGC 組織提出了SOA 的一套接口規(guī)范和服務(wù)標準,如WMS、WTMS、WFS 等二維地圖標準服務(wù)。OGC 現(xiàn)有的服務(wù)標準主要是針對二維時空數(shù)據(jù)的,可以用來共享遙感影像,矢量道路等二維數(shù)據(jù)。OGC 組織還提出了W3DS(Web 3D Service)、WVS(Web View Service)三維地理信息服務(wù)規(guī)范,以及3DPS 的三維服務(wù)接口標準。3DPS 是一種抽象的接口服務(wù)標準,設(shè)計參照WMS 服務(wù)標準,目的是以互操作的方式提供三維的共享服務(wù)。
在國內(nèi),朱利魯?shù)柔槍Y源共享存在的服務(wù)互操作和數(shù)據(jù)傳輸?shù)燃夹g(shù)瓶頸問題,提出一種時空大數(shù)據(jù)資源集成框架[3]。李德仁等提出了面向服務(wù)的數(shù)字城市共享平臺框架,設(shè)計了地理空間信息共享平臺的體系結(jié)構(gòu)和基于SOA 的空間數(shù)據(jù)共享模型[4]。馬春林,張晶等論述了地理空間數(shù)據(jù)資源共享交換平臺,實現(xiàn)了地理空間數(shù)據(jù)資源的跨部門共享交換和開發(fā)利用[5,6]。郭仁忠等提出了面向智慧城市的GIS 框架,探討了統(tǒng)一數(shù)據(jù)平臺構(gòu)建、數(shù)字孿生及可視化、開放式平臺服務(wù)等關(guān)鍵內(nèi)容[7]。耿晴等闡述了時空信息云平臺建設(shè)的關(guān)鍵技術(shù),通過面向時空信息數(shù)據(jù)的大數(shù)據(jù)平臺設(shè)計,利用共享交換平臺提供數(shù)據(jù)服務(wù),實現(xiàn)海量數(shù)據(jù)的高效管理和服務(wù)[8]。張孝勇等提出一種基于3DPS的動態(tài)時空數(shù)據(jù)模型服務(wù)和共享方案[9]。
三維地理信息共享技術(shù)方面,邱天等研究了三維地理信息數(shù)據(jù)的物理結(jié)構(gòu)特征和接口規(guī)則體系,提出了三維地理信息數(shù)據(jù)服務(wù)規(guī)范[10]。孫陽等綜述了三維地理信息網(wǎng)絡(luò)服務(wù)的發(fā)展情況,并提出了存在的問題及相應的建議[11]。吳掠桅,陳桂紅等針對智慧城市的建設(shè)需求,提出了一種具備可實現(xiàn)性的網(wǎng)絡(luò)服務(wù)共享接口規(guī)范,以期打破孤島式三維GIS平臺的現(xiàn)狀,實現(xiàn)了智慧城市開展三維GIS共享應用的總體思路和實現(xiàn)策略[12,13]。曾文華,董莉等以三維GIS服務(wù)為主要研究對象,在分析三維GIS 研究背景情況下,研究了三維GIS的服務(wù)框架和接口[14,15]。
綜上所述,國內(nèi)外對智慧城市的地理信息共享展開了系列研究,研究主要集中在二維數(shù)據(jù)的共享服務(wù)上,在三維數(shù)據(jù)應用和共享方面還有很多可以改進的空間。相對于二維地理數(shù)據(jù)Web 服務(wù),三維模型數(shù)據(jù)Web 服務(wù)的研究進展緩慢。沒有一個國際認可的三維服務(wù)標準規(guī)范是制約三維Web 服務(wù)快速發(fā)展的主要原因之一,各個三維地理空間平臺采用不同的技術(shù)路線、體系結(jié)構(gòu)和數(shù)據(jù)格式,彼此之間難以跨平臺訪問和共享數(shù)據(jù)。本文研究了智慧城市三維空間數(shù)據(jù)共享的服務(wù)標準在OGC現(xiàn)有的服務(wù)標準基礎(chǔ)上,使用WMS(WMTS)服務(wù)發(fā)布和共享地形高程數(shù)據(jù)和影像數(shù)據(jù);使用WFS 服務(wù)發(fā)布和共享地名、道路等矢量數(shù)據(jù),設(shè)計并實現(xiàn)了WFS 3D 服務(wù),用來發(fā)布和共享智慧城市的三維建筑模型等矢量數(shù)據(jù),提出了一種智慧城市三維模型共享服務(wù)和應用的實現(xiàn)方案。
為了實現(xiàn)智慧城市三維地理數(shù)據(jù)的共享服務(wù)和應用,提出一種地理數(shù)據(jù)共享平臺的實現(xiàn)方案,地理數(shù)據(jù)共享平臺的體系結(jié)構(gòu)如圖1所示。
圖1 體系結(jié)構(gòu)圖
⑴地理數(shù)據(jù)層采用分塊分類的組織管理方法來存儲多源數(shù)據(jù)。數(shù)據(jù)使用地形DEM、影像DOM、道路DLG、地名等數(shù)據(jù),以及真三維模型數(shù)據(jù)。地形、影像等柵格數(shù)據(jù)采用.tif格式,道理等矢量數(shù)據(jù)采用.shp格式,三維模型采用.dae格式。
⑵ 共享服務(wù)層采用開源的地理數(shù)據(jù)服務(wù)軟件MapServer,實現(xiàn)標準的Web Services發(fā)布。和其他的地理數(shù)據(jù)服務(wù)軟件相比,MapServer 使用C 語言實現(xiàn),性能更加優(yōu)越。服務(wù)類型可以選擇WMS、WMTS 和WFS。地理數(shù)據(jù)的過程發(fā)布:首先從數(shù)據(jù)層選擇地理數(shù)據(jù),①選擇是否使用WMS 方式或者WFS 方式。②如果WMS 發(fā)布,需要符號化地圖數(shù)據(jù),比如設(shè)置道路的顏色,接著選擇是否使用WMTS 方式發(fā)布。③如果選擇WMTS 方式,需要配置瓦片數(shù)據(jù),比如設(shè)置瓦片的級別。
⑶客戶顯示層繪制引擎基于JOGL(OpenGL 的Java 版本),用來訪問共享的服務(wù)數(shù)據(jù)。OpenGL 被設(shè)計成與硬件無關(guān)的,獨立的三維顯示接口,并能在網(wǎng)絡(luò)環(huán)境下以客戶端/服務(wù)器模式工作,是專業(yè)圖形處理、游戲開發(fā)等高端應用領(lǐng)域的標準三維圖形庫?;贘ava語言和J2EE框架,能很好地與其他系統(tǒng)集成,具有良好的安全性和可擴展性。
有很多開源的地圖數(shù)據(jù)服務(wù)器可以使用,這些數(shù)據(jù)服務(wù)器都提供了標準的WMS和WFS等服務(wù)。
WMS 服務(wù):即Web 地圖服務(wù),WMS 服務(wù)提供一個簡單的HTTP 接口,通過它可以從分布式的地理數(shù)據(jù)庫中獲取到地圖圖像。一個WMS 的請求,根據(jù)包圍盒的坐標定義了一個地理的圖層。請求的響應是一個或者多個地圖圖像,這些圖像可以在瀏覽器和軟件中直接調(diào)用顯示。WMS國際標準有三種操作。
⑴GetCapabilities:返回地圖服務(wù)的元數(shù)據(jù),描述了服務(wù)信息和請求參數(shù),元數(shù)據(jù)是xml格式。
⑵ GetMap:返回一個地圖的圖像數(shù)據(jù),格式是gif,jpg,png 等。請求的圖像數(shù)據(jù)可以定義各種參數(shù),如包圍盒坐標,坐標參考系,輸出圖像的格式、寬度、高度等。
⑶ GetFeatureInfo:如果用戶通過GetMap 操作獲得一張地圖圖像后,可以點擊該圖像上的一個點來查詢該圖像上指定地點的地物信息,信息的格式可以是xml、gml等。
瀏覽器可以通過帶參數(shù)的URL 地址,測試并得到相應的WMS 服務(wù)。比如一個URL 測試地址如下:http://192.168.1.100:8888/wms?service=WMS&request=GetMap&version=1.3.0&srs=EPSG: 4326&layers=test1,test2&width=512&height=512&bbox=30,116,31,117&format=image/png。
表1 WMS服務(wù)參數(shù)說明
WFS 服務(wù):即Web 要素服務(wù),支持對地理要素的插入,更新,刪除,檢索和發(fā)現(xiàn)服務(wù)。不同于WMS 的是,該服務(wù)專注于要素的地理信息,而忽略其渲染信息,簡化了返回信息。瀏覽器可以通過帶參數(shù)的URL 地址,得到相應的WFS 服務(wù),比如一個URL 測試地址如下http://192.168.1.100:8888/wfs?version=1.1.0&TypeName=test1&Request=GetFeature&Service=WFS&OUTPUTFORMAT=GML2-GZIP;subtype=gml/3.1.1&BBOX=112.5,22.5,135.0,45.0。
智慧城市的地理數(shù)據(jù),可以使用開源的地理數(shù)據(jù)發(fā)布軟件,比如MapServer 發(fā)布成共享的數(shù)據(jù)。對于地形高程數(shù)據(jù)和影像數(shù)據(jù),使用WMS 服務(wù)方式發(fā)布,如果使用瓦片系統(tǒng),可以使用WMTS 服務(wù)方式發(fā)布,可以在發(fā)布的時候設(shè)置瓦片的層級。對于地名、道路等矢量數(shù)據(jù)的共享,使用WFS 服務(wù)方式發(fā)布,發(fā)布的時候,可以選擇是否做符號化處理,比如設(shè)置道路的顏色。對于需要共享的建筑模型等三維數(shù)據(jù),使用WFS 3D服務(wù)發(fā)布,發(fā)布的時候,設(shè)置每個點數(shù)據(jù)對應的實體模型名稱、坐標位置和屬性信息。
MapServer 采用零代碼編寫的配置文件方式管理發(fā)布地圖數(shù)據(jù),配置文件被稱為Mapfile,文件的后綴名是.map。Mapfile文件可以參考Mapfile的章節(jié)說明手工編寫,也可以使用圖形化配置工具生成。
很多的Web 地圖接口都使用瓦片系統(tǒng),一幅精確到街道級別的國家地圖圖片,它的長度和寬度為數(shù)以百萬計的像素,由于這些數(shù)據(jù)太大了,從而導致無法一次下載并且在內(nèi)存里也無法一次加載。實際操作中,Web 地圖由許多小的正方形的圖片組成,這些小圖片稱作瓦片。瓦片的大小一般為256*256 像素,這些瓦片一個挨一個并列放置以組成一張很大的看似無縫的地圖。瓦片系統(tǒng)是一種多分辨率的LOD 模型,采用一系列的金字塔圖像結(jié)構(gòu),瓦片系統(tǒng)可以是衛(wèi)星影像或者高程地形網(wǎng)格。當觀測距離近的時候,采用高分辨率的瓦片。當觀測距離遠的時候,采用低分辨率的額瓦片。圖2是WorldWind系統(tǒng)采用的瓦片系統(tǒng)。
圖2 瓦片系統(tǒng)說明圖
表2 度數(shù)、瓦片矩陣,每一層的瓦片數(shù)
從坐標經(jīng)緯度(lat,lon)到行列的轉(zhuǎn)換如下:
從行列到坐標左下角經(jīng)緯度的轉(zhuǎn)換如下:
WFS 3D:在研究WFS 服務(wù)的基礎(chǔ)上,定義一套面向三維地理信息數(shù)據(jù)的服務(wù),而非普通二維矢量服務(wù)的網(wǎng)絡(luò)地圖服務(wù)接口規(guī)則。該服務(wù)支持對三維地理模型的添加,修改,刪除和查詢服務(wù),服務(wù)通過HTTP 客戶請求返回GML 數(shù)據(jù)。服務(wù)定義了模型數(shù)據(jù)的地址、描述、坐標系統(tǒng)和屬性信息。
WFS 3D設(shè)計的主要接口如下。
■GetCapabilities:必須提供的操作,獲得請求服務(wù)的描述文檔數(shù)據(jù),返回GML 描述文件,比如服務(wù)提供商的基本信息,操作的元數(shù)據(jù),要素類型的列表等。
■GetFeature:根據(jù)查詢要求,返回符合GML 規(guī)范的三維場景的要素圖層數(shù)據(jù)。返回數(shù)據(jù)中包括三維模型的讀取路徑,通過坐標包圍盒的BoundingBox參數(shù)來獲取數(shù)據(jù)范圍。三維模型使用dae 格式,文件以GML 的形式存儲繼承。服務(wù)主要記錄各級瓦片的空間邏輯關(guān)系和屬性信息,以及模型與屬性如何鏈接在一起的信息,服務(wù)中引入dae模型的文件位置和名稱。首先修改MapServer 的源代碼,在原有WFS 服務(wù)的基礎(chǔ)上,添加WFS 3D 服務(wù)的代碼實現(xiàn)。完善WFS 3D服務(wù)的GetCapabilities 和GetFeature 接口,使得這些接口可以提供三維場景的數(shù)據(jù)和屬性信息服務(wù)。
瀏覽器可以通過帶參數(shù)的URL 地址,得到相應的WFS 3D 的三維數(shù)據(jù)服務(wù),比如一個URL 測試地址如 下 http://192.168.1.100: 8888/wfs3d? version=1.0.0&TypeName=test1&Request=GetFeature&Service=WFS3D&OUTPUTFORMAT=GML2-GZIP;subtype=gml/3.1.1&BBOX=112.5,22.5,135.0,45.0。在這個請求中,TypeName 表示服務(wù)請求的圖層名稱是test1,Request 表示服務(wù)請求的操作是GetFeature,Service=WFS 3D 表示使用的是WFS 3D 服務(wù)請求,request=GetFeature 表示執(zhí)行獲取要素信息操作,OUTPUTFORMAT 表示輸出格式是GML2 格式。BBOX表示三維場景數(shù)據(jù)的包圍盒范圍。
項目實驗的數(shù)據(jù)如下:影像和地形高程數(shù)據(jù)使用全國的基礎(chǔ)數(shù)據(jù),上面疊加高精度浙江省的區(qū)域數(shù)據(jù),發(fā)布成WMTS 數(shù)據(jù)。三維場景是一個某城市的部分數(shù)據(jù),范圍大小為10 平方公里,模型數(shù)量超過2000個。實驗1,使用WMS 發(fā)布和共享地形高程和遙感影像數(shù)據(jù),結(jié)果如圖3 所示。實驗2,使用WFS 發(fā)布和共享地名和道路矢量據(jù),結(jié)果如圖4 所示。實驗3,使用WFS 3D發(fā)布和共享三維模型數(shù)據(jù),結(jié)果如圖5所示。
圖3 地形和影像數(shù)據(jù)共享
圖4 地名和道路矢量數(shù)據(jù)共享
圖5 三維模型數(shù)據(jù)共享
OGC 現(xiàn)有服務(wù)標準主要是針對二維地理數(shù)據(jù)的,在研究OGC服務(wù)標準的基礎(chǔ)上,創(chuàng)新性的提出一種城市三維模型Web 共享服務(wù)的實現(xiàn)方案。通過分析國內(nèi)外三維地理信息共享標準現(xiàn)狀,研究三維地理數(shù)據(jù)的物理結(jié)構(gòu)和接口規(guī)則體系,提出三維地理數(shù)據(jù)共享服務(wù)規(guī)范,滿足開放性和共享性的要求,構(gòu)建三維地理數(shù)據(jù)的統(tǒng)一接口描述規(guī)則。經(jīng)過實驗結(jié)果的驗證,達到了三維地理數(shù)據(jù)共享目的。