空間數(shù)據(jù)庫實習(xí)三個實驗_第1頁
空間數(shù)據(jù)庫實習(xí)三個實驗_第2頁
空間數(shù)據(jù)庫實習(xí)三個實驗_第3頁
空間數(shù)據(jù)庫實習(xí)三個實驗_第4頁
空間數(shù)據(jù)庫實習(xí)三個實驗_第5頁
已閱讀5頁,還剩34頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

空間數(shù)據(jù)庫》實驗指導(dǎo)書評分表實驗一實驗二實驗三實驗四總評空間數(shù)據(jù)庫實驗預(yù)備知識—OracleSpatial簡介OracleSpatial主要通過元數(shù)據(jù)表、空間數(shù)據(jù)字段(即sdo_Geometry字段)和空間索引來管理空間數(shù)據(jù),并在此基礎(chǔ)上提供一系列空間查詢和空間分析的程序包,讓用戶進行更深層次的GIS應(yīng)用開發(fā)。OracleSpatiaI使用空間字段sdo_Geometry存儲空間數(shù)據(jù),用元數(shù)據(jù)表來管理具有sdo_Geometry字段的空間數(shù)據(jù)表,并采用R樹索引和四叉樹索引技術(shù)來提高空間查詢和空間分析的速度。一、元數(shù)據(jù)表說明OracleSpatial的元數(shù)據(jù)表存儲了有空間數(shù)據(jù)的數(shù)據(jù)表名稱、空間字段名稱、空間數(shù)據(jù)的坐標(biāo)范圍、坐標(biāo)系以及坐標(biāo)維數(shù)說明等信息。用戶必須通過元數(shù)據(jù)表才能知道Oracle數(shù)據(jù)庫中是否有OracleSpatial的空間數(shù)據(jù)信息。通過元數(shù)據(jù)視圖(USER_SDO_GEOM_METADATA)訪問元數(shù)據(jù)表。元數(shù)據(jù)視圖字段名鮭TableNameVarchar2(32)表名ColumnNameVarchar2(1024)字段名Diminfo ?Mdsys.sdodimZ\空間信息的坐標(biāo)范圍,用于定于所操作的空間信息的MBR(Minimumboundingrectangles)^小覆蓋的拒形框犬小Srid空間坐標(biāo)參肴系字段老鮭SdoDimnameV^rchar2(64)是空間維茗稱(LongZLat)E血丄BNumberMBR的左下角坐標(biāo)SdoUBNumberMBR的右上角坐標(biāo)SdoToleranceNumber容忍的精度的基本定義為:其中,TABLE_NAME為含有空間數(shù)據(jù)字段的表名,COLUMN_NAME為空間數(shù)據(jù)表中的空間字段名稱,DIMINFO是一個按照空間維順序排列的SDO_DIM_ARRAY對象的動態(tài)數(shù)組,SRID則用于標(biāo)識與幾何對象相關(guān)的空間坐標(biāo)參考系。SDO_DIM_ELEMENT對象的定義如下所示:CreateTypeSDO_DIM_ARRAYasOBJECT(SDO_DIMNAMEVARCHAR2(64),SDO_LBNUMBER,SDO_UBNUMBER,SDO_TOLERANCENUMBER);其中,SDO_DIMNAME是空間維名稱,SDO_LB為該空間維的左下角坐標(biāo),SDO_UB為該空間維的右上角坐標(biāo),SDO_TOLERANCE為幾何對象的表示精度。二、空間字段解析OracleSpatial的空間數(shù)據(jù)都存儲在空間字段sdo_Geometry中,理解sdo_Geometry是編寫OracleSpatial程序的關(guān)鍵。sdo_Geometry是按照

