如何在Oracle816 Spatial上编程课件_第1页
如何在Oracle816 Spatial上编程课件_第2页
如何在Oracle816 Spatial上编程课件_第3页
如何在Oracle816 Spatial上编程课件_第4页
如何在Oracle816 Spatial上编程课件_第5页
已阅读5页,还剩31页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

如何在Oracle8.1.6Spatial上编程

-邹德禹如何在Oracle8.1.6Spatial上编程

-邹1一.使用OracleSpatial的前提条件1.至少Professional5.52.至少Oracle8.1.53.Easyloader上载工具一.使用OracleSpatial的前提条件1.至少Pr2二.使用Easyloader应注意的一个问题对于Professional6.0的用户,如果采用Oracle8.1.6作为其空间数据库,建议使用EasyloaderForOralce8.1.6向Oracle数据库中上载Mapinfo空间数据。二.使用Easyloader应注意的一个问题对于Prof3三.如何在程序中连接Oracle8iOracle8iSpatialhdbc=Server_Connect("ORAINET","UID=scott;PWD=tiger;SRVR=Orasrv")ODBChdbc=Server_Connect("QELIB","DSN=O8idsn;SRV=Orasrv;USR=scott;PWD=tiger")三.如何在程序中连接Oracle8iOracle8iSp4四.如何在下载数据时进行SQL查询1.在下载数据的同时,基于属性数据的SQL查询四.如何在下载数据时进行SQL查询1.在下载数据的同时,5四.如何在下载数据时进行SQL查询2.在下载数据的同时,基于空间数据进行SQL查询四.如何在下载数据时进行SQL查询2.在下载数据的同时,6五.几个常用的OracleSpatial空间函数1.相交查询函数:SDO_FILETER功能:确定与某一指定空间对象具有相交关系的对象(集合)使用:SDO_FILTER(geometry1,geometry2,params)示例:SELECTA.gidFROMPolygonsA,query_polysBWHEREB.gid=1ANDSDO_FILTER(A.Geometry,B.Geometry,'querytype=WINDOW')='TRUE';五.几个常用的OracleSpatial空间函数1.相交7五.几个常用的OracleSpatial空间函数1.相交查询函数:SDO_RELATE功能:确定与某一指定空间对象具有相交关系的对象(集合)使用:SDO_RELATE(geometry1,geometry2,params)示例:SELECTA.gidFROMPolygonsA,query_polysBWHEREB.gid=1ANDSDO_RELATE(A.Geometry,B.Geometry,'mask=ANYINTERACTquerytype=WINDOW')='TRUE'五.几个常用的OracleSpatial空间函数1.相交8五.几个常用的OracleSpatial空间函数1.相交查询函数:SDO_WITHIN_DISTANCE功能:查找距某个指定对象,一定距离范围内的所有其它对象使用: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'五.几个常用的OracleSpatial空间函数1.相交9五.几个常用的OracleSpatial空间函数2.缓冲区分析函数:sdo_buffer功能:生成缓冲区使用:SDO_GEOM.SDO_BUFFER(geometry,dim_array,distance)五.几个常用的OracleSpatial空间函数2.缓冲10五.几个常用的OracleSpatial空间函数3.面积,长度计算函数 函数:sdo_area 功能:计算二维区域对象的面积 使用:SDO_GEOM.AREA(geometry,dim_array)

示例:

updatecountiessetAREA=mdsys.sdo_geom.sdo_area(geom,(selectdiminfofromsdo_geom_metadatawheretable_name='counties'andcolumn_name='GEOM'))五.几个常用的OracleSpatial空间函数3.面积11五.几个常用的OracleSpatial空间函数3.面积,长度计算函数函数:sdo_length功能:计算空间对象的长度或是周长使用:SDO_GEOM.LENGTH(geometry,dim_array)说明:如果指定的空间对象为线型,则此函数计算该对象的长度,对于指定的区域型对象,则计算此对象的周长(包括其中的洞)。五.几个常用的OracleSpatial空间函数3.面积12六.如何保存与刷新DBMS表1.保存DBMS表 committableTablename2.刷新DBMS表 serverrefreshTablename六.如何保存与刷新DBMS表1.保存DBMS表13七.几个问题如何解决1.点、线、面样式丢失现象:七.几个问题如何解决1.点、线、面样式丢失14七.几个问题如何解决1.点、线、面样式丢失解决办法:利用Easyloader上载Mapinfo表之前,先在表中增加几个属性字段,将点线面的样式特性当作对象的属性值保存到表中,并连同表的其它属性一起上载到Oracle数据库中。当用户通过程序将该表从OracleSpatial中下载到Mapinfo中后,再根据点、线、面的样式信息,利用程序将点、线、面的样式恢复出来。七.几个问题如何解决1.点、线、面样式丢失15七.几个问题如何解决2.无法向OracleSpatial中上载文本对象现象:七.几个问题如何解决2.无法向OracleSpatial16七.几个问题如何解决2.无法向OracleSpatial中上载文本对象解决办法:利用Easyloader上载Mapinfo表之前,先在表中增加几个属性字段,将文本对象的信息(如:文本对象的内容、文本样式等)当作对象的属性值保存到表中,并连同表的其它属性一起上载到Oracle数据库中。当用户通过程序将该表从OracleSpatial中下载到Mapinfo中后,再根据保存在表中的文本对象的信息,利用程序为每个记录再重新创建一具文本对象。七.几个问题如何解决2.无法向OracleSpatial17七.几个问题如何解决2.无法向OracleSpatial中上载文本对象解决办法:利用Easyloader上载Mapinfo表之前,先在表中增加几个属性字段,将文本对象的信息(如:文本对象的内容、文本样式等)当作对象的属性值保存到表中,并连同表的其它属性一起上载到Oracle数据库中。当用户通过程序将该表从OracleSpatial中下载到Mapinfo中后,再根据保存在表中的文本对象的信息,利用程序为每个记录再重新创建一具文本对象。七.几个问题如何解决2.无法向OracleSpatial18如何在Oracle8.1.6Spatial上编程

-邹德禹如何在Oracle8.1.6Spatial上编程

-邹19一.使用OracleSpatial的前提条件1.至少Professional5.52.至少Oracle8.1.53.Easyloader上载工具一.使用OracleSpatial的前提条件1.至少Pr20二.使用Easyloader应注意的一个问题对于Professional6.0的用户,如果采用Oracle8.1.6作为其空间数据库,建议使用EasyloaderForOralce8.1.6向Oracle数据库中上载Mapinfo空间数据。二.使用Easyloader应注意的一个问题对于Prof21三.如何在程序中连接Oracle8iOracle8iSpatialhdbc=Server_Connect("ORAINET","UID=scott;PWD=tiger;SRVR=Orasrv")ODBChdbc=Server_Connect("QELIB","DSN=O8idsn;SRV=Orasrv;USR=scott;PWD=tiger")三.如何在程序中连接Oracle8iOracle8iSp22四.如何在下载数据时进行SQL查询1.在下载数据的同时,基于属性数据的SQL查询四.如何在下载数据时进行SQL查询1.在下载数据的同时,23四.如何在下载数据时进行SQL查询2.在下载数据的同时,基于空间数据进行SQL查询四.如何在下载数据时进行SQL查询2.在下载数据的同时,24五.几个常用的OracleSpatial空间函数1.相交查询函数:SDO_FILETER功能:确定与某一指定空间对象具有相交关系的对象(集合)使用:SDO_FILTER(geometry1,geometry2,params)示例:SELECTA.gidFROMPolygonsA,query_polysBWHEREB.gid=1ANDSDO_FILTER(A.Geometry,B.Geometry,'querytype=WINDOW')='TRUE';五.几个常用的OracleSpatial空间函数1.相交25五.几个常用的OracleSpatial空间函数1.相交查询函数:SDO_RELATE功能:确定与某一指定空间对象具有相交关系的对象(集合)使用:SDO_RELATE(geometry1,geometry2,params)示例:SELECTA.gidFROMPolygonsA,query_polysBWHEREB.gid=1ANDSDO_RELATE(A.Geometry,B.Geometry,'mask=ANYINTERACTquerytype=WINDOW')='TRUE'五.几个常用的OracleSpatial空间函数1.相交26五.几个常用的OracleSpatial空间函数1.相交查询函数:SDO_WITHIN_DISTANCE功能:查找距某个指定对象,一定距离范围内的所有其它对象使用: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'五.几个常用的OracleSpatial空间函数1.相交27五.几个常用的OracleSpatial空间函数2.缓冲区分析函数:sdo_buffer功能:生成缓冲区使用:SDO_GEOM.SDO_BUFFER(geometry,dim_array,distance)五.几个常用的OracleSpatial空间函数2.缓冲28五.几个常用的OracleSpatial空间函数3.面积,长度计算函数 函数:sdo_area 功能:计算二维区域对象的面积 使用:SDO_GEOM.AREA(geometry,dim_array)

示例:

updatecountiessetAREA=mdsys.sdo_geom.sdo_area(geom,(selectdiminfofromsdo_geom_metadatawheretable_name='counties'andcolumn_name='GEOM'))五.几个常用的OracleSpatial空间函数3.面积29五.几个常用的OracleSpatial空间函数3.面积,长度计算函数函数:sdo_length功能:计算空间对象的长度或是周长使用:SDO_GEOM.LENGTH(geometry,dim_array)说明:如果指定的空间对象为线型,则此函数计算该对象的长度,对于指定的区域型对象,则计算此对象的周长(包括其中的洞)。五.几个常用的OracleSpatial空间函数3.面积30六.如何保存与刷新DBMS表1.保存DBMS表 committableTablename2.刷新DBMS表 serverrefreshTablename六.如何保存与刷新DBMS表1.保存DBMS表31七.几个问题如何解决1.点、线、面样式丢失现象:七.几个问题如何解决1.点、线、面样式丢失32七.几个问题如何解决1.点、线、面样式丢失解决办法:利用Easyloader上载Mapinfo表之前,先在表中增加几个属性字段,将点线面的样式特性当作对象的属性值保存到表中,并连同表的其它属性一起上载到Oracle数据库中。当用户通过程序将该表从OracleSpatial中下载

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论