時 斐,邵世星,儲丹華
(1.江蘇省測繪研究所,江蘇 南京 210013;2.江蘇天地圖地理信息工程技術(shù)公司,江蘇 南京 210013;3.江蘇省地質(zhì)測繪院,江蘇 南京 210013)
實景三維作為真實、立體、時序化反映人類生產(chǎn)、生活和生態(tài)空間的時空信息,是一項具有全新性、復(fù)雜性和突破性特點的新型基礎(chǔ)測繪產(chǎn)品,帶來了傳統(tǒng)測繪技術(shù)體系的全面改變[1]。2021年,全國地理信息管理工作會議提出新時期測繪工作“兩支撐、一提升”的根本定位,明確要求加快推進實景三維中國建設(shè);同時也明確指出要進行在線系統(tǒng)和支撐環(huán)境的建設(shè),其中就包括了數(shù)據(jù)庫的建設(shè)。為了能夠更好地建設(shè)實景三維數(shù)據(jù)庫就必須按照統(tǒng)一的標(biāo)準(zhǔn),將離散、多源、異構(gòu)的各類實景數(shù)據(jù)進行匯集、處理、檢查和規(guī)整,形成一套干凈、清晰、規(guī)范的數(shù)據(jù)資源體系;按照事物發(fā)展的規(guī)律,將獨立的實景數(shù)據(jù)進行關(guān)聯(lián),形成“一數(shù)一源一主體”的數(shù)據(jù)機理脈絡(luò)。圍繞實景數(shù)據(jù)的處理,通過信息化工具賦能,能夠極大提高實景數(shù)據(jù)質(zhì)量,提升治理水平。
將不同比例尺、時空范圍和分辨率的數(shù)據(jù)進行組織管理、處理及有效合理存儲,建立高效的時空索引機制,構(gòu)建實景三維地理場景數(shù)據(jù)庫。數(shù)據(jù)以切片方式存儲,通過標(biāo)準(zhǔn)的OGC服務(wù)進行服務(wù)發(fā)布,以散列文件和數(shù)據(jù)庫形式混合存儲,按照標(biāo)準(zhǔn)Rest Web服務(wù)形式發(fā)布。各類數(shù)據(jù)服務(wù)最終以服務(wù)方式被平臺調(diào)用,為用戶提供靈活的應(yīng)用搭建和數(shù)據(jù)調(diào)閱支撐,保障平臺使用的靈活性和規(guī)范性。
數(shù)據(jù)處理主要包括三維模型輕量化、時空索引構(gòu)建、切片與金字塔構(gòu)建等。
數(shù)字正射影像的數(shù)據(jù)處理目前不論是使用ArcGIS、Supermap等商業(yè)軟件還是GDAL、GeoWeb Cache等開源軟件都已形成了完整且成熟的技術(shù)處理流程。采用標(biāo)準(zhǔn)的XYZ地圖瓦片金字塔形式,采用球面墨卡托投影的方式,對全球球面進行平面投影,作為0級網(wǎng)格并定義為起算網(wǎng)格。起算原點為網(wǎng)格左上角點,向東向南行列遞增,X為列號,Y為行號,從0起算,統(tǒng)一瓦片分辨率為256×256像素,保證金字塔葉子瓦片的地面分辨率不低于原始影像地面分辨率,即0.2 m影像切片至第20級,0.5 m影像切片至第19級,1 m影像切片至第18級,2 m影像切片至第17級。
將切片后的影像數(shù)據(jù)存儲到MongoDB非關(guān)系型數(shù)據(jù)庫中。針對以上影像數(shù)據(jù)切片結(jié)構(gòu)特點,影像時空索引表需要記錄瓦片的XYZ分級分塊信息。根據(jù)相同坐標(biāo)范圍和縮放基本瓦片具備唯一的特性,將瓦片數(shù)據(jù)存入MongoDB數(shù)據(jù)庫中,利用PostGIS創(chuàng)建時空復(fù)合索引,同時創(chuàng)建數(shù)據(jù)集的時空索引表,并通過“服務(wù)類型”+“服務(wù)名稱”+“XYZ層級”+“時間”+“空間”的復(fù)合方式索引。最后將帶有時空信息的影像數(shù)據(jù)接口服務(wù)通過tomcat發(fā)布為WMTS影像服務(wù),通過影像時空查詢服務(wù)接口將數(shù)據(jù)返回進行渲染。
數(shù)字高程模型的處理流程與數(shù)字正射影像數(shù)據(jù)類似,但在B/S場景下,由于網(wǎng)絡(luò)環(huán)境和Web瀏覽器計算能力的限制,柵格瓦片的傳輸和高密度規(guī)則三角網(wǎng)格的實時生成會制約三維場景整體的瀏覽效率和效果。因此,要對柵格瓦片進行優(yōu)化處理,滿足網(wǎng)絡(luò)環(huán)境下流暢瀏覽三維場景的需求。通過數(shù)據(jù)處理工具對數(shù)字高程模型進行重新切片處理,對切片得到的每一幅瓦片數(shù)據(jù)進行柵格-TIN轉(zhuǎn)換,通過壓縮平坦區(qū)域冗余高程點的方式減少數(shù)據(jù)總體容量,按級別+行號+列號的順序結(jié)構(gòu)依次存儲數(shù)字高程模型生成文件,并進入MongoDB非關(guān)系型數(shù)據(jù)庫進行存儲[2]。利用PostGIS創(chuàng)建時空復(fù)合索引,通過“服務(wù)類型”+“服務(wù)名稱”+“XYZ層級”+“時間”+“空間”的復(fù)合索引方式,創(chuàng)建數(shù)據(jù)集的時空索引表。最后將帶有時空信息的數(shù)字高程模型數(shù)據(jù)接口服務(wù)通過Tomcat發(fā)布數(shù)字高程模型Terrain服務(wù),通過數(shù)字高程模型時空查詢服務(wù)接口將數(shù)據(jù)返回進行渲染。
目前,傾斜攝影三維模型大部分以Bentley ContexCapture生產(chǎn)和輸出的OSGB瓦片集為主,這些模型按照文件名規(guī)則定義了多級瓦片索引結(jié)構(gòu),同時通過XML文件定義空間參考等描述信息。模型數(shù)據(jù)整體處理流程如圖1所示。
圖1 三維傾斜模型處理流程
(1)解析和轉(zhuǎn)換OSGB原始數(shù)據(jù)的整個細節(jié)層次樹,構(gòu)建多細節(jié)層次組織規(guī)則和OGC3DTiles規(guī)范構(gòu)建三維模型瓦片集以滿足要求。
(2)對提取的頂層模型進行數(shù)據(jù)量判斷,以解決原始瓦片集頂層細節(jié)層次模型過于細分的問題。如果模型的數(shù)據(jù)量超過了設(shè)定的閾值,會按照格網(wǎng)的方式進行合并,將其三維凸包計算出合并后的各塊單個模型。采用紋理烘烤工藝壓縮紋理,從而獲得全新的頂層模型,直到最終頂層模型的數(shù)據(jù)量低于規(guī)定的閾值,得到簡化的細節(jié)層次模型為止。最終的模型瓦片集是通過上述計算得到的細節(jié)層次簡明模型與細節(jié)層次精細模型的逐步轉(zhuǎn)換合并而成的。
傾斜攝影三維模型數(shù)據(jù)通過切片處理工具進行切片處理,經(jīng)過模型頂層節(jié)點合并以及紋理壓縮等輕量化操作,將OSGB格式的傾斜數(shù)據(jù)處理成.b3dm格式的數(shù)據(jù)文件,進入MongoDB非關(guān)系型數(shù)據(jù)庫進行存儲。對符合構(gòu)建時空索引要求的數(shù)據(jù),利用PostGIS創(chuàng)建數(shù)據(jù)集的時空索引表,構(gòu)建“服務(wù)類型”+“服務(wù)名稱”+“文件目錄層級”+“時間”+“空間”的時空復(fù)合索引。最后將重新構(gòu)建的新的時空信息tileset瓦片數(shù)據(jù)集文件的數(shù)據(jù)文件通過Tomcat發(fā)布,地圖加載指定時空的B3DM+JSON數(shù)據(jù)。
三維單體模型數(shù)據(jù)往往具備以下特點:
(1)數(shù)據(jù)結(jié)構(gòu)復(fù)雜,由于缺乏足夠可落地的數(shù)據(jù)標(biāo)準(zhǔn)指導(dǎo),不同軟件、不同作業(yè)團隊所生產(chǎn)的不同場景模型可能結(jié)構(gòu)迥異。
(2)表面幾何細節(jié)比較有限,模型三角面一般數(shù)量不多,整體數(shù)據(jù)體積比較小,局限于三維數(shù)據(jù)生產(chǎn)效率。因此,結(jié)合適當(dāng)?shù)募毠?jié)層次結(jié)構(gòu)優(yōu)化,頂點數(shù)量整體不會對模型渲染效率帶來瓶頸。
(3)數(shù)據(jù)可能會大量使用高分辨率的紋理,甚至可以占到整個數(shù)據(jù)容量的90%以上。在表面幾何細節(jié)有限的情況下,為了盡可能地提升視覺效果,實時渲染效率將會受到很大的制約。
針對上述特點,模型三維切片處理的重點在于紋理壓縮,整體流程如圖2所示。
圖2 三維模型處理流程
模型三維數(shù)據(jù)通過切片處理工具進行切片,處理得到.b3dm格式的數(shù)據(jù)文件,存儲于MongoDB非關(guān)系型數(shù)據(jù)庫中。對符合構(gòu)建時空索引要求的數(shù)據(jù),利用PostGIS創(chuàng)建數(shù)據(jù)集的時空索引表,構(gòu)建“服務(wù)類型”+“服務(wù)名稱”+“文件目錄層級”+“時間”+“空間”的時空復(fù)合索引。最后將重新構(gòu)建的新的時空信息tileset瓦片數(shù)據(jù)集文件的數(shù)據(jù)文件通過Tomcat發(fā)布,地圖加載指定時空的B3DM+JSON數(shù)據(jù)。
基于符合構(gòu)建時空索引要求的傾斜攝影三維模型,保持與傾斜模型統(tǒng)一的瓦片組織結(jié)構(gòu)制作得到的模型三維數(shù)據(jù),可以構(gòu)建模型三維時空索引,否則只能以快照數(shù)據(jù)形式存儲于數(shù)據(jù)庫中。目前,項目中處理的太倉市城區(qū)、泰州市城區(qū)、常州市部分地區(qū)和宿遷市城區(qū)的模型三維數(shù)據(jù)都無法構(gòu)建時空索引,僅僅做了數(shù)據(jù)轉(zhuǎn)換、入庫和服務(wù)發(fā)布處理。
激光點云數(shù)據(jù)的基本特點是:由于數(shù)據(jù)采集自動化程度高,內(nèi)業(yè)處理時間成本低,導(dǎo)致數(shù)據(jù)體量大;點云數(shù)據(jù)結(jié)構(gòu)簡單,只有坐標(biāo)和屬性中記錄著空間信息,不存在三維模型那種復(fù)雜的數(shù)據(jù)結(jié)構(gòu)。
就上述特點,激光點云模型的切片處理與模型三維、傾斜攝影三維模型的技術(shù)流程存在一定差異,重點在于對離散點的空間剖分和分配策略,幾乎沒有幾何計算,整體流程如圖3所示。
圖3 激光點云處理流程
(1)通過對原始點云數(shù)據(jù)的處理與分析,獲取點云的數(shù)據(jù)范圍及數(shù)據(jù)量等信息。
(2)對點云空間范圍使用八叉樹剖分策略進行剖分,得到8個初始子塊點云。再對每一個子塊進行重新計算,若點云數(shù)量超出閾值,則利用空間隨機采樣策略處理該子塊,得到小于閾值的真子塊點云和子塊剩余點云,對子塊剩余點云繼續(xù)采用上述方法計算下一級子塊點云。
對上述步驟中點云數(shù)據(jù)量小于閾值的各級子塊點云,按照江蘇省地方標(biāo)準(zhǔn)《三維地理信息數(shù)據(jù)服務(wù)規(guī)范》對于地物模型的多細節(jié)層次組織規(guī)則和OGC3DTiles規(guī)范構(gòu)造激光點云模型瓦片集[3]。
激光點云數(shù)據(jù)具有體量大、分布不均的特點,若點云嚴格按照統(tǒng)一的地理空間格網(wǎng)進行剖分,不考慮激光點數(shù)據(jù)實際分布情況,會導(dǎo)致計算、存儲資源的浪費,對前端渲染也會造成很大的壓力。因此,為了保證點云數(shù)據(jù)的瀏覽效率,項目采取了八叉樹剖分-隨機采樣策略對點云數(shù)據(jù)進行剖分。本層級是否存在數(shù)據(jù)是由上一層級點云數(shù)據(jù)的數(shù)據(jù)量決定的,因此無法保證每個層級的瓦片都有數(shù)據(jù),從而不對激光點云數(shù)據(jù)構(gòu)建時空索引,僅僅將處理得到的.pnts格式的數(shù)據(jù)文件存儲于MongoDB非關(guān)系型數(shù)據(jù)庫中,通過Tomcat發(fā)布數(shù)據(jù)服務(wù)。
本文探討了將不同比例尺、時空范圍和分辨率的數(shù)據(jù)進行組織管理、處理及有效合理存儲,建立高效的時空索引機制,構(gòu)建時空三維模型。將數(shù)據(jù)以切片方式存儲,通過標(biāo)準(zhǔn)的OGC服務(wù)進行服務(wù)發(fā)布,以散列文件和數(shù)據(jù)庫形式混合存儲,按照標(biāo)準(zhǔn)Rest Web服務(wù)形式發(fā)布。各類數(shù)據(jù)服務(wù)最終以服務(wù)方式被各種平臺調(diào)用,為用戶提供靈活的應(yīng)用搭建和數(shù)據(jù)調(diào)閱支撐,保障各種平臺使用的靈活性和規(guī)范性。
通過大范圍海量城市模型數(shù)據(jù)集成建庫,形成完整的三維空間數(shù)據(jù)基礎(chǔ)設(shè)施,能夠為智慧城市建設(shè)中各行業(yè)領(lǐng)域提供多源測繪產(chǎn)品的瀏覽、應(yīng)用和分析支撐。伴隨著城市化進程的推進,基于現(xiàn)有的數(shù)據(jù)更新采集機制,將形成更為完善的城市數(shù)據(jù)采集、處理、更新鏈條,從而更好地服務(wù)智慧城市建設(shè)[4]。