字段名SdoGtypeNumber幾何對象的糞型SdoSridNumber幾何對象的坐標(biāo)系SdoPointSdoPointType表示幾何類型次點的幾何對象Sdo_Elem」吋口Sdo_EIem」nfo_Array是—亍可變長度的數(shù)組,每3個數(shù)作為一個元素單位,用于解釋坐標(biāo)是如何存儲在SDOORDINATES數(shù)組中的Sdo_OrdinatesSdo_0rdinate_Array是一個可變長度的數(shù)組,用于存儲幾何對象的真實坐標(biāo),該數(shù)組的類型^NUMBER型OpenGIS規(guī)范定義的一個對象,其原始的創(chuàng)建方式如下所示。sdo_Gtype是一個NUMBER型的數(shù)值,用來定義存儲幾何對象的類型。sdo_Gtype是一個4個數(shù)字的整數(shù),其格式為dltt,其中d表示幾何對象的維數(shù);I表示三維線性參考系統(tǒng)中的線性參考值,當(dāng)d為3維或者4維時需要設(shè)置該值,一般情況下為空;tt為幾何對象的類型,OracIeSpatiaI定義了7種類型的幾何類型,目前,tt使用了00到07,其中08到99是OracleSpatiaI保留的數(shù)字,數(shù)值幾何類型描述DL00用于存抜自定義類型的幾何對熟DL01點幾何對象包含一個點.DL02直線或曲線幾何對象由直線段或曲線段組戚DL03多辺形幾何對象由一個多邊形,該多辺形可能內(nèi)部含有洞DL04復(fù)合形狀集幾何對象由點線、多辺形組戚的復(fù)合集DL05復(fù)合點.幾何對象由一個點或多個點■組戚DL06復(fù)合線或曲線幾何對象由一條線或多條線組戚DL07復(fù)合多邊形幾何對象包含多個外環(huán)、多個不相交的多邊形DL08-99OracleSpatial暫且保留以備將來幾何對象擴展所用。sdo_Sridsdo_Srid也是一個NUMBER型的數(shù)值,它用于標(biāo)識與幾何對象相關(guān)的空間坐標(biāo)系。如果sdo_Srid為空(null),則表示沒有坐標(biāo)系與該幾何對象相關(guān);如果該值不為空,則該值必須為MDSYS.CS_SRS表中SRID字段的一個值,在創(chuàng)建含有幾何對象的表時,這個值必須加入到描述空間數(shù)據(jù)表元數(shù)據(jù)的USER_SDO_GEOM_METADATA視圖的SRID字段中。對于我們通常使用國際標(biāo)準(zhǔn)的Longitude/Latitude(8307),OracleSpatial規(guī)定,一個幾何字段中的所有幾何對象都必須為相同的sdo_Srid值。sdo_Pointsdo_Point是一個包含三維坐標(biāo)X,Y,Z數(shù)值信息的對象,用于表示幾何類型為點的幾何對象。如果sdo_Elem_Info和SDO_ORDINATES數(shù)組都為空,則sdo_Point中的X,Y,Z為點對象的坐標(biāo)值,否則,sdo_Point的值將被忽略(用NULL表示)。OracleSpatial強烈要求用sdo_Point存儲空間實體為點類型空間數(shù)據(jù),這樣可以極大的優(yōu)化OracleSpatial的存儲性能和查詢效率。sdo_Elem_Infosdo_Elem_Info是一個可變長度的數(shù)組,每3個數(shù)作為一個元素單位,用于表示坐標(biāo)是如何存儲在SDO_ORDINATES數(shù)組中的。本文把組成一個元素的3個數(shù)稱為3元組。一個3元組包含以下3部分的內(nèi)容:SDO_STARTING_OFFSETSDO_STARTING_OFFSET表明每個幾何元素的第一個坐標(biāo)在SDO_ORDINATES數(shù)組中的存儲位置。它的值從1開始,逐漸增加。SDO_ETYPESDO_ETYPE用于表示幾何對象中每個組成元素的幾何類型。當(dāng)它的值為1,2,1003和2003時,表明這個幾何元素為簡單元素。如果SDO_ETYPE為1003,表明該多邊形為外環(huán)(第一個數(shù)為1表示外環(huán)),坐標(biāo)值以逆時針存儲;如果SDO_ETYPE為2003,表明該多邊形為內(nèi)環(huán)(第一個數(shù)為2表示內(nèi)環(huán)),坐標(biāo)值以順時針存儲。當(dāng)SDO_ETYPE為4,1005和2005時,表明這個幾何元素為復(fù)雜元素。它至少包含一個3元組用以說明該復(fù)雜元素具有多少個幾何簡單元素。同樣,1005表示多邊形為外環(huán),坐標(biāo)值以逆時針存儲;2005表示多邊形為內(nèi)環(huán),坐標(biāo)值以順時針存儲。SDO_INTERPRETATION

