999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

CityMaker中三維模型數據的數據庫組織方法與應用擴展

2013-03-03 11:44:24紀彥忠李浩
城市勘測 2013年3期
關鍵詞:數據庫信息模型

紀彥忠,李浩

(哈爾濱市勘察測繪研究院,黑龍江哈爾濱 150010)

CityMaker中三維模型數據的數據庫組織方法與應用擴展

紀彥忠?,李浩

(哈爾濱市勘察測繪研究院,黑龍江哈爾濱 150010)

CityMaker是一款優秀的國產3D GIS平臺軟件。介紹了CityMaker平臺中三維場景數據的三種類型:三維模型數據、矢量數據和地形數據,重點分析了三維模型數據的組織方法和存儲結構,提出了CityMaker數據庫的兩個擴展方法:訪口接口擴展和屬性信息擴展,彌補了CityMaker在屬性信息管理方面的不足。

CityMaker;三維模型;數據組織;屬性擴展

1 引 言

空間數據組織主要指在數據集中表示空間信息的機制。計算機的效率很大程度上取決于數據的組織。在三維數字城市建設中,GB級甚至TB級的海量三維數據已經司空見慣。大規模三維數字城市場景的數據內容具有復雜性和海量性的特點,表現在對象類型繁多、模型精細程度不同、數量多且對象在空間上隨機分布、聚集和離散程度不均衡等方面[1,2]。為了實現海量三維數據的優化顯示以及查詢分析,需要對海量的三維數據進行高效的組織與管理。二維空間數據的組織與管理模式已經由文件模式轉變到基于空間數據引擎的關系型數據庫模式,如MapInfo SpatialWare、ArcSDE、SuperMap SDX+等,很好地解決了圖屬一體化存儲管理、高效的數據訪問檢索等問題。借鑒二維空間數據的組織管理方式,利用大型關系型數據庫管理系統進行三維空間數據一體化管理已成為發展方向[3~5]。

隨著空間信息技術的發展,三維地理信息平臺軟件已經由實驗室走向了商業應用,國內外涌現出大批的三維地理信息平臺軟件。這些軟件一方面具有逼真流暢的三維可視化效果,另一方面又具有高效的數據訪問和管理能力。本文以一款優秀的國產三維地理信息平臺軟件CityMaker為例,介紹和分析了其三維數據組織和管理方法,并根據應用需求,對其進行了擴展,增強了其在應用中的數據訪問和屬性擴展能力。

2 CityMaker產品體系

CityMaker系列軟件致力于全空間的、逼真、完美的虛擬三維可視化,將二維信息融入三維場景中,并將傳統的二維分析運算擴展成三維分析運算,實現可視化、分析功能的二三維一體化[6]。

CityMaker系列產品覆蓋了三維數據生產、管理、應用開發整個過程,具體包括城市級海量3D GIS數據生產與維護平臺CityMaker Builder、企業級的3D GIS服務聚合與發布平臺CityMaker Server、通用的3D GIS應用平臺CityMaker Explore以及3D GIS二次開發組件庫CityMaker SDK。

3 CityMake中的三維數據組織方法

3.1 三維場景數據的內容

CityMaker中的三維場景,包括地形表面以上和以下一定范圍內的空間地物。從認知研究的觀點,三維場景數據的內容可以分為兩類:一類為特征實體(Feature Entity),其特點是離散、同質,有明確定義的空間邊界,能被完整的定義,如建筑物、公共設施等;另一類為場(Fields),其特點是具有光滑的連續空間變化,如地形表面。從平臺數據存儲的觀點來看,三維場景數據的內容可以分為三類[7]:

(1)三維模型數據

三維模型數據用以表達現實世界中的離散分布的三維實體,是構成三維場景的最重要組成部分。在City-Maker中,三維模型數據采用面片模型表達三維實體,即用不同形狀的面片近似表示三維實體的表面,優點是便于顯示和更新。三維模型數據可從外部文件導入,如?.3ds,?.osg等,也可以在CityMaker Builder中創建。

三維模型組成的場景以本地文件的形式保存(?.scd、?.sdb),也可以發布到服務器形成數據服務。

(2)矢量數據

CityMaker支持本地矢量數據的加載(如Shapefile數據)、CityMaker定義的矢量數據服務(CityMaker Data Server)的加載、空間數據庫加載(如ArcSDE Database)以及符合OGC規范的數據服務(如WFS)。這些數據能夠直接被平臺識別和解析、并能加載到三維場景中。

(3)地形數據

利用平臺提供的CityMaker TerrainPush工具,將影像(DOM)及高程(DEM)數據發布成文件數據(?. ted),形成地形文件,也可以發布到MySQL、Oracle數據庫中,形成地形數據服務。

由于三維模型數據是三維場景數據的主要組成部分,且矢量數據、地形數據在二維空間數據組織管理中都有了很好的解決方案,因此,本文僅研究CityMaker中的三維模型數據。

