如何在Oracle816Spatial上编程(PPT18)

上传人:ll****x 文档编号:243360095 上传时间:2024-09-21 格式:PPT 页数:18 大小:118.50KB
返回 下载 相关 举报
如何在Oracle816Spatial上编程(PPT18)_第1页
第1页 / 共18页
如何在Oracle816Spatial上编程(PPT18)_第2页
第2页 / 共18页
如何在Oracle816Spatial上编程(PPT18)_第3页
第3页 / 共18页
点击查看更多>>
资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,中国最大的资料库下载,*,如何在Oracle8.1.6 Spatial 上编程-邹德禹,一. 使用Oracle Spatial的前提条件,1.至少Professional5.5,2.至少Oracle8.1.5,3.Easyloader 上载工具,二.,使用Easyloader应注意的一个问题,对于 Professional6.0的用户,如果采用Oracle8.1.6作为其空间数据库,建议使用 Easyloader For Oralce8.1.6向Oracle数据库中上载Mapinfo空间数据。,三. 如何在程序中连接Oracle8i,Oracle8i Spatial,hdbc = Server_Connect(,ORAINET, UID=scott;PWD=tiger;SRVR=Orasrv),ODBC,hdbc = Server_Connect(,QELIB, ,DSN=O8idsn;,SRV=Orasrv;USR=scott;PWD=tiger),四. 如何在下载数据时进行SQL查询,1 .在下载数据的同时,基于属性数据的SQL查询,四. 如何在下载数据时进行SQL查询,2 .在下载数据的同时,基于空间数据进行SQL查询,五. 几个常用的Oracle Spatial空间函数,1.相交查询,函数:SDO_FILETER,功能:确定与某一指定空间对象具有相交关系的对象(集合),使用:SDO_FILTER(geometry1, geometry2, params),示例:,SELECT A.gid FROM Polygons A, query_polys B,WHERE B.gid = 1 AND,SDO_FILTER(A.Geometry, B.Geometry, querytype = WINDOW) = TRUE;,五. 几个常用的Oracle Spatial空间函数,1.相交查询,函数:SDO_RELATE,功能:确定与某一指定空间对象具有相交关系的对象(集合),使用:SDO_RELATE(geometry1, geometry2, params),示例:,SELECT A.gid FROM Polygons A, query_polys B WHERE B.gid = 1,AND SDO_RELATE(A.Geometry, B.Geometry,mask=ANYINTERACT querytype = WINDOW) = TRUE,五. 几个常用的Oracle Spatial空间函数,1.相交查询,函数:SDO_WITHIN_DISTANCE,功能:查找距某个指定对象,一定距离范围内的所有其它对象,使用:,SDO_WITHIN_DISTANCE,(T.column, aGeom, params),示例:,SELECT A.GID,FROM POLYGONS A,WHERE SDO_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,五. 几个常用的Oracle Spatial空间函数,2.缓冲区分析,函数:sdo_buffer,功能:生成缓冲区,使用:SDO_GEOM.SDO_BUFFER (geometry, dim_array, distance),五. 几个常用的Oracle Spatial空间函数,3.面积,长度计算函数,函数:sdo_area,功能:计算二维区域对象的面积,使用:SDO_GEOM.AREA (geometry, dim_array),示例:,update counties set AREA =,mdsys.sdo_geom.sdo_area (geom, (select diminfo from sdo_geom_metadata where table_name = counties and column_name = GEOM),五. 几个常用的Oracle Spatial空间函数,3.面积,长度计算函数,函数:sdo_length,功能:计算空间对象的长度或是周长,使用: SDO_GEOM.LENGTH (geometry, dim_array),说明:如果指定的空间对象为线型,则此函数计算该对象的长度,对于指定的区域型对象,则计算此对象的周长(包括其中的洞)。,六. 如何保存与刷新DBMS表,1.保存DBMS表,commit table Tablename,2.刷新DBMS表,server refresh Tablename,七. 几个问题如何解决,1.点、线、面样式丢失,现象,:,七. 几个问题如何解决,1.点、线、面样式丢失,解决办法,:,利用Easyloader上载Mapinfo表之前,先在表中增加几个属性字段,将点线面的样式特性当作对象的属性值保存到表中,并连同表的其它属性一起上载到Oracle数据库中。当用户通过程序将该表从Oracle Spatial中下载到Mapinfo中后,再根据点、线、面的样式信息,利用程序将点、线、面的样式恢复出来。,七. 几个问题如何解决,2.无法向Oracle Spatial中上载文本对象,现象,:,七. 几个问题如何解决,2.无法向Oracle Spatial中上载文本对象,解决办法:,利用Easyloader上载Mapinfo表之前,先在表中增加几个属性字段,将文本对象的信息(如:文本对象的内容、文本样式等)当作对象的属性值保存到表中,并连同表的其它属性一起上载到Oracle数据库中。当用户通过程序将该表从Oracle Spatial中下载到Mapinfo中后,再根据保存在表中的文本对象的信息,利用程序为每个记录再重新创建一具文本对象。,七. 几个问题如何解决,2.无法向Oracle Spatial中上载文本对象,解决办法:,利用Easyloader上载Mapinfo表之前,先在表中增加几个属性字段,将文本对象的信息(如:文本对象的内容、文本样式等)当作对象的属性值保存到表中,并连同表的其它属性一起上载到Oracle数据库中。当用户通过程序将该表从Oracle Spatial中下载到Mapinfo中后,再根据保存在表中的文本对象的信息,利用程序为每个记录再重新创建一具文本对象。,
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 课件教案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!