基于Oracle的空間數(shù)據(jù)融合及MapX開發(fā)_第1頁
基于Oracle的空間數(shù)據(jù)融合及MapX開發(fā)_第2頁
基于Oracle的空間數(shù)據(jù)融合及MapX開發(fā)_第3頁
全文預覽已結(jié)束

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、基于Oracle的空間數(shù)據(jù)融合及MapX開發(fā)尹潘胡光道宋立軍中國地質(zhì)大學數(shù)學地質(zhì)與遙感地質(zhì)研究所)摘要OracleSpatial是Oracle新推出的存儲和處理空間數(shù)據(jù)的控件,MapX是方便、靈巧的GIS二次開發(fā)工具。本文通過研究OracleSpatial空間數(shù)據(jù)存儲實現(xiàn)了空間多源數(shù)據(jù)融合,通過基于MapX的二次開發(fā)實現(xiàn)了空間數(shù)據(jù)的圖形輸出,為空間數(shù)據(jù)的圖形輸出提供了條件。關(guān)鍵詞空間數(shù)據(jù)空間數(shù)據(jù)MapXOracleSpatial1前沿OracleSpatial是Oracle8i數(shù)據(jù)庫為實現(xiàn)快速、高效的存儲和分析空間數(shù)據(jù)而把相關(guān)函數(shù)和過程集成在一起的專用組件,它用面向?qū)ο蟛僮髟戆汛鎯υ贠rac

2、leSpatial中的多種元素信息相關(guān)聯(lián),進行拓撲分析與其它操作,實現(xiàn)了屬性數(shù)據(jù)與空間數(shù)據(jù)在同一數(shù)據(jù)庫對象關(guān)系表中的統(tǒng)一存儲與管理,和對空間數(shù)據(jù)的關(guān)聯(lián)、連通、包含、疊加等基本操作。MapX是MapInfo公司推出的地圖控件,它可以在應用程序中很容易地插入各種地圖,使用VB、VC+、Delphi這類面向?qū)ο笳Z言來創(chuàng)建這些應用程序。其功能和GIS開發(fā)工具MapInfo相近,它是按圖層組織計算機地圖的。即將一幅計算機地圖加工成多個層層疊加的透明層,這些透明層就稱為圖層。每個圖層包含了整個地圖的一個方面。2OracleSpatial空間數(shù)據(jù)存儲2.1空間數(shù)據(jù)存儲模型OracleSpatial在定義空間

3、數(shù)據(jù)模型時大量引用了GIS概念。其模型如圖1所示??臻g圖層是具有相同屬性的幾何體集合。幾何體是對象元素有序集組成的空間要素集合。對象元素是OracleSpatial中的幾何體基本組件單元。OracleSpatia1使用對象關(guān)系模型對各種基本對象元素進行統(tǒng)一的定義,對同一圖層的空間地物存儲于同一關(guān)系表中,屬性數(shù)據(jù)作為關(guān)系表列進行存儲,當涉及空間數(shù)據(jù)時使用對象模型,并將其作為一列存儲于關(guān)系表中。OracleSpatial用SDO_GEOMETRY對象進行空間數(shù)據(jù)存儲,其對象模型定義如下:SDO_GEOMETRY(SDO_GTYPENUMBER,SDO_SRIDNUMBER,SDO_POINTSDO

4、_POINT_TYPE,SDO_ELEM_INFOSDO_ELEM_INFO_ARR,SDO_ORDINATESSDO_ORDINATE_ARRAY)SDO_GTYPE定義了存儲在SDO_GEOMETRY對象中的基本幾何體類型(點、線、幾何體等),并在OracleSpatial內(nèi)部數(shù)據(jù)字典中用數(shù)字進行了預定義。圖1OracleSpatial中空間數(shù)據(jù)幾何存儲模型SDO_SRID表示對不同坐標系的支持。SDO_POINT在SDO_GEOMETRY中存儲點數(shù)據(jù),SDO_POINT數(shù)據(jù)類型為SDO_POINT_TYPE。SDO_POINT_TYPE對象類型的定義為:SDO_POINT_TYPE(XN

5、UMBER,YNUMBER,ZNUMBER)。SDO_ELEM_INFO是SDO_ELEM_INFO_ARRAY變長數(shù)組,描繪了SDO_GEOMETRY中各基本元素信息,它定義為:SDO_ELEM_INFO_ARRAY(VARRAY(1048576)OFNUMBER)。SDO_ELEM_INFO_ARRAY變長數(shù)組每三個為一組進行存儲,這三個值依次對SDO_ORDINATES中的數(shù)值進行解釋。SDO_ORDINATES對象類型用來存儲空間對象的坐標值,其數(shù)據(jù)類型為SDO_RDINATE_ARRAY變長數(shù)組類型。圖2空間符合集合體如圖2所示圖形,其在OrcaleSpatia1中的存儲為:MDSY

