張 磊
(1.福建省基礎(chǔ)地理信息中心,福建 福州 350003)
目前市場(chǎng)上比較成熟的三維建模軟件CityEngine采用了基于規(guī)則的三維快速建模方法,為大場(chǎng)景三維快速建模提供了一種有效的解決方案[1]。同時(shí),由于成本、運(yùn)行環(huán)境等因素限制,2.5維地圖仍具有一定優(yōu)勢(shì),既能有效克服三維地圖網(wǎng)絡(luò)應(yīng)用問(wèn)題,又能提供較強(qiáng)的三維仿真感。因此,本文通過(guò)引入CityEngine三維建模技術(shù)和2.5維地圖制作技術(shù),從地理國(guó)情普查成果數(shù)據(jù)特點(diǎn)的挖掘、三維可視化符號(hào)的設(shè)計(jì)、三維場(chǎng)景的快速建模、2.5維地圖制作技術(shù)研究等幾個(gè)方面,研究互聯(lián)網(wǎng)地理國(guó)情普查成果仿真三維地圖服務(wù)制作流程,解決地理國(guó)情普查成果在互聯(lián)網(wǎng)三維地圖服務(wù)應(yīng)用時(shí)的網(wǎng)絡(luò)發(fā)布和效率問(wèn)題,為政府部門和社會(huì)大眾提供較好的用戶體驗(yàn)。
三維地圖一般基于數(shù)字高程模型數(shù)據(jù)制作,且三維場(chǎng)景輸出時(shí)一般為非正射投影方式,因此輸出的圖片會(huì)因地形起伏造成地物空間位置發(fā)生明顯變化。為便于與天地圖的地圖服務(wù)進(jìn)行對(duì)接,本文采用平面仿真三維的構(gòu)建方法,即建模時(shí)不考慮地形起伏因素,關(guān)鍵技術(shù)涉及數(shù)據(jù)顯示方案制定、三維符號(hào)模型制作、三維快速建模和多比例尺平行投影算法共4個(gè)方面。
根據(jù)三維地圖數(shù)據(jù)的承載力及表現(xiàn)力,結(jié)合地表覆蓋分類數(shù)據(jù)的地物分類代碼屬性、重要地理國(guó)情要素?cái)?shù)據(jù)的類型及屬性信息,制定不同比例尺下的數(shù)據(jù)顯示方案。經(jīng)試驗(yàn),因重要地理國(guó)情要素?cái)?shù)據(jù)和地表覆蓋分類數(shù)據(jù)的比例尺與1∶1 000DLG數(shù)據(jù)相當(dāng),電子地圖顯示級(jí)別設(shè)定為15~17級(jí)。重要地理國(guó)情要素?cái)?shù)據(jù)顯示內(nèi)容主要涉及道路、橋梁和隧道,符號(hào)化表達(dá)主要涉及的屬性項(xiàng)有類型、路寬和長(zhǎng)度;地表覆蓋分類數(shù)據(jù)15級(jí)僅顯示一級(jí)類,16級(jí)在15級(jí)基礎(chǔ)上對(duì)房屋建筑(區(qū))進(jìn)行細(xì)化,顯示至二級(jí)類,17級(jí)顯示至二級(jí)類。該顯示方案綜合考慮了三維數(shù)據(jù)承載力及三維顯示效果,可較好地展現(xiàn)地表覆蓋分類和重要地理國(guó)情要素?cái)?shù)據(jù)的特點(diǎn),提高數(shù)據(jù)生產(chǎn)加工的效率。
結(jié)合遙感影像解譯樣本數(shù)據(jù),針對(duì)地表覆蓋分類數(shù)據(jù)和重要地理國(guó)情要素?cái)?shù)據(jù)的特點(diǎn),對(duì)不同類別的地物制作數(shù)據(jù)量小且生動(dòng)形象的圖片素材庫(kù),并在CityEngine軟件中通過(guò)CGA規(guī)則編程,將其轉(zhuǎn)換成表現(xiàn)力強(qiáng)的三維可視化符號(hào)模型庫(kù)。其中,樹木類地物可采用點(diǎn)狀三維樹木符號(hào)按照一定密度均勻分布,涉及函數(shù)為scatter(surface,rint(geometry.area/20),uniform),并按一定高度值范圍隨機(jī)生成大小不同的三維符號(hào)進(jìn)行填充,涉及函數(shù)為s(0,rand(3,10),0);部分地物類在三維視覺(jué)效果上差不多的情況下,可采用圖片填充的方式進(jìn)行表示,盡量減少計(jì)算機(jī)三維模型渲染的負(fù)荷,如耕地、草地、水域等;道路可參考陳秋曉等提出的城市道路參數(shù)化建模規(guī)則[2]進(jìn)行表示;高架路可用具有一定厚度、懸浮于地面的道路面疊加均勻分布的橋墩表示。各種地物類的CGA規(guī)則可根據(jù)實(shí)際圖面效果和表達(dá)需求進(jìn)行編程和優(yōu)化。
段雅萍等設(shè)計(jì)了基于CityEngine 的城市三維建模解決方案,總結(jié)了一套有效的建模技術(shù)流程[3]。針對(duì)大范圍、大數(shù)據(jù)量地理國(guó)情普查成果數(shù)據(jù),因CityEngine軟件功能限制及軟硬件運(yùn)行支撐環(huán)境限制,可將其按照一定范圍進(jìn)行分幅建模。常用的分幅方式有國(guó)家基本比例尺地形圖分幅、規(guī)則漁網(wǎng)分幅等,數(shù)據(jù)分幅處理時(shí)建議采用高斯-克呂格平面直角坐標(biāo)系以提高數(shù)據(jù)導(dǎo)入時(shí)的效率,并外擴(kuò)一定范圍以避免三維場(chǎng)景輸出的圖片無(wú)法拼接。
同時(shí),在CityEngine軟件中還可以通過(guò)修改CGA規(guī)則文件,如填充密度、高度值范圍、分割大小等參數(shù),使地理國(guó)情普查數(shù)據(jù)在快速三維建模的同時(shí)又能美觀逼真地模擬實(shí)際場(chǎng)景。
為適合圖片快速無(wú)縫拼接,劉向南等提出基于投影坐標(biāo)計(jì)算的方法,實(shí)現(xiàn)任意俯仰角與水平角組合方式下的三維虛擬場(chǎng)景渲染出圖數(shù)據(jù)無(wú)縫拼接[4],李峰設(shè)計(jì)了基于CityEngine的多比例尺平行投影算法,具有參數(shù)可調(diào)節(jié)、支持坐標(biāo)信息文件自動(dòng)配準(zhǔn)等優(yōu)勢(shì)[1]。因多比例尺平行投影算法更具代表性且易于實(shí)現(xiàn),本文直接引用該方法并增加一個(gè)視角輸出。當(dāng)攝影機(jī)的視角切換為正南向下45°俯視時(shí),可設(shè)定側(cè)視角為180°,需對(duì)算法計(jì)算公式進(jìn)行如下調(diào)整:
相機(jī)位置camera_y計(jì)算公式:camera_y=miny+(j+0.5)*height+offset_y X 方向上的像素分辨率: resolution_x=-0.025 4*scale/72 Y方向上的像素分辨率:resolution_y=0.025 4*scale/(72*sinθ)
柵格地圖左上角像素中心X坐標(biāo):leftupper_x=minx+(i+1)*width
柵格地圖左上角像素中心Y坐標(biāo):leftupper_y=miny+j*height
相機(jī)鏡頭姿態(tài)旋轉(zhuǎn)參數(shù):views[0].setCamera Rotation(-θ,180,0)
上述公式中,i、j為場(chǎng)景范圍內(nèi)第(i,j)張相片對(duì)應(yīng)的列、行編號(hào),minx、miny為最小起始點(diǎn)X、Y坐標(biāo),height、width為相片對(duì)應(yīng)的地面實(shí)際高度、寬度,offset_y為相機(jī)位置到相片中心在Y方向上的偏移量,camera_y為第(i,j)張相片對(duì)應(yīng)相機(jī)位置的Y坐標(biāo),scale為輸出圖片的比例尺,θ為俯視角度。
三維場(chǎng)景輸出腳本中數(shù)據(jù)輸出路徑、場(chǎng)景輸出范圍、視圖窗口大小和輸出比例尺共4類參數(shù)需根據(jù)數(shù)據(jù)情況進(jìn)行實(shí)時(shí)調(diào)整。同時(shí),為避免三維場(chǎng)景輸出圖片顆粒感較重的現(xiàn)象,可將比例尺參數(shù)放大至√2倍以提高輸出圖片的顯示效果。
按照上述技術(shù)方法,將技術(shù)試驗(yàn)過(guò)程劃分為準(zhǔn)備工作、數(shù)據(jù)預(yù)處理、三維工程建立、三維場(chǎng)景輸出、影像拼接和服務(wù)發(fā)布共6部分內(nèi)容,技術(shù)流程見(jiàn)圖1。
圖1 技術(shù)流程圖
準(zhǔn)備工作主要包括硬件準(zhǔn)備、軟件準(zhǔn)備、數(shù)據(jù)準(zhǔn)備和符號(hào)庫(kù)準(zhǔn)備共4個(gè)方面。其中,硬件方面需準(zhǔn)備性能強(qiáng)勁的計(jì)算機(jī),建議內(nèi)存32 GB以上;軟件方面需安裝CityEngine、ArcGIS等專業(yè)軟件;數(shù)據(jù)方面需提取特定區(qū)域范圍內(nèi)的地表覆蓋分類、重要地理國(guó)情要素、0.1°格網(wǎng)等數(shù)據(jù);符號(hào)庫(kù)方面需準(zhǔn)備三維符號(hào)庫(kù)模型規(guī)則庫(kù),便于快速構(gòu)建三維場(chǎng)景。
對(duì)于重要地理國(guó)情要素?cái)?shù)據(jù),先從構(gòu)筑物線圖層中提取隧道和長(zhǎng)度大于300 m的橋梁,然后將公路、城市道路和鄉(xiāng)村道路通過(guò)擦除和融合處理的方法獲取完整道路網(wǎng)要素,最后單獨(dú)提取高架路以增強(qiáng)道路要素三維符號(hào)表達(dá)的層次感,并按寬度屬性融合后以40 m分割圖形生成橋墩點(diǎn)。對(duì)于無(wú)“寬度”屬性項(xiàng)的鄉(xiāng)村道路,可賦其寬度屬性值為3 m;若數(shù)據(jù)中無(wú)法從“是否高架”屬性項(xiàng)區(qū)分出高架路,可只提取“技術(shù)等級(jí)”屬性中為“高速”的道路作為高架路。
對(duì)于地表覆蓋分類數(shù)據(jù),因其采集方式為所見(jiàn)即所得、最小圖斑的地面實(shí)際面積為200 m2、存在一定的綜合性等特點(diǎn),以致地表覆蓋分類數(shù)據(jù)與道路要素在三維表示時(shí)會(huì)產(chǎn)生矛盾??上葘⒌缆肪W(wǎng)要素按照寬度屬性值的一半進(jìn)行緩沖區(qū)分析,生成有軌路面和無(wú)軌路面數(shù)據(jù),然后對(duì)地表覆蓋分類數(shù)據(jù)和道路面數(shù)據(jù)進(jìn)行擦除和融合處理,并按照數(shù)據(jù)顯示方案生成15~17級(jí)各級(jí)別的地表覆蓋分類數(shù)據(jù)。
數(shù)據(jù)整理完后統(tǒng)一投影至高斯-克呂格平面直角坐標(biāo)系,然后按照0.1°格網(wǎng)在平面直角坐標(biāo)系下的最小外接矩形外擴(kuò)一定范圍(可設(shè)定為100 m)進(jìn)行分幅和圖形幾何修復(fù)處理,以免數(shù)據(jù)無(wú)法正常導(dǎo)入三維工程或無(wú)法正常符號(hào)化顯示。
在City Engine中新建三維工程,新建15~17級(jí)各級(jí)別分幅三維場(chǎng)景文件并設(shè)置投影坐標(biāo)系參數(shù),再逐層導(dǎo)入對(duì)應(yīng)分幅地理國(guó)情普查數(shù)據(jù)。導(dǎo)入線狀要素時(shí)不需 勾 選“Run Genenrate Bridges Tool after Import”、“Run Simplify Graph Tool after Import”、“Run Graph Cleanup Tool after Import”選項(xiàng),以免數(shù)據(jù)產(chǎn)生變形;導(dǎo)入面狀要素時(shí)只勾選“Import and map attributes”選項(xiàng),設(shè)置圖形折角為15°,圖形清理水平垂直融合距離為0.1 m,勾選“Resolve Conflicting Shapes”參數(shù),以免數(shù)據(jù)產(chǎn)生較大變形。
在City Engine的Inspector屬性頁(yè)中,需設(shè)置道路 “street Width”掛接數(shù)據(jù)屬性項(xiàng)“WIDTH”,鐵路“street Width”可設(shè)為14,橋梁和隧道則根據(jù)對(duì)應(yīng)道路寬度屬性逐一設(shè)置“street Width”,“sidewalk Width Left”和“sidewalk Width Right” 可 設(shè) 為 0,“type” 可 設(shè) 為“Crogsing”。參數(shù)設(shè)置完成后逐一圖層全選物件,加載并應(yīng)用對(duì)應(yīng)要素的CGA規(guī)則文件,實(shí)現(xiàn)三維場(chǎng)景的快速建模。若道路模型出現(xiàn)異常時(shí),需用編輯工具對(duì)其進(jìn)行編輯處理,使其能正常、完整地表示出來(lái);若地表覆蓋分類數(shù)據(jù)出現(xiàn)部分圖斑無(wú)法建模時(shí),可在Arc Map中先對(duì)無(wú)法建模的圖斑進(jìn)行圖形分割處理后再重新導(dǎo)入工程建模。
三維場(chǎng)景輸出之前需先設(shè)置并確認(rèn)工程的背景、格網(wǎng)、指北針、方向指針以及圖形符號(hào)線框不顯示,設(shè)置平行投影算法腳本輸出圖片尺寸與視窗輸出范圍大小保持一致,然后分別運(yùn)行兩個(gè)視角的三維場(chǎng)景輸出腳本,批量獲取場(chǎng)景圖片及對(duì)應(yīng)的坐標(biāo)文件。從正北俯視三維場(chǎng)景時(shí)可設(shè)置太陽(yáng)方位角為120°,從正南俯視時(shí)可設(shè)置太陽(yáng)方位角為300°,以修正地物向陽(yáng)面與陰影的方向。
先按照分幅編號(hào)、不同級(jí)別和不同視角分別拼接三維場(chǎng)景輸出的圖片數(shù)據(jù),然后對(duì)其構(gòu)建鑲嵌數(shù)據(jù)集,拼接成不同級(jí)別、不同視角的三維場(chǎng)景數(shù)據(jù)。構(gòu)建鑲嵌數(shù)據(jù)集時(shí)應(yīng)生成和編輯接邊線以去除接邊痕跡,同時(shí)還應(yīng)檢查鑲嵌數(shù)據(jù)集的分幅分塊圖像是否存在異常。若圖像存在異常,需找出對(duì)應(yīng)的分幅編號(hào),分析異常產(chǎn)生的原因并重新輸出。常見(jiàn)異常問(wèn)題主要有分塊圖像內(nèi)部存在較大色彩差異、分塊圖像之間存在較大色彩差異、分塊圖像存在空間位置偏移和數(shù)據(jù)空白等,一般情況下重新輸出一次即可解決問(wèn)題。若因房屋建筑(區(qū))隨機(jī)生成的模型高低不同而導(dǎo)致接邊困難時(shí),可適當(dāng)增加數(shù)據(jù)分幅的外擴(kuò)范圍,以保證有較大的重疊區(qū)域編輯接邊線。
在Arc Map中利用建好的鑲嵌數(shù)據(jù)集,先按照天地圖的地圖瓦片生產(chǎn)技術(shù)方法[5]建立兩個(gè)視角15~17級(jí)地圖切片工程,分別發(fā)布服務(wù)獲取兩個(gè)視角15~17級(jí)的瓦片數(shù)據(jù),最后將瓦片數(shù)據(jù)與地理國(guó)情普查數(shù)據(jù)進(jìn)行疊加顯示,逐級(jí)逐屏檢查瓦片數(shù)據(jù)是否存在空洞或顯示異常的情況。
以仙游縣為試驗(yàn)區(qū),在ArcGIS模型構(gòu)建工具中利用裁切、投影、擦除、緩沖區(qū)、合并、計(jì)算字段、連接字段、融合、修復(fù)幾何等處理功能,將地理國(guó)情普查數(shù)據(jù)預(yù)處理系列過(guò)程進(jìn)行可視化編程,實(shí)現(xiàn)數(shù)據(jù)的一鍵式批量處理;在VB環(huán)境下利用文本框、按鈕等控件進(jìn)行編程,實(shí)現(xiàn)三維場(chǎng)景文件和三維場(chǎng)景輸出腳本文件的批量生成,將文件創(chuàng)建、參數(shù)設(shè)置等繁瑣工作自動(dòng)化實(shí)現(xiàn)(如圖2),只需在生成的三維場(chǎng)景文件中導(dǎo)入對(duì)應(yīng)分幅的數(shù)據(jù)進(jìn)行建模和模型編輯后,即可運(yùn)行對(duì)應(yīng)的腳本文件進(jìn)行三維場(chǎng)景批量輸出,大幅提高生產(chǎn)效率和降低生產(chǎn)成本。圖3為仙游縣局部區(qū)域地理國(guó)情普查仿真三維地圖服務(wù)疊加天地圖矢量地圖注記服務(wù)的15~17級(jí)顯示效果圖。
圖2 基于VB開發(fā)的國(guó)普仿真三維輔助程序
圖3 地理國(guó)情普查仿真三維地圖15~17級(jí)顯示效果圖
本文以地理國(guó)情普查成果為數(shù)據(jù)源,充分利用三維快速建模技術(shù)和2.5維地圖制作技術(shù),研究出一套地理國(guó)情普查成果的仿真三維地圖制作技術(shù)流程,實(shí)現(xiàn)了仙游縣正北、正南俯視兩個(gè)視角地理國(guó)情普查成果仿真三維地圖瓦片數(shù)據(jù)的批量生產(chǎn)。該方法能有效解決大范圍、大數(shù)據(jù)量地理國(guó)情普查成果在三維地圖服務(wù)應(yīng)用方面的問(wèn)題,使其能在互聯(lián)網(wǎng)上為政府部門和社會(huì)大眾提供較好的用戶體驗(yàn),對(duì)地理國(guó)情普查成果在互聯(lián)網(wǎng)上的推廣應(yīng)用起到了重要的作用。
[1] 李鋒.基于CityEngine的2.5維地圖生成方法與應(yīng)用[J].城市勘測(cè),2015(4):20-23
[2] 陳秋曉,張斌,吳寧,等.城市道路參數(shù)化建模規(guī)則初探[J].建筑與文化,2013(7):40-41
[3] 段雅萍,郝連秀,王瑞富,等.基于CityEngine的城市三維模型構(gòu)建方法與問(wèn)題分析[J].地理空間信息,2017,15(5):75-77
[4] 劉向南,馬純永,陳璐,等.基于三維場(chǎng)景出圖的拼接制作2.5維地圖算法[J].計(jì)算機(jī)應(yīng)用,2015,35(增刊):217-220
[5] CH/Z 9011-2011.地理信息公共服務(wù)平臺(tái)電子地圖數(shù)據(jù)規(guī)范[S].