3.2 三維模型數據的組織

三維模型數據在邏輯上是以場景組的形式組織的,即將同一種類別的三維實體組織在一個圖層中,將相似類別圖層再組織成場景組,多個場景組還可以組成一個大的場景組。呈現一個樹型的組織方式,而三維實體是指具有語義信息的三維模型數據,如圖1所示。

圖1 三維模型數據邏輯組織

這一三維模型數據組織方式在CityMaker平臺內部用XML形式描述。例如,一個管線場景組可以描述為:

<?xm l version="1.0"encoding="UTF-8"?>

<LAYERSCompactMode="1">

<LayerGroup Name="群力管線">

<LayerGroup Name="群力給水">

<Layer Name="群力給水閥門"Code="5547505181148643328"/>

<Layer Name="群力給水管井"Code="5547505181148643329"/>

<Layer Name="群力給水管線"Code="5547505181148643330"/>

</LayerGroup>

<LayerGroup Name="群力排水">

<Layer Name="群力排水管井"Code="5547505181148643331"/>

<Layer Name="群力排水管線"Code="5547505181148643332"/>

</LayerGroup>

<LayerGroup Name="群力弱電">

<Layer Name="群力弱電管井"Code="5547505181148643333"/>

<Layer Name="群力弱電管線"Code="5547505181148643334"/>

</LayerGroup>

<Layer Name="群力電力管線"Code="5547505181148643335"/>

</LayerGroup>

</LAYERS>

其中,LayerGroup是場景組(圖層組)節點,該節點既可以嵌套場景組,也可以嵌套圖層。Layer是圖層節點,是整個場景樹的葉節點,不能再嵌套任何類型。

3.3 三維模型數據的存儲

CityMaker的三維模型數據以兩種方式存儲:關系型數據庫和本地大文件。關系型數據庫存儲模式采用的是在服務器端架設MySQL數據庫。在MySQL數據庫中定義了多個表用以存儲三維模型以及三維場景組組織結構。本地大文件存儲模式采用的是Firebird嵌入式數據庫文件。該文件的內部表結構與MySQL數據庫一致。本地大文件模式既可以像本地文件一樣加載,也可以通過發布工具發布到服務器上,形成數據服務,供客戶端調用。

在數據庫內部,CityMaker設計了7個表用來存儲三維模型和場景組織結構內容。表之間的關系如圖2所示。

圖2 三維模型數據表關系圖

其中,場景信息表(BIN_SCENE_INFO)用以記錄發布的三維場景,表中的每條記錄表示一個三維場景,包括場景ID、名稱、定位信息、坐標系、圖層組織、動畫導航組織、特殊場景組織等,后三者以XML(Extensible Markup Language,XML)方式進行描述,客戶端可以直接解析這些XML描述以便獲取三維場景的組織方式。動畫導航表(BIN_SCENE_ANIMATION)用以記錄三維場景中定義的動畫導航。動畫導航指的是預先定義的固定漫游路徑,每個三維場景可以包含多個動畫導航。動畫導航數據以二進制數據流的方式保存在表中的字段中。三維實體表(BIN_SCENE_ENTITY)用以記錄三維場景中每個三維實體的詳細信息,包括實體ID、所屬場景ID、所屬圖層、定位信息、表示該實體的三維模型ID和模型名稱等。三維模型表(BIN_SCENE_MODEL)用以記錄三維實體對應的三維模型文件,該三維模型文件以二進制數據流的方式存儲在表的字段中。

4 CityMaker數據庫的擴展

從CityMaker開放的開發接口來看,CityMaker并沒有提供給用戶讀寫三維模型數據庫的接口。同時,從上述三維模型數據存儲結構分析可以看到,City-Maker對三維實體的屬性描述僅僅局限于幾何體量信息,沒有任何與應用相關的屬性信息的鏈接機制,給基于三維場景的行業應用帶來了一定的困難。本文根據實際應用需求,給出了相應的數據庫擴展方法。

4.1 訪問接口的擴展

CityMaker采用MySQL、Firebird數據庫作為三維數據的存儲介質,盡管CityMaker沒有封裝訪問該數據庫的API(Application Programming Interface,API),但數據庫廠商已提供了對這兩種數據庫讀寫的接口。因此,利用數據庫廠商提供的接口,對其做高層次封裝,即可實現對三維數據庫的讀寫操作。本文基于ADO.NET數據庫訪問技術,分別利用MySQL數據庫的ADO.NET Driver for MySQL和Firebird數據庫的Firebird.NET Data Provider,設計和實現了具有統一接口的CityMaker數據庫訪問組件,該組件的層次結構如圖3所示。

圖3 CityMaker數據庫訪問組件