6、S.SDO_GEOMETRY(2003,262148,NULL,MDSYS._ELEM_INFO_ARRAY(1,1003,1,15,2003,1),MDSYS.SDO_ORDINATE_ARRAY(10,10,12,6,19,6,20,15,15,18,10,16,10,10,13,8,12,12,16,14,15,8,13,8)2.2數(shù)據(jù)格式轉(zhuǎn)換和存儲實現(xiàn)由于空間數(shù)據(jù)幾何體的數(shù)據(jù)轉(zhuǎn)換在OracleSpatial中的存儲原理和方法相似,下面以插入一個點為例說明空間數(shù)據(jù)幾何體的存儲過程。2.2.1創(chuàng)建新表CREATETABLEtablename(field1type,field2type,fi

7、eldntype,MI_PRINXNUMBER,MI_STYLEVARCHAR2,LOCATIONMDSYS.SDO_GEOMETRY);2.2.2將新表加到SDO_GEOM_METADATA_TABLE中INSERTINTOSDO_GEOM_METADATA_TABLEVALUES(OWNERNAME,TABLENAME,LOCATION,MDSYS.SDO_DIM_ARRAY(MDSYS.SDO_DIM_ELEMENT(X,-180.0,180.0,0.0000005),MDSYS.SDO_DIM_ELEMENT(Y,-90.0,90.0,0.0000005),NULL);2.2.3將新表

8、加到MAPINFO_MAPCATALOG中INSERTINTOMAPINFO_MAPCATALOG(SPATIALTYPE,TABLENAME,OWNERNAME,SPATIAL_COLUMN,DB_X_LL,DB_Y_LL,DB_X_UR,DB_Y_UR,COORDINATESYSTEM,SYMBOL,XCOLUMNNAME,YCOLUMNNAME,RENDITIONTYPE,RENDITIONCOLUMN)VALUES(13,tablename,SYSTEM,LOCATION,-180,190,180,90,EARTHPROJECTION1,0,SYMBOL(35,0,12),NO_COL

9、UMN,NO_COLUMN,1,MI_STYLE);2.2.4向表中增加包含空間對象的新記錄INSERTINTOtablenameVALUES(FIELD1,FIELD2,MDSYS.SDO_GEOMETRY(1,NULL,MDSYS.SDO_POINT_TYPE(43.7,-75.2,NULL),NULL,NULL);通過以上的處理,在數(shù)據(jù)庫中建立了一個名為tablename的表,并且插入一個包含空間數(shù)據(jù)信息的點對象及其索引。3基于OracleSpatialMapX圖形開發(fā)使用MapX和面向?qū)ο罂梢暬幊陶Z言的模式較適合于各種應用需要。MapX可以提供用戶所需要的地圖功能和地理分析等功能;面

10、向?qū)ο罂梢暬幊陶Z言可以提供友好、靈活的用戶界面設(shè)計功能和數(shù)據(jù)庫掛接功能。它們的結(jié)合可以滿足用戶不同方面的需要,以靈活進行圖形開發(fā)。31MapX開發(fā)過程3.1.1創(chuàng)建數(shù)據(jù)庫在OracleSpatial中建立面向?qū)ο蠛完P(guān)系型數(shù)據(jù)庫,以存儲空間數(shù)據(jù)和相對應的屬性數(shù)據(jù)。3.1.2設(shè)置圖層控制和地圖投影使用MapX帶的圖層管理工具GeosetManger把要加入的圖層匹配在一起,建成一個圖層組,該圖層組規(guī)定了其中各個圖層的名稱、內(nèi)容、屬性及各圖層之間的顯示順序。3.1.3設(shè)計MapX中圖像處理功能MapX中的地理對象通常使用點、線、面來表示。MapX提供標準的地理對象類型定義。在MapX所提供的點、線

11、、面類型選擇對話框中用戶可以方便地選擇地理對象的類型及其屬性。它還有完善的畫圖工具,為用戶設(shè)計出多種地理對象生成工具。3.1.4添加MapX中查詢和分析功能對于GIS中所要求的有關(guān)地理信息查詢功能和分析統(tǒng)計功能,MapX提供了一定的查詢和分析手段,如MapX可以根據(jù)圖層表中的字段值查詢相對應的地理對象;可以提供對應于圖層表中某個或某幾個字段的分析餅圖等。3.2空間數(shù)據(jù)數(shù)據(jù)圖形開發(fā)ChuckMurry.OracleSpatialUsersGuideandReferenceRelease9.0.1R.OracleCorp.,2001.AndrewMacDonald.BuildingaGeodatabaseR.ESRI,1999.DelphiDBEOLEDBMapXOracle空間數(shù)據(jù)庫圖3基于OracleSpatial的圖形開發(fā)示意圖由于BDE對OracleSpatial的支持不夠強大,所以,用Delphi、MapX分別通過BDE和MapX自帶的OLEDB對Oracle中的空間數(shù)據(jù)及其屬性進行編程,很好地實現(xiàn)了空間數(shù)據(jù)和屬性的結(jié)合,方便靈活的實現(xiàn)了空間數(shù)據(jù)的圖形開發(fā)。4結(jié)束語從上面的應用實例可以看出,使用MapX開發(fā)GIS具有簡單、快捷、高效、方便等諸多優(yōu)點,它和面向?qū)ο笳Z言的結(jié)合使得它即能充分發(fā)揮管理地圖數(shù)據(jù)的優(yōu)勢,又能使開發(fā)者快速生成友好的用戶界面,這一特點正是現(xiàn)在大多數(shù)GI

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論