SDOETYPESDOJNTERPRETATION含義0任意值用于為OmckSpatial不支持的幾何類型建模11點1n>l具有11個點的點集21由直線段組成解串,f直線段由起點颶腳成22由弧線段組成解串,由起點"弧上任意一點以及終點組成。相鄰兩段弧的接點不需要範(fàn)存儲。1003或20031由直線段組成的多邊形,起點與終點老須相同1003或20032由弧線段組成的多邊形,起點與終點必須相同。一林線段由起點、彊上任意一點以及終般成。相鄰兩段弧的接點祁讓重復(fù)存儲”1003或20033矩形,由左下角和右上角兩點確定1003或20034圓,由圓周上的不同三點確定4n>l由直線段和弧線段連成的復(fù)合線,11表示組成復(fù)合線的相鄰子元素的個數(shù),子元素的SDOETYPE^須為2,一個子元素的最JS—點是下一個手元素的第一個點,并且該點不能重復(fù)。1005或2005n>l由直線段和弧線段連成的復(fù)合多邊形,11表示組成復(fù)合多邊形的相鄰子元素的個數(shù),子元素的SDOETYPE必須為鮎一個子元素的最后一點是下一個子元素的第一個點,并且該點不能重復(fù)。多邊形的起點和終點必須相同。SDO_INTERPRETATION具有兩層含義,具體的作用由SDO_ETYPE是否為復(fù)雜元素決定。如果SDO_ETYPE是復(fù)雜元素(4,1005和2005),則SDO_INTERPRETATION表示它后面有幾個子3元組屬于這個復(fù)雜元素。如果SDO_ETYPE是簡單元素(1,2,1003和2003),貝VSDO_INTERPRETATION表示該元素的坐標(biāo)值在SDO_ORDINATES中是如何排列的。需要注意的是,對于復(fù)雜元素來說,組成它的子元素是連續(xù)的,一個子元素的最后一個點是下一個子元素的起點。最后一個子元素的最后一個坐標(biāo)要么與下一個元素的SDO_STARTING_OFFSET值減1所對應(yīng)的坐標(biāo)相同,要么是整個SDO_ORDINATES數(shù)組的最后一個坐標(biāo)。sdo_OrdinatesSDO_ORDINATES是一個可變長度的數(shù)組,用于存儲幾何對象的實際坐標(biāo),是一個最大長度為1048576,類型為Number的數(shù)組。SDO_ORDINATES必須與sdo_Elem_Info數(shù)組配合使用,才具有實際意義。SDO_ORDINATES的坐標(biāo)存儲方式由幾何對象的維數(shù)決定,如果幾何對象為二維,則SDO_ORDINATES的坐標(biāo)以{x1,y1,x2,y2,…}順序排列,如果幾何對象為三維,則SDO_ORDINATES的坐標(biāo)以{x1,y1,z1,x2,y2,z2,…}的順序排列。三、空間索引技術(shù)OracleSpatial提供R樹索引和四叉樹索引兩種索引機制來提高空間查詢和空間分析的速度。用戶需要根據(jù)不同空間數(shù)據(jù)類型創(chuàng)建不同的索引,當(dāng)空間數(shù)據(jù)類型比較復(fù)雜時,如果選擇索引類型不當(dāng),將使OracleSpatial創(chuàng)建索引的過程變得非常慢。實驗一認(rèn)識OracleSpatial的主要數(shù)據(jù)庫對象一、實驗?zāi)康牧私釵raclelOg數(shù)據(jù)庫中MDSYS方案的空間元數(shù)據(jù)表的結(jié)構(gòu)及用途;了解對象類型MDSYS.SDO_DIM_ARRAY以及和空間元數(shù)據(jù)表的關(guān)系;掌握通過元數(shù)據(jù)視圖USER_SDO_GEOM_METADATA 查看空間元數(shù)據(jù)表的內(nèi)容;了解對象類型MDSYS.SDO_GEOMETRY的結(jié)構(gòu)及用途;了解數(shù)組類型MDSYS.SDO_DIM_ELEMENT結(jié)構(gòu)及用途;了解數(shù)組類型MDSYS.SDO_ORDINATE_ARRAY結(jié)構(gòu)及用途;二、實驗環(huán)境在Oracle的EnterpriseManager中進行實驗,打開EnterpriseManager的方法:登陸頁面http://w8-01:1158/em/,出現(xiàn)如下登錄界面:填入正確的用戶名:system和口令:abc,如下圖:

點擊下方“我同意”之后,連接主界面為下圖所示:三、實驗步驟及分析(2課時)1.了解Oracle數(shù)據(jù)庫中MDSYS方案的空間元數(shù)據(jù)。(1)打開MDSYS.SDO_GEOM_METADATA_TABLE空間元數(shù)據(jù)表,并記錄表結(jié)構(gòu)下來,同時給出每個屬性代表的實際意義:SDO_OWNER是數(shù)據(jù)庫所有者SDO_TABLE_NAME是為含有空間數(shù)據(jù)字段的表名SDO_COLUMN_NAME為空間數(shù)據(jù)表中的空間字段名稱SDO_DIMINFO是一個按照空間維順序排列的SDO_SRID則用于標(biāo)識與幾何對象相關(guān)的空間坐標(biāo)參考系(2)MDSYS.SDO_GEOM_METADATA_TABLE空間元數(shù)據(jù)表中的SDO_DIMINFO屬性的類型是SDO_DIM_ARRAY,在用戶類型.數(shù)組類型中查看SDO_DIM_ARRAY的一般信息,SDO_DIM_ARRAY這個數(shù)組的元素是什么類型?