在該組件中,抽象出兩個接口IDbConnFactory和IDbOperation,用于向外界提供統一的調研接口。其中,IDbConnFactory接口用于獲得單例的默認數據庫連接和命名連接,也可以通過該單例獲得數據庫操作對象IDb-Operation,實現數據庫的讀寫操作,IDbOperation接口抽象出了相關數據庫操作方法,包括執行SQL查詢語句、執行數據庫事務、執行存儲過程等。針對CityMaker的兩種數據庫類型,實現這兩個接口,得到了面向具體數據庫類型的實例化類:數據庫連接工廠類FirebirdDb-ConnFactory和MySQLDbConnFactory,數據庫操作類FirebirdDbOperation和MySQLDbOperation。

4.2 屬性信息擴展

在實際應用中,三維模型不僅僅是為了滿足三維可視化展現效果,更多的是對現實世界實體的信息化表達,在描述實體的空間位置和幾何形狀外,還需要具備描述現實世界實體的社會、經濟、文化等各類屬性信息的能力。屬性信息擴展[8]的目的就是為了彌補City-Maker中三維數據模型缺少屬性信息描述能力的缺陷。

基于CityMaker的三維模型實體的屬性信息擴展方法是,根據三維模型實體的唯一編碼鏈接外部屬性表,實現三維模型數據屬性擴展。三維模型實體的唯一編碼選擇BIN_SCENE_ENTITY表的MODLENAME字段,而非GUID字段,是因為GUID字段雖然具有唯一性,但是由系統自動生成,沒有任何意義,當三維模型重新發布時,該字段會改變,需要重新鏈接外部屬性表。而MODLENAME字段來源于三維模型數據對應的外部模型文件名稱,當模型文件名稱定義為模型編碼時,可確保MODLENAME的唯一性,并且重新發布時,該字段不會改變。實現屬性擴展的關鍵是新建一個匹配表,該匹配表的目的是記錄和維護三維實體與外部屬性之間的鏈接關系,該關系可以是一對一或一對多的關系,表示三維實體具有一個或多個屬性信息。匹配表的字段結構如表1所示。

匹配表字段結構 表1

通過這種數據庫擴展模式,可以在不改變原有City-Maker數據庫組織結構的前提下,通過外部屬性表的掛接,使得三維場景中的三維模型具備自定義的屬性描述信息,外接屬性表可以是在三維數據庫中新建的屬性表,也可以是業務系統中的業務信息表。通過維護和管理匹配表和外部屬性表,可以實現CityMaker三維數據庫的屬性擴展能力,打造真正意義上的三維地理信息系統。

5 應用舉例

屬性查詢和定位是GIS中最基礎和最重要的功能之一,在二維GIS中,借助成熟的空間數據引擎和強大的平臺API,該功能的實現較為簡單。在基于City-Maker的三維GIS開發中,這一功能需要借助本文的原理和方法來實現,主要步驟包括:

(1)建立三維模型與屬性信息的匹配表

按照表1的數據結構,建立起三維模型實體與模型實體屬性信息的匹配關系。該匹配關系可以由人工來完成,也可以開發自動化匹配工具由程序來完成。匹配的方法可以借助空間位置關系,也可以借助編碼體系。

(2)屬性查詢

借助CityMaker SDK提供的鼠標拾取方法,拾取三維場景中的三維模型,從返回值中得到該三維模型的ID,在表1中搜索對應的屬性項,通過外接屬性表名稱和屬性項ID獲得屬性庫中的具體信息,反饋到客戶端。

(3)屬性定位

根據用戶輸入的屬性關鍵字,在屬性庫中搜索對應的屬性項,通過外接屬性表名稱和屬性項ID在表1中得到對應的三維模型ID,借助CityMaker SDK提供的定位方法,通過三維模型ID在三維場景中實現定位功能。

圖4 屬性查詢

圖5 屬性定位

圖4 、圖5展示了某三維地下管線地理信息系統中的屬性查詢與定位功能的實現效果。

6 結 語

與二維GIS平臺軟件類似,CityMaker仍然采用的是關系型數據庫存儲和管理三維數據,并且能夠描述三維場景的邏輯組織結構,但缺少二維GIS平臺軟件強大的屬性存儲和管理能力。在分析CityMaker數據庫存儲結構的基礎上,本文提出的數據庫擴展方法,可以彌補CityMaker在屬性信息管理方面的不足,使得三維數據能夠同時具有空間幾何信息和語義信息。在實際應用中,能夠解決諸如三維模型的屬性查詢和定位、三維模型實體與GIS屬性匹配等圖屬一體化問題。

[1] 朱慶,林琿.數碼城市地理信息系統——虛擬城市環境中的三維城市模型初探[M].武漢:武漢大學出版社,2004.

[2] 朱慶.三維地理信息系統技術綜述[J].地理信息世界,2004,2(3).

