ST_Geometry存储格式技术研究与总结
环境配置:
本次技术调研采用了一下软件配置:Windos Server 2003系统,ArcGIS Desktop9.3,ArcSDE9.3 ,Oracle10G数据库。
1、数据库服务器端环境配置方法
由于ST_Geometry的存储格式是由Esri公司提出的一种新空间数据存储标准,如果要通过SQL函数访问存储在Oracle中的ST_Geometry类型的数据,则需要通过扩展Oracle的的external procedure agent或者extproc来实现,因此,直接使用这些SQL函数需要配置oracle的listener,让oracle能够找到这些扩展库。如果使用SDE读取这些数据,则不需要配置。下面简单介绍一下Windows下配置步骤:
下面主要介绍一下默认情况下如何配置(windows下面)。
1) 找到oracle数据库的安装目录(服务器端),然后定位到oraclehome\NETWORK\ADMIN目录
2) 备份listener.ora文件,这点很重要,在对oracle的配置做任何更改的时候都要进行备份
3) 打开listener.ora文件,找到 (PROGRAM = extproc) 这一行,在这行下面添加对ST_SHAPELIB的引用,即指定ST_SHAPELIB的地址,如下:
(ENVS="EXTPROC_DLLS=C:\Program Files\ArcGIS\ArcSDE\ora10gexe\bin\st_shapelib.dll")
其中“D:\Program Files\ArcGIS\ArcSDE\ora10gexe\bin\st_shapelib.dll”为ST_SHAPELIB的物理路径,可以根据安装情况自己修改。
4) 保存listener.ora文件,重新启动数据库 和 监听程序。
附录:
未修改前的listener.ora # listener.ora Network Configuration File: D:\oracle\product\10.2.0\db_1 \network\admin\listener.ora # Generated by Oracle configuration tools. SID_LIST_LISTENER = (SID_LIST = (SID_DESC = (PROGRAM = extproc) (SID_NAME = PLSExtProc) (ORACLE_HOME = F:\oracle\product\10.2.0\db_1) ) ) LISTENER = (DESCRIPTION_LIST = (DESCRIPTION = (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1)) ) (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = rqgw)(PORT = 1521)) ) ) 修改后的listener.ora # listener.ora Network Configuration File: D:\oracle\product\10.2.0\db_1 \network\admin\listener.ora # Generated by Oracle configuration tools. SID_LIST_LISTENER = (SID_LIST = (SID_DESC = (SID_NAME = PLSExtProc) (ORACLE_HOME = F:\oracle\product\10.2.0\db_1) (PROGRAM = extproc) (ENVS="EXTPROC_DLLS=d:\program files\arcgis\arcsde\ora10gexe\bin\st_shapelib.dll") ) ) LISTENER = (DESCRIPTION_LIST = (DESCRIPTION = (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1)) ) (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = rqgw)(PORT = 1521)) ) )
2、常用函数介绍(oracle)
更多的函数使用说明,请感兴趣的人自己查看这里帮助:
ArcGIS Desktop help->Geodatabase and ArcSDE->Working with geodatabases using SQL->SQL functions reference
1、sde.st_crosses (g1 sde.st_geometry, g2 sde.st_geometry) 返回值1 or 0,判断两个几何要素是否相交
2、sde.st_within (g1 sde.st_geometry, g2 sde.st_geometry) 返回值1 or 0,判断第一个要素是否完全包含在第二个要素内
3、sde.st_contains (g1 sde.st_geometry, g2 sde.st_geometry) 返回值1 or 0,判断第一个要素是否完全包含第二个要素
4、sde.st_intersects (g1 sde.st_geometry, g2 sde.st_geometry) 返回值1 or 0,判断两个几何要素intersection部分是否为空
5、sde.st_buffer(g1 sde.st_geometry, distance double_precision)返回st_geometry类型,计算几何体的缓冲范围
3、简单几何要素的表示方法
点 POINT (46457.63122559 48886.52319336)
线 LINESTRING (46853.43719482 48912.61218262, 46855.55920410 48902.85321045)
面 POLYGON ((46146.16320801 49057.50921631, 46279.90820313 48845.41619873, 46286.44519043 48846.73419189,
46286.85321045 49082.47521973, 46284.29022217 49084.51019287, 46154.71423340 49071.47521973,
46147.40423584 49066.10620117, 46146.16320801 49057.50921631))
4、例子
用SQL语句从test图层中取得坐标串
SELECT objectid, sde.st_astext(shape) XYstring FROM sde.test;
相关推荐
汇总了当前网络上比较流行的arcsde及oracle安装配置教程,资料齐全,绝对好东东。
ArcSDE For Oracle 10g 的安装文件
ArcSDE for Oracle是Arcgis连接Oracle数据库的中间件,这是连接Oracle11g的版本
ArcSDE 10.2 FOR Oracle10g、11g安装包,Windows平台的。
arcsde10.1 for oracle 11g百度云下载链接,包括ArcSDE_Windows_101.iso,server101.ecp,ArcSDE10.1安装.pdf等等内容
ArcSDE连接Oracle配置 ArcSDE连接Oracle配置 ArcSDE连接Oracle配置
ArcSDE for Oracle 安装详解(单机及分布式)
ArcSDE for Oracle linux安装配置文档
ArcSDE for Oracle 10g 安装及配置教程
本教程细讲解了arcsde for oracle的存储机制,以及如何配置对sde进行优化和直接sql查询
ArcSDE for Oracle提供了ST_Geometry类型来存储几何数据。ST_Geometry是一种遵循ISO和OGC规范的,可以通过SQL直接读取的空间信息存储类型。采用这种存储方式能够更好的利用oracle的资源,更好的兼容oracle的特征,...
刚刚弄到的ArcSDE10 for Oracle10g,很给力啊;还有ArcSDE10 for windows,需要的请联系我。
刚刚弄到的ArcSDE10 for Oracle10g,很给力啊;还有ArcSDE10 for windows,需要的请联系我。
arcgis,arcsde,oracle安装配置手册word文档,内有详细的安装以及配置过程截图,并且该方法经过长期实践,行之有效。在64位操作系统中,也可以按照该方法安装。
楼主亲测可用,下载链接
ArcSDE for Oracle优化实践.pdf
arcsde 操作oracle的操作原理
ArcSDE9.2 for Oracle10g92sp5
Oracle9i与ArcSDE for Oracle的安装步骤