MDSYS.SDO_DIM_ELEMENT(3)查看用戶類型SDO_DIM_ELEMENT的結(jié)構(gòu)并記錄下來并說明每個屬性代表的實際意義。它和元數(shù)據(jù)表中的SDO_DIMINFO屬性有何關(guān)系?SDO_DIMNAME是空間維名稱,SDO_LB為該空間維的左下角坐標(biāo),SDO_UB為該空間維的右上角坐標(biāo),SDO_TOLERANCE為幾何對象的表示精度。SDO_DIMINFO是一個按照空間維順序排列的,而這些屬性是定義空間維的,這些屬性的存在才能夠使DIMINFO排列。

:文件g)編輯他)視圖過)插入(X)格式?工具(X)表格@)窗口?幫助QJ)=JJT」_jI441暫型丨諂血1引7邕血電正文+小匹二宋體 二小四二丄>■倍奇電孑教室中科機房運錐系?統(tǒng)ArcGISWindoweMediaDAEMONToolsLite管理工具Mici'osoftIIevalopei-Netwoi'kMicrosoftVisualStudioG.0Mici-osoft0f£iceWindow5MediaFlayer附件LeicaGeosj-rsterns,復(fù)制二段代碼后將主機名改寫為嵯-01登陸,”12 14IE;IS20 22 24 26 28 30 32 34 36 38 42 44Irnagew:ai:"e1M.1Imagew:xre12LicenseM:xnagei"卜GeomagicMicrosoftWindowsSDKv6.OA:文件g)編輯他)視圖過)插入(X)格式?工具(X)表格@)窗口?幫助QJ)=JJT」_jI441暫型丨諂血1引7邕血電正文+小匹二宋體 二小四二丄>■倍奇電孑教室中科機房運錐系?統(tǒng)ArcGISWindoweMediaDAEMONToolsLite管理工具Mici'osoftIIevalopei-Netwoi'kMicrosoftVisualStudioG.0Mici-osoft0f£iceWindow5MediaFlayer附件LeicaGeosj-rsterns,復(fù)制二段代碼后將主機名改寫為嵯-01登陸,”12 14IE;IS20 22 24 26 28 30 32 34 36 38 42 44Irnagew:ai:"e1M.1Imagew:xre12LicenseM:xnagei"卜GeomagicMicrosoftWindowsSDKv6.OAMici-osoftVisualStudio2008Mici-osoftSQLSei-vei-2005VirtuoZoNT3.6OracleInstallationF'roduets集成爸理工具配詈和移植工具ipyriyiit(c)19?2.2?K.Or?cle.Allriyht?rr?vrv?4.應(yīng)用程序開發(fā)???WindowsCat:alog舒WindowsVpdate令設(shè)定程序訪問和默認(rèn)值民強力卸我電腦上的軟件6程序(£)|L?ei<n:RrlNse收藏夾醫(yī)〕 ?@文檔?〕 ?&設(shè)置⑤ Jp搜索C) ?蚓幫助和支持址)O運行?…回注銷STUCL)...回關(guān)閉計算機?... -20 位置Lab;=;=sF即?SQLFinsminrjcle ItqLnterpri5?EditionRrleMe1S.7.a.1.a-rraductiM*MiththeItiwiiag.<M?P>ndOat,MiniageptiansOracleDataProviderfor.NET自述文件OracleObjectforOLE幫助OracleObjectforOLE類庫幫助OracleObjectforOLE自述文件OracleODBC幫助OraOLEIlB自述文件打開開始->程序等路徑,如下圖:注意改寫*.ora文件中的內(nèi)容,復(fù)制一段代碼后將主機名改寫為W8-01登陸,填入正確的用戶名:system和口令:abc,主機字符串:orcl,如下圖:SQL*Plus:Release.0-ProductiononSQL*Plus:Release.0-Productionon—L10頁1節(jié)10/20位置11.6厘米 2疔1列 中文(中國)曲開始 Q飛協(xié)服務(wù) ▼可移動...*andriod...r^Or.d.... 尅空I同數(shù).文件世)編輯理)搜索⑤選項Q)幫助QJ)連接到:填入正確的用戶名:system和口令:abc,服務(wù):orcl,如下圖:“填入正確的用戶名:system和口令:abc,服務(wù):orcl,如下圖:“并運行如下SQL語句,建立一個包含MDSYS.SDO_GEOMETRY屬性的表:CBEATE.TAELESP/J^LTEST自己名字縮與&<I(5)根據(jù)用戶衰填寫空間元數(shù)據(jù),并說明其實際意義—UWI服務(wù)L可移動...rr開始花中文(中闔)4缶andriod...=馬回怎單<9頁1<I(5)根據(jù)用戶衰填寫空間元數(shù)據(jù),并說明其實際意義—UWI服務(wù)L可移動...rr開始花中文(中闔)4缶andriod...=馬回怎單<9頁1節(jié)9/20并運行如下SQL語句,建立一個包含MDSYS.SDO_GEOMETRY屬性的表:CREATETABLESPATIALTESTl_iufe(iIDVARCHAR2(20)PRIMARYKEY,NAMEVARCHAR2(100),ADDRESSVARCHAR2(200),TELEPHONEVARCHAR2(50),LOCMDSYS.SDO_GEOMETRY);在對應(yīng)方案中找到數(shù)據(jù)表SPATIALTEST雙擊查看表結(jié)構(gòu),可以看到LOCATION的數(shù)據(jù)類型是MDSYS.SDO_GEOMETRY,所以,LOCATION需要在元數(shù)據(jù)表中填寫一條相關(guān)記錄。

