如何在Oracle816 Spatial上編程課件_第1頁
如何在Oracle816 Spatial上編程課件_第2頁
如何在Oracle816 Spatial上編程課件_第3頁
如何在Oracle816 Spatial上編程課件_第4頁
如何在Oracle816 Spatial上編程課件_第5頁
已閱讀5頁,還剩31頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

如何在Oracle8.1.6Spatial上編程

-鄒德禹如何在Oracle8.1.6Spatial上編程

-鄒1一.使用OracleSpatial的前提條件1.至少Professional5.52.至少Oracle8.1.53.Easyloader上載工具一.使用OracleSpatial的前提條件1.至少Pr2二.使用Easyloader應(yīng)注意的一個(gè)問題對(duì)于Professional6.0的用戶,如果采用Oracle8.1.6作為其空間數(shù)據(jù)庫,建議使用EasyloaderForOralce8.1.6向Oracle數(shù)據(jù)庫中上載Mapinfo空間數(shù)據(jù)。二.使用Easyloader應(yīng)注意的一個(gè)問題對(duì)于Prof3三.如何在程序中連接Oracle8iOracle8iSpatialhdbc=Server_Connect("ORAINET","UID=scott;PWD=tiger;SRVR=Orasrv")ODBChdbc=Server_Connect("QELIB","DSN=O8idsn;SRV=Orasrv;USR=scott;PWD=tiger")三.如何在程序中連接Oracle8iOracle8iSp4四.如何在下載數(shù)據(jù)時(shí)進(jìn)行SQL查詢1.在下載數(shù)據(jù)的同時(shí),基于屬性數(shù)據(jù)的SQL查詢四.如何在下載數(shù)據(jù)時(shí)進(jìn)行SQL查詢1.在下載數(shù)據(jù)的同時(shí),5四.如何在下載數(shù)據(jù)時(shí)進(jìn)行SQL查詢2.在下載數(shù)據(jù)的同時(shí),基于空間數(shù)據(jù)進(jìn)行SQL查詢四.如何在下載數(shù)據(jù)時(shí)進(jìn)行SQL查詢2.在下載數(shù)據(jù)的同時(shí),6五.幾個(gè)常用的OracleSpatial空間函數(shù)1.相交查詢函數(shù):SDO_FILETER功能:確定與某一指定空間對(duì)象具有相交關(guān)系的對(duì)象(集合)使用:SDO_FILTER(geometry1,geometry2,params)示例:SELECTA.gidFROMPolygonsA,query_polysBWHEREB.gid=1ANDSDO_FILTER(A.Geometry,B.Geometry,'querytype=WINDOW')='TRUE';五.幾個(gè)常用的OracleSpatial空間函數(shù)1.相交7五.幾個(gè)常用的OracleSpatial空間函數(shù)1.相交查詢函數(shù):SDO_RELATE功能:確定與某一指定空間對(duì)象具有相交關(guān)系的對(duì)象(集合)使用:SDO_RELATE(geometry1,geometry2,params)示例:SELECTA.gidFROMPolygonsA,query_polysBWHEREB.gid=1ANDSDO_RELATE(A.Geometry,B.Geometry,'mask=ANYINTERACTquerytype=WINDOW')='TRUE'五.幾個(gè)常用的OracleSpatial空間函數(shù)1.相交8五.幾個(gè)常用的OracleSpatial空間函數(shù)1.相交查詢函數(shù):SDO_WITHIN_DISTANCE功能:查找距某個(gè)指定對(duì)象,一定距離范圍內(nèi)的所有其它對(duì)象使用:SDO_WITHIN_DISTANCE(T.column,aGeom,params)示例:SELECTA.GID

FROMPOLYGONSA WHERESDO_WITHIN_DISTANCE(A.Geometry,mdsys.sdo_geometry(3,NULL,NULL,mdsys.sdo_elem_info(1,3,3), mdsys.sdo_ordinates(x1,y1,x2,y2)),'distance=10')='TRUE'五.幾個(gè)常用的OracleSpatial空間函數(shù)1.相交9五.幾個(gè)常用的OracleSpatial空間函數(shù)2.緩沖區(qū)分析函數(shù):sdo_buffer功能:生成緩沖區(qū)使用:SDO_GEOM.SDO_BUFFER(geometry,dim_array,distance)五.幾個(gè)常用的OracleSpatial空間函數(shù)2.緩沖10五.幾個(gè)常用的OracleSpatial空間函數(shù)3.面積,長(zhǎng)度計(jì)算函數(shù) 函數(shù):sdo_area 功能:計(jì)算二維區(qū)域?qū)ο蟮拿娣e 使用:SDO_GEOM.AREA(geometry,dim_array)

示例:

updatecountiessetAREA=mdsys.sdo_geom.sdo_area(geom,(selectdiminfofromsdo_geom_metadatawheretable_name='counties'andcolumn_name='GEOM'))五.幾個(gè)常用的OracleSpatial空間函數(shù)3.面積11五.幾個(gè)常用的OracleSpatial空間函數(shù)3.面積,長(zhǎng)度計(jì)算函數(shù)函數(shù):sdo_length功能:計(jì)算空間對(duì)象的長(zhǎng)度或是周長(zhǎng)使用:SDO_GEOM.LENGTH(geometry,dim_array)說明:如果指定的空間對(duì)象為線型,則此函數(shù)計(jì)算該對(duì)象的長(zhǎng)度,對(duì)于指定的區(qū)域型對(duì)象,則計(jì)算此對(duì)象的周長(zhǎng)(包括其中的洞)。五.幾個(gè)常用的OracleSpatial空間函數(shù)3.面積12六.如何保存與刷新DBMS表1.保存DBMS表 committableTablename2.刷新DBMS表 serverrefreshTablename六.如何保存與刷新DBMS表1.保存DBMS表13七.幾個(gè)問題如何解決1.點(diǎn)、線、面樣式丟失現(xiàn)象:七.幾個(gè)問題如何解決1.點(diǎn)、線、面樣式丟失14七.幾個(gè)問題如何解決1.點(diǎn)、線、面樣式丟失解決辦法:利用Easyloader上載Mapinfo表之前,先在表中增加幾個(gè)屬性字段,將點(diǎn)線面的樣式特性當(dāng)作對(duì)象的屬性值保存到表中,并連同表的其它屬性一起上載到Oracle數(shù)據(jù)庫中。當(dāng)用戶通過程序?qū)⒃摫韽腛racleSpatial中下載到Mapinfo中后,再根據(jù)點(diǎn)、線、面的樣式信息,利用程序?qū)Ⅻc(diǎn)、線、面的樣式恢復(fù)出來。七.幾個(gè)問題如何解決1.點(diǎn)、線、面樣式丟失15七.幾個(gè)問題如何解決2.無法向OracleSpatial中上載文本對(duì)象現(xiàn)象:七.幾個(gè)問題如何解決2.無法向OracleSpatial16七.幾個(gè)問題如何解決2.無法向OracleSpatial中上載文本對(duì)象解決辦法:利用Easyloader上載Mapinfo表之前,先在表中增加幾個(gè)屬性字段,將文本對(duì)象的信息(如:文本對(duì)象的內(nèi)容、文本樣式等)當(dāng)作對(duì)象的屬性值保存到表中,并連同表的其它屬性一起上載到Oracle數(shù)據(jù)庫中。當(dāng)用戶通過程序?qū)⒃摫韽腛racleSpatial中下載到Mapinfo中后,再根據(jù)保存在表中的文本對(duì)象的信息,利用程序?yàn)槊總€(gè)記錄再重新創(chuàng)建一具文本對(duì)象。七.幾個(gè)問題如何解決2.無法向OracleSpatial17七.幾個(gè)問題如何解決2.無法向OracleSpatial中上載文本對(duì)象解決辦法:利用Easyloader上載Mapinfo表之前,先在表中增加幾個(gè)屬性字段,將文本對(duì)象的信息(如:文本對(duì)象的內(nèi)容、文本樣式等)當(dāng)作對(duì)象的屬性值保存到表中,并連同表的其它屬性一起上載到Oracle數(shù)據(jù)庫中。當(dāng)用戶通過程序?qū)⒃摫韽腛racleSpatial中下載到Mapinfo中后,再根據(jù)保存在表中的文本對(duì)象的信息,利用程序?yàn)槊總€(gè)記錄再重新創(chuàng)建一具文本對(duì)象。七.幾個(gè)問題如何解決2.無法向OracleSpatial18如何在Oracle8.1.6Spatial上編程

-鄒德禹如何在Oracle8.1.6Spatial上編程