[3] 劉剛,吳沖龍,何珍文等.地上下一體化的三維空間數據庫模型設計與應用[J].地球科學(中國地質大學學報),2011,36(02).

[4] 李道遠,李英成,肖金城.大范圍城市三維模型管理技術研究[J].測繪科學,2011,36(5).

[5] 朱國敏,馬照亭,孫隆祥等.城市三維地理信息系統中海量數據的數據庫組織與管理[J].測繪科學,2008,33(1).

[6] 北京偉景行數字城市科技有限公司.CityMaker 6產品介紹[R].2011.

[7] 劉娟.基于CityMaker SDK的3D GIS開發方法[J].城市勘測,2011(5).

[8] 王郁昕,李紅豫,徐影.GIS中屬性信息的擴展[J].北京聯合大學學報·自然科學版,2009,23(1).

3D Scene Data Organization M ethod and Application Extension in CityM aker

Ji Yanzhong,Li Hao
(Harbin Institute of Geotechnical Investigation and Surveying,Harbin 150010,China)

CityMaker is one of the outstanding domestic 3D GIS platform software.The paper introduced the City-Maker platform of 3D scene in three types of data:three-dimensional scene data,vector data and topographic data,focused on the analysis of the 3Dmodel data organization and storage structure,put forward two database extensionmethods for CityMaker:visit interface extension and attribute information propagation for the CityMaker in the attribute information management deficiencies.

citymaker;3D model;data organization;extended attributes

1672-8262(2013)03-62-04

P208.1

B

2012—07—23

紀彥忠(1955—),男,高級工程師,主要從事測繪生產管理工作。

猜你喜歡
數據庫信息模型
一半模型
重要模型『一線三等角』
重尾非線性自回歸模型自加權M-估計的漸近分布
訂閱信息
中華手工(2017年2期)2017-06-06 23:00:31
數據庫
財經(2017年2期)2017-03-10 14:35:35
3D打印中的模型分割與打包
數據庫
財經(2016年15期)2016-06-03 07:38:02
數據庫
財經(2016年3期)2016-03-07 07:44:46
數據庫
財經(2016年6期)2016-02-24 07:41:51
展會信息
中外會展(2014年4期)2014-11-27 07:46:46
主站蜘蛛池模板: 成人无码一区二区三区视频在线观看| 国产精品综合色区在线观看| 一级成人a做片免费| 综合久久五月天| 国产成人精品一区二区免费看京| 日韩人妻精品一区| 国产一区二区三区免费| 综合久久五月天| 成人精品午夜福利在线播放| 制服丝袜亚洲| 精品丝袜美腿国产一区| 欧美一级大片在线观看| 欧美精品啪啪一区二区三区| 超级碰免费视频91| 国产精品无码AⅤ在线观看播放| 色天天综合久久久久综合片| 人妻中文字幕无码久久一区| 美女被操91视频| 国产女同自拍视频| 亚洲性视频网站| 黄色污网站在线观看| 欧美另类精品一区二区三区| 国产丝袜啪啪| 中文字幕乱妇无码AV在线| 国产情精品嫩草影院88av| 狠狠干综合| 日本黄色不卡视频| 国产视频一区二区在线观看| www.99精品视频在线播放| 手机在线免费不卡一区二| 免费观看无遮挡www的小视频| 国产精品亚洲va在线观看| 亚洲国产中文在线二区三区免| 日本五区在线不卡精品| 国产91成人| 国产成人无码播放| 伦精品一区二区三区视频| 久久精品无码中文字幕| 国产精品视频导航| 最新国产网站| 国产午夜小视频| 亚洲男人的天堂在线| 丁香五月婷婷激情基地| 久久特级毛片| 国产粉嫩粉嫩的18在线播放91| 国产成人精品综合| 亚洲第一视频免费在线| 青青草国产精品久久久久| 老司国产精品视频91| 国模沟沟一区二区三区| 中文字幕亚洲无线码一区女同| 91网在线| 国内精品一区二区在线观看| 久久毛片网| 青青草原国产| 2021国产精品自拍| 中文字幕在线欧美| 777国产精品永久免费观看| 一级毛片免费播放视频| 国产精品999在线| 香蕉国产精品视频| 精品无码一区二区三区在线视频| 国产欧美精品一区aⅴ影院| 国产SUV精品一区二区6| 狠狠亚洲婷婷综合色香| 亚洲动漫h| 免费看的一级毛片| 456亚洲人成高清在线| 欧美国产综合色视频| 国产91丝袜在线观看| 亚洲国产清纯| 中文字幕永久视频| a级毛片网| a欧美在线| 亚洲午夜福利精品无码| 国产精品开放后亚洲| 欧美色99| 国产精品久久久精品三级| 午夜视频免费试看| 欧美色99| 伊人久久婷婷五月综合97色| 欧美日韩免费|