(5)根據(jù)用戶表填寫空間元數(shù)據(jù),并說明其實際意義。INSERTINTOUSER_SDO_GEOM_METADATAVALUES(‘SPATIALTEST_liufe'i,‘LOC',MDSYS.SDO_DIM_ARRAY(MDSYS.SDO_DIM_ELEMENT('Longitude',-180,180,10),MDSYS.SDO_DIM_ELEMENT('Latitude',-90,90,10)),8307);文件g)輪輯g)搜索⑤)選項?幫助@)ADDRESSUfiRCHfiR2(200),TELEPHONEUfiRCHfiR2(50),LOCMDSVS.SDO_GEOriETRV):表已創(chuàng)建。SQL>commitcommit;connit第2行岀現(xiàn)錯誤:—ORfi-02185:COMMIT后面跟的標(biāo)記不是WORKSQL>commit;提交完成。SQL>INSERTINTOUSERSDOGEOMMETADATAUALUES( _ _ _'SPATIALTESTliuFei','LOC,MDSVS.SDODIMARRAY(MDSVS.SD02DnCELEriENT('Longitude',-180,180,10),MDSVS.SD02DnCELEriENT('Latitude',-90,90,10)),8307);已創(chuàng)建1行二SQL>counit;提交完成。SQL>提交淀成,:,SQL>|SQL>|定義了經(jīng)度和緯度⑹利用USER_SDO_GEOM_METADATA視圖查看元數(shù)據(jù)表并記錄內(nèi)容:SELECT*FROMUSER_SDO_GEOM_METADATA

字段召SdoGtypeNumber幾何對象的類型SdoSridNumber幾何對象的坐標(biāo)系SdoPointSdoPointType表示幾何類型為點的幾何對象Sdo_ElemJnfoSdo_EIem」nfo_Array是—個可變長度的數(shù)組,每3個數(shù)作為—亍兀素單位,用于解釋坐標(biāo)是如何存儲在SDOORDINATES數(shù)組中的Sdo_OrdinatesSdo_0rdinate_Array是一個可變長度的數(shù)組,用于存儲幾何對象的真實坐標(biāo),該數(shù)組的類型^NUMBER型(7)查看對象類型MDSYS.SDO_GEOMETRY的結(jié)構(gòu)并記錄下來,說明每個屬性代表的實際意義。(8)查看數(shù)組類型MDSYS.SDO_ELEM_INFO_ARRAY的結(jié)構(gòu)并記錄下來。它和MDSYS.SDO_GEOMETRY對象類型有何關(guān)系?

MDSYS.SDO_ELEM_INFO_ARRAY是MDSYS.SDO_GEOMETRY中的一個屬性與sdo_gtype、sdo_srid類型一樣都為NUMBER(9)查看數(shù)組類型MDSYS.SDO_ORDINATE_ARRAY的結(jié)構(gòu)并記錄下來。它和MDSYS.SDO_ELEM_INFO_ARRAY數(shù)組類型有何關(guān)系?MDSYS.SDO_ORDINATE_ARRAY是MDSYS.SDO_GEOMETRY中的一個屬性,與sdo_gtype、sdo_srid類型一樣都為NUMBER(10)【加分】查看數(shù)據(jù)庫實例orcl管理器中其他管理選項、數(shù)據(jù)庫對象(表的建立)、程序包、用戶和權(quán)限等項目的學(xué)習(xí)心得:經(jīng)過這次查詢使我更加了解了數(shù)據(jù)庫實例orcl管理器的應(yīng)用,和其中數(shù)據(jù)的屬性結(jié)構(gòu)與相關(guān)聯(lián)系。這次實習(xí)與上課所講的有緊密的聯(lián)系,將課堂學(xué)習(xí)溶于實踐活動中使我對學(xué)習(xí)的內(nèi)容更加深刻,在實驗中也更加熟練的掌握了orcl的應(yīng)用,真是一舉兩得。希望在以后的學(xué)習(xí)中繼續(xù)理論與實踐想結(jié)合,對數(shù)據(jù)庫的了解更加深刻完成時間實驗過程、結(jié)果及分析得分教師簽名2080實驗二空間查詢一、實驗?zāi)康囊?、實驗?zāi)康?.掌握filter和related兩個查詢過程。二、實驗環(huán)境實驗中的SQL語句均在SQL-PLUS中執(zhí)行。三、實驗步驟及內(nèi)容(2課時)Step1.創(chuàng)建一張表,其中shape用來存放空間數(shù)據(jù)CREATETABLEliufei(feature_idNUMBERPRIMARYKEY,nameVARCHAR2(32),shapeMDSYS.SDO_GEOMETRY);Step2.在user_sdo_geom_metadata表中插入新記錄,用于描述空間字段INSERTINTOuser_sdo_geom_metadataVALUES('liufei','shape',MDSYS.SDO_DIM_ARRAY(0,),0,),0.05),MDSYS.SDO_DIM_ELEMENT('Y',0,100,0.05)NULLwE-01文件的編輯⑧查看?)收藏夾@)工具⑴幫助?窗收厳夾|由因建饃網(wǎng)站*肉免費Hotmail網(wǎng)頁快訊庫*版權(quán)所有(c)1996,2005,Oraela.保留所有權(quán)利。斗=OralEErdengbeblaiiager]gData!砂aControlht切:/Zw801:1158/em/console/database/schema/1able?snaine=SYSTEM&oname=LIUFEI&event=viewftcancelUBLF?em/console/database/database0SYSTEMAQSQUEUESSYSTEMNO172005-8-30下午02時11分4勵OSYSTEMAQSQUEUETABLESSYSTEMNO92005-8-30下午02時11分4謝OSYSTEMAQSSCHEDULESSYSTEMNO02005-8-30下午02時U分4刑OSYSTEMAYNURSYSTEMNOOSYSTIMCTYSYSTEMNOOSYSTEMDEFSAQCALLSYSTEMNOOSYSTTMDEFSAQERRORSYSTEMNOOSYSTEMDEFSCALLDESTSYSTEMNO02005-8-30下午02時11分4謝OSYSTTMDEFSDEFAULTDESTSYSTEMNO02005-8-30下午02時11勞4酈OSYSTEMDETSDESTINATIONSYSTEMNO02005-8-30下午02時11^4'秒OSYSTEMDETSERRORSYSTEMNO02005-8-30下午02時11分4刑OSYSTEMDEFSLOBSYSTEMNO02005-8-30下午02時11分4謝OSYSTEMDETSORIGINSYSTEMNO02005-8-30下午02時11^48^OSYSTTMDEFSPROPAGATORSYSTEMNO02005-S-30下午02時11分4融OSYSTIMDETSPUSHEDTRANSACTIONSSYSTEMNO02005-8-30下午02時11分4珮OSYSTEMDETSTEMPSLOBSYSTEMNO02005-S-30下午02時11分4瞅OSYSTTMHELPSYSTEMNO97S2005-8-30下午02時21勞43秒OSYSTEMUMUSYSTEMNOOSYSTTMLIUFEISYSTEMNOOSYSTEML^^NRCDBNAAIEUIDMAPSYSAUXNO02005-8-30下午02時11分4網(wǎng)OSYSTEMliXjmnrcgsiiYES02005-8-30下午02時11分4瞅OSYSTEMLOGMNRCGTCSYES02005-8-30下午02時11分4附OSYSTEMLCXjMNRCgtloYES02005-8-30下午02時11^48^Manager(SYSTEM)-表Step3.創(chuàng)建空間索引CREATEINDEXliufei_idxONliufei(shape)INDEXTYPEISMDSYS.SPATIAL_INDEX打開創(chuàng)建的空間索引mylake_idx,記錄索引的一般信息。Step4.插入空間數(shù)據(jù)OracleSpatial用MDSYS.SDO_GEOMETRY來存儲空間數(shù)據(jù),//插入包含一個島嶼的湖泊INSERTINTOliufeiVALUES(10,'LakeCalhoun',MDSYS.SDO_GEOMETRY(2003,NULL,NULL,MDSYS.SDO_ELEM_INFO_ARRAY(1,1003,1,19,2003,1),MDSYS.SDO_ORDINATE_ARRAY(0,0,10,0,10,10,0,10,0,0,4,4,6,4,6,6,4,6,4,4)));INSERTINTOliufeiVALUES(11,'TheWindswept',MDSYS.SDO_GEOMETRY(2003,NULL,NULL,MDSYS.SDO_ELEM_INFO_ARRAY(1,1003,1),MDSYS.SDO_ORDINATE_ARRAY(2,2,3,2,3,2,2,3,2,2));INSERTINTOliufeiVALUES(12,'BlueCrest',MDSYS.SDO_GEOMETRY(2003,NULL,NULL,MDSYS.SDO_ELEM_INFO_ARRAY(1,1003,1),MDSYS.SDO_ORDINATE_ARRAY(7,7,8,7,8,7,7,8,7,7)));運行SELECT*FROMliufei,并記錄運行結(jié)果,并說明每條記錄代表什么。Step5.查詢OracleSpatial查詢數(shù)據(jù)包括二個處理過程:只通過索引查詢候選項。通過函數(shù)SDO_FILTER實現(xiàn):SDO_FILTER(geometry1 MDSYS.SDO_GEOMETRY,geometry2MDSYS.SDO_GEOMETRY,paramsVARCHAR2)geometry1:必須是被索引的幾何數(shù)據(jù)geometry2:不一定是表中的空間字段,也不要求被索引params:Filter類型querytype=WINDOW:geometry2不要求來自表querytype=JOIN:geometry2必須來自表運行下列SQL語句,并記錄結(jié)果,并說明這個結(jié)果這代表什么意義?SELECTnameboat_nameFROMliufeitWHEREfeature_id=11ANDSDO_FILTER(t.shape,mdsys.sdo_geometry(2003,NULL,NULL,mdsys.sdo_elem_info_array(1,1003,1),mdsys.sdo_ordinate_array(2,2,5,2,5,5,2,5,2,2)),'querytype=WINDOW')='TRUE';湖中沒有船,而且兩者不想交再檢查每個候選項是否和條件精確匹配。通過函數(shù)SDO_RELATE實現(xiàn):SDO_RELATE(geometry1MDSYS.SDO_GEOMETRY,geometry2MDSYS.SDO_GEOMETRY,paramsVARCHAR2)params:masktype類型DISJOINT一theboundariesandinteriorsdonotintersectTOUCH一theboundariesintersectbuttheinteriorsdonotintersectOVERLAPBDYDISJOINT—theinteriorofoneobjectintersectstheboundaryandinterioroftheotherobject,butthetwoboundariesdonotintersect.Thisrelationshipoccurs,forexample,whenalineoriginatesoutsideapolygonandendsinsidethatpolygon.OVERLAPBDYINTERSECT——theboundariesandinteriorsofthetwoobjectsintersectEQUAL一thetwoobjectshavethesameboundaryandinteriorCONTAINS一theinteriorandboundaryofoneobjectiscompletelycontainedintheinterioroftheotherobjectCOVERS一theinteriorofoneobjectiscompletelycontainedintheinterioroftheotherobjectandtheirboundariesintersectINSIDE—theoppositeofCONTAINS.AINSIDEBimpliesBCONTAINSA.COVEREDBY—theoppositeofCOVERS.ACOVEREDBYBimpliesBCOVERSA.ON一theinteriorandboundaryofoneobjectisontheboundaryoftheotherobject(andthesecondobjectcoversthefirstobject).Thisrelationshipoccurs,forexample,whenalineisontheboundaryofapolygon.ANYINTERACT一theobjectsarenon-disjoint.運行下列SQL語句,并記錄結(jié)果,并說明這個結(jié)果這代表什么意義?//選擇在定義矩形內(nèi)的所有小船SELECTnameboat_nameFROMliufeitWHEREfeature_id=12ANDSDO_FILTER(t.shape,mdsys.sdo_geometry(2003,NULL,NULL,mdsys.sdo_elem_info_array(1,1003,1),mdsys.sdo_ordinate_array(2,2,5,2,5,5,2,5,2,2)),'querytype=WINDOW')='TRUE'ANDSDO_RELATE(t.shape,mdsys.sdo_geometry(2003,NULL,NULL,mdsys.sdo_elem_info_array(1,1003,1),mdsys.sdo_ordinate_array(2,2,5,2,5,5,2,5,2,2)),'mask=INSIDEquerytype=WINDOW')='TRUE'運行結(jié)果和分析:未選定行,因為湖里沒有船//masktype可聯(lián)合使用SELECTnameboat_nameFROMliufeitWHEREfeature_id=11ANDSDO_FILTER(t.shape,mdsys.sdo_geometry(2003,NULL,NULL,mdsys.sdo_elem_info_array(1,1003,1),mdsys.sdo_ordinate_array(2,2,5,2,5,5,2,5,2,2)),'querytype=WINDOW')='TRUE'ANDSDO_RELATE(t.shape,mdsys.sdo_geometry(2003,NULL,NULL,mdsys.sdo_elem_info_array(1,1003,1),mdsys.sdo_ordinate_array(1,1,5,1,5,5,1,5,1,1)),'mask=INSIDE+TOUCHquerytype=WINDOW')='TRUE'