-鄒19一.使用OracleSpatial的前提條件1.至少Professional5.52.至少Oracle8.1.53.Easyloader上載工具一.使用OracleSpatial的前提條件1.至少Pr20二.使用Easyloader應(yīng)注意的一個(gè)問題對(duì)于Professional6.0的用戶,如果采用Oracle8.1.6作為其空間數(shù)據(jù)庫,建議使用EasyloaderForOralce8.1.6向Oracle數(shù)據(jù)庫中上載Mapinfo空間數(shù)據(jù)。二.使用Easyloader應(yīng)注意的一個(gè)問題對(duì)于Prof21三.如何在程序中連接Oracle8iOracle8iSpatialhdbc=Server_Connect("ORAINET","UID=scott;PWD=tiger;SRVR=Orasrv")ODBChdbc=Server_Connect("QELIB","DSN=O8idsn;SRV=Orasrv;USR=scott;PWD=tiger")三.如何在程序中連接Oracle8iOracle8iSp22四.如何在下載數(shù)據(jù)時(shí)進(jìn)行SQL查詢1.在下載數(shù)據(jù)的同時(shí),基于屬性數(shù)據(jù)的SQL查詢四.如何在下載數(shù)據(jù)時(shí)進(jìn)行SQL查詢1.在下載數(shù)據(jù)的同時(shí),23四.如何在下載數(shù)據(jù)時(shí)進(jìn)行SQL查詢2.在下載數(shù)據(jù)的同時(shí),基于空間數(shù)據(jù)進(jìn)行SQL查詢四.如何在下載數(shù)據(jù)時(shí)進(jìn)行SQL查詢2.在下載數(shù)據(jù)的同時(shí),24五.幾個(gè)常用的OracleSpatial空間函數(shù)1.相交查詢函數(shù):SDO_FILETER功能:確定與某一指定空間對(duì)象具有相交關(guān)系的對(duì)象(集合)使用:SDO_FILTER(geometry1,geometry2,params)示例:SELECTA.gidFROMPolygonsA,query_polysBWHEREB.gid=1ANDSDO_FILTER(A.Geometry,B.Geometry,'querytype=WINDOW')='TRUE';五.幾個(gè)常用的OracleSpatial空間函數(shù)1.相交25五.幾個(gè)常用的OracleSpatial空間函數(shù)1.相交查詢函數(shù):SDO_RELATE功能:確定與某一指定空間對(duì)象具有相交關(guān)系的對(duì)象(集合)使用:SDO_RELATE(geometry1,geometry2,params)示例:SELECTA.gidFROMPolygonsA,query_polysBWHEREB.gid=1ANDSDO_RELATE(A.Geometry,B.Geometry,'mask=ANYINTERACTquerytype=WINDOW')='TRUE'五.幾個(gè)常用的OracleSpatial空間函數(shù)1.相交26五.幾個(gè)常用的OracleSpatial空間函數(shù)1.相交查詢函數(shù):SDO_WITHIN_DISTANCE功能:查找距某個(gè)指定對(duì)象,一定距離范圍內(nèi)的所有其它對(duì)象使用:SDO_WITHIN_DISTANCE(T.column,aGeom,params)示例:SELECTA.GID

FROMPOLYGONSA WHERESDO_WITHIN_DISTANCE(A.Geometry,mdsys.sdo_geometry(3,NULL,NULL,mdsys.sdo_elem_info(1,3,3), mdsys.sdo_ordinates(x1,y1,x2,y2)),'distance=10')='TRUE'五.幾個(gè)常用的OracleSpatial空間函數(shù)1.相交27五.幾個(gè)常用的OracleSpatial空間函數(shù)2.緩沖區(qū)分析函數(shù):sdo_buffer功能:生成緩沖區(qū)使用:SDO_GEOM.SDO_BUFFER(geometry,dim_array,distance)五.幾個(gè)常用的OracleSpatial空間函數(shù)2.緩沖28五.幾個(gè)常用的OracleSpatial空間函數(shù)3.面積,長(zhǎng)度計(jì)算函數(shù) 函數(shù):sdo_area 功能:計(jì)算二維區(qū)域?qū)ο蟮拿娣e 使用:SDO_GEOM.AREA(geometry,dim_array)

示例:

updatecountiessetAREA=mdsys.sdo_geom.sdo_area(geom,(selectdiminfofromsdo_geom_metadatawheretable_name='counties'andcolumn_name='GEOM'))五.幾個(gè)常用的OracleSpatial空間函數(shù)3.面積29五.幾個(gè)常用的OracleSpatial空間函數(shù)3.面積,長(zhǎng)度計(jì)算函數(shù)函數(shù):sdo_length功能:計(jì)算空間對(duì)象的長(zhǎng)度或是周長(zhǎng)使用:SDO_GEOM.LENGTH(geometry,dim_array)說明:如果指定的空間對(duì)象為線型,則此函數(shù)計(jì)算該對(duì)象的長(zhǎng)度,對(duì)于指定的區(qū)域型對(duì)象,則計(jì)算此對(duì)象的周長(zhǎng)(包括其中的洞)。五.幾個(gè)常用的OracleSpatial空間函數(shù)3.面積30六.如何保存與刷新DBMS表1.保存DBMS表 committableTablename2.刷新DBMS表 serverrefreshTablename六.如何保存與刷新DBMS表1.保存DBMS表31七.幾個(gè)問題如何解決1.點(diǎn)、線、面樣式丟失現(xiàn)象:七.幾個(gè)問題如何解決1.點(diǎn)、線、面樣式丟失32七.幾個(gè)問題如何解決1.點(diǎn)、線、面樣式丟失解決辦法:利用Easyloader上載Mapinfo表之前,先在表中增加幾個(gè)屬性字段,將點(diǎn)線面的樣式特性當(dāng)作對(duì)象的屬性值保存到表中,并連同表的其它屬性一起上載到Oracle數(shù)據(jù)庫中。當(dāng)用戶通過程序?qū)⒃摫韽腛racleSpatial中下載

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論