如何在Oracle816Spatial上编程(PPT18)

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

的前提条件•1.至少Professional5.5•2.至少Oracle8.1.5•3.Easyloader上载工具应注意的一个问题•对于Professional6.0的用户,如果采用Oracle8.1.6作为其空间数据库,建议使用EasyloaderForOralce8.1.6向Oracle数据库中上载Mapinfo空间数据。•Oracle8iSpatial•hdbc=Server_Connect(ORAINET,UID=scott;PWD=tiger;SRVR=Orasrv)•ODBC•hdbc=Server_Connect(QELIB,DSN=O8idsn;SRV=Orasrv;USR=scott;PWD=tiger)在下载数据的同时,基于属性数据的SQL查询在下载数据的同时,基于空间数据进行SQL查询空间函数•1.相交查询•函数:SDO_FILETER•功能:确定与某一指定空间对象具有相交关系的对象(集合)•使用:SDO_FILTER(geometry1,geometry2,params)•示例:SELECTA.gidFROMPolygonsA,query_polysBWHEREB.gid=1ANDSDO_FILTER(A.Geometry,B.Geometry,'querytype=WINDOW')='TRUE';空间函数•1.相交查询•函数:SDO_RELATE•功能:确定与某一指定空间对象具有相交关系的对象(集合)•使用:SDO_RELATE(geometry1,geometry2,params)•示例:SELECTA.gidFROMPolygonsA,query_polysBWHEREB.gid=1ANDSDO_RELATE(A.Geometry,B.Geometry,'mask=ANYINTERACTquerytype=WINDOW')='TRUE'空间函数•1.相交查询•函数:SDO_WITHIN_DISTANCE•功能:查找距某个指定对象,一定距离范围内的所有其它对象•使用:SDO_WITHIN_DISTANCE(T.column,aGeom,params)•示例:SELECTA.GIDFROMPOLYGONSAWHERESDO_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'空间函数•2.缓冲区分析函数:sdo_buffer功能:生成缓冲区使用:SDO_GEOM.SDO_BUFFER(geometry,dim_array,distance)空间函数•3.面积,长度计算函数函数:sdo_area功能:计算二维区域对象的面积使用:SDO_GEOM.AREA(geometry,dim_array)示例:updatecountiessetAREA=mdsys.sdo_geom.sdo_area(geom,(selectdiminfofromsdo_geom_metadatawheretable_name='counties'andcolumn_name='GEOM'))空间函数•3.面积,长度计算函数•函数:sdo_length•功能:计算空间对象的长度或是周长•使用:SDO_GEOM.LENGTH(geometry,dim_array)•说明:如果指定的空间对象为线型,则此函数计算该对象的长度,对于指定的区域型对象,则计算此对象的周长(包括其中的洞)。表•1.保存DBMS表committableTablename•2.刷新DBMS表serverrefreshTablename中国最大的资料库下载七.几个问题如何解决•1.点、线、面样式丢失现象:中国最大的资料库下载七.几个问题如何解决•1.点、线、面样式丢失•解决办法:利用Easyloader上载Mapinfo表之前,先在表中增加几个属性字段,将点线面的样式特性当作对象的属性值保存到表中,并连同表的其它属性一起上载到Oracle数据库中。当用户通过程序将该表从OracleSpatial中下载到Mapinfo中后,再根据点、线、面的样式信息,利用程序将点、线、面的样式恢复出来。中国最大的资料库下载七.几个问题如何解决•2.无法向OracleSpatial中上载文本对象现象:中国最大的资料库下载七.几个问题如何解决•2.无法向OracleSpatial中上载文本对象•解决办法:利用Easyloader上载Mapinfo表之前,先在表中增加几个属性字段,将文本对象的信息(如:文本对象的内容、文本样式等)当作对象的属性值保存到表中,并连同表的其它属性一起上载到Oracle数据库中。当用户通过程序将该表从OracleSpatial中下载到Mapinfo中后,再根据保存在表中的文本对象的信息,利用程序为每个记录再重新创建一具文本对象。中国最大的资料库下载七.几个问题如何解决•2.无法向OracleSpatial中上载文本对象•解决办法:利用Easyloader上载Mapinfo表之前,先在表中增加几个属性字段,将文本对象的信息(如:文本对象的内容、文本样式等)当作对象的属性值保存到表中,并连同表的其它属性一起上载到Oracle数据库中。当用户通过程序将该表从OracleSpatial中下载到Mapinfo中后,再根据保存在表中的文本对象的信息,利用程序为每个记录再重新创建一具文本对象。

1 / 18
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功