運行結(jié)果和分析:^.OracleSQL*Plus□回岡文件g)編輯g)搜索⑤選項?幫助QDABOATNAMETheWindsweptSQL>SELECTnaneboatnane2FROMliuFeit3WHEREfeatureid=124ANDSDOFILTER(t.shape,mdsys.sdogeonetry(2003,NULL,NULL,5mdsys.sdo_elen_info_array(1,1G03,1),6mdsys.sdo_ordinate_array(2,2,5,2,5,5,2,5,2,2)),1,queri|ti|pe=WINDOW,7='TRUE'8ANDSDO_RELfiTE(t.shape,mdsys.sdo_geonetry(2003,NULL,NULL,9mdsys-sdoeleminfo_arraij(1,1003,1),10mdsi|s.sdo_ordinate_array(2,2,5,2,5,5,2,5,2,2)),11■nask=INsTDEquerytype=WINDOW)='TRUE112;未選定行SQL>SELECTnaneboatname2FROMliuFeit3WHEREfeatureid=114ANDSDO_FILTER(t.shape,ndsys.sdo_geonetry(2003,NULL,NULL,5ndsys.sdo_elpn_info_array(1,1003,1),6ndsys.sdo_ordinate_array(2,2,5,2,5,5,2,5,2,2)),7,querytijpe=WINDOW,7='TRUE'8ANDSDO_RELATE(t.shape,ndsys.sdo_geonetry(2003,NULL,NULL,9ndsys.sdo_plpm_info_arraij(1,1003,1),10ndsys.sdo_ordinate_array(1,1,5,1,5,5,1,5,1,1)),11■nask=INsTDE+TOUCHquerytype=WINDOW)='TRUE'12未選定行SQL>V<>湖波與小船直接沒有相交關(guān)系完成時間實驗過程、結(jié)果及分析得分教師簽名2080實驗三簡單的空間數(shù)據(jù)庫示例一、實驗?zāi)康耐ㄟ^一個簡單的空間集合的示例,運用前面實驗所學(xué)的方法,建立空間數(shù)據(jù)表、元數(shù)據(jù)表、建立空間索引、輸入空間數(shù)據(jù),實現(xiàn)一些簡單的空間查詢和分析。二、實驗環(huán)境實驗中的SQL語句均在SQL-PLUS中執(zhí)行。三、實驗內(nèi)容和要求(2課時)一個商場有4個區(qū)域cola_a,cola_b,cola_c,cola_d,可以在一個20X20的直角坐標(biāo)中表示為不同的多邊形,如下圖:

針對上圖,1?創(chuàng)建CREATE^自行設(shè)計并完成以下實驗內(nèi)容:F表針對上圖,1?創(chuàng)建CREATE^自行設(shè)計并完成以下實驗內(nèi)容:F表(cola_miarkEts)來保存空間數(shù)據(jù);AB*E1世円$4feature_idNUMBERPRIMARYKEYnameVARCHAR2(32),shapeMDSYS.SDO_GEOMETRY)2.將4個多邊形(cola_a,cola_b,cola_c,cola_d)的空間數(shù)據(jù)插入到COLA_MARKETS表中;INSERTINTOliufeiVALUES(1,'cola_a',SDO_GEOMETRY(2003,--two-dimensionalpolygonNULL,NULL,SDO_ELEM_INFO_ARRAY(1,1003,3),--onerectangle(1003=exterior)SDO_ORDINATE_ARRAY(1,1,5,7)--only2pointsneededto--definerectangle(lowerleftandupperright)with--Cartesian-coordinatedata));INSERTINTOliufeiVALUES(2,'cola_b',SDO_GEOMETRY(2003,--two-dimensionalpolygonNULL,NULL,SDO_ELEM_INFO_ARRAY(1,1003,1),--onepolygon(exteriorpolygonring)SDO_ORDINATE_ARRAY(5,1,8,1,8,6,5,7,5,1)));INSERTINTOliufeiVALUES(3,'cola_c',SDO_GEOMETRY(2003,--two-dimensionalpolygonNULL,NULL,polygonSDO_ELEM_INFO_ARRAY(1,1003,1),--onepolygon(exteriorring)polygonSDO_ORDINATE_ARRAY(3,3,6,3,6,5,4,5,3,3)));INSERTINTOliufeiVALUES(4,'cola_d',SDO_GEOMETRY(2003,--two-dimensionalpolygonNULL,NULL,SDO_ELEM_INFO_ARRAY(1,1003,4),--onecircleSDO_ORDINATE_ARRAY(8,7,10,9,8,11)));

3.通過USER_SDO_GEOM_METADATA視圖將COLA_MARKETS的空間屬性列加入到空間元數(shù)據(jù)表中;INSERTINTOUSER_SDO_GEOM_METADATAVALUE

溫馨提示

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

評論

0/150

提交評論