ST_Geometry及使用大全,ST_Geometry及使用大全,ST_Geometry及使用大全

1. 2. ST Intersection

37

4.2.5 ST SymmetricDiff

38

4.2.6 ST Union

39

4.2.7 ST Distance

43聚集函数

1.3 1 ST Aggr ConvexHull

4.3.2 ST Aggr Intersection

40

4.3.3 ST Aggr Union…

4.3.4空间数据属性提取的函数

4.3.4.1

求几何维度的函数

n41

4342z值函数

41

4.3.4.3

量测值函数.

4.3.4.4

取几何类型函数

41

4.345 st Point相关函数…241

4.3.4.6

面积和长度函数…241

43.47 st Line string相关函数

43.48 ST MultilineString相关函数…142

434.9 St Polygon相关函数42

43.4.10 ST Multipolygon相关函数

4.3.4.11

求几何坐标点个数函数

43

4.34.12空间参考系相关函数

43

4.3.4.13

其他函数

.43

第一章 ST Geometry与配置

1.1简介

ArcsDE for Oracle提供了 ST Geometry类型来存储几何数据。ST_ Geometry是一种

遵循lsO和OGC规范的,可以通过SQL直接读取的空间信息存储类型。采用这种存储方

式能够更好的利用 oracle的资源,更好的兼容 oracle的特征,比如复制和分区,并且能够

更快的读取空间数据。使用 ST Geometry存储空间数据,可以把业务数据和空间数据存储

到一张表中(使用 SDENBLOB方式业务数据和空间数据是分开存储在B表和F表中的)

因此可以很方使的在业务数据中增加空间数据(只需要在业务表中增加ST_ Geometry列)。

使用这神存储方式还能够简化多用户的读取,管理(只需要管理一张表)。

从 ArcGIs93开始,新的 ArcSdE geodatabases for Oracle会默认使用

ST_ Geometry方式来存储空间数据。它实现了SQL3规范中的用户自定义类型

(user- defined data types),允许用户使用 ST Geometry类型创建列来存储诸如界址点,

街道,地块等空间数据。

使用ST_ Geometry类型存储空间数据,具有以下优势:

1)通过SQL函数( ISO SQL∧MM标准)直接访问空间数据

2〕使用SαL语句存储、检索操纵空间数据,就像其他类型数据一样。

3)通过存储过程来进行复杂的空间数据检索和分析。

4)其他应用程序可以通过SQL语句来访问存储在 geodatabase中的数据。从 ArcGIS93

开始,新的 ArcSDE geodatabases for Oracle要求所以ST函数调用的时候前面都要加上

SDE schema名称。例如:要对査询出来的空间数据进行 union操作,则SQL函数需要这

样写:"sde. ST Union",在9,2版本之前,可以不加 SDE schema名称。

2基于0 racle的ST_ Geometry的配置

.2.10rac1e监听配置

从9.3开始,默认创建的婁素类都使用ST_ Geometry存储空间数据,9.3版本之前,

可以通过配 dbtune参数来完成。访问存储在 oracle中的 ST Geometry类型数据的SQL

数,通过扩展 oracle的 external procedure agent或者 extproc来实现,因此,直接使用

这些SQL函数需要配置 oracle的 listener,让 oracle能够找到这些扩展厍。如果使用SDE

读取这些数据,则不需要配置。

下面介绍一下如何配置 oracle listener。(关于 oracle的 listener的详细配置方法请参考

oracle相关文档)

1.2.1.1 Windows环境的配置

1)找到 oracle数据库的安装目录,然后定位到 ORACLE HOME\ network\admin目录,例如

D: oracle\product\ 11.1.0\db_ 1\network \admin

2)备份 listener。ora文件(这点很重要,在对 oracle的配置做仨何更改的时候都要进行备份)

3)打开 listener ora文件,找到( PROGRAM= extproc这一行,在这行下面添加对 ST SHAPELIB的引用,即指定ST_ SHAPELIB

的地址,如下

Windows F: (ENVS="EXTPROC DLLS-

其中

D: \ArcGIS\ ArcSDE_ Oracle\ArCSDE\ora11gee\ bin\st shapelib. d”为ST_ SHAPELIB的物坦路径,可以根据安装情况自己修改。

4)保仔 listener. ora文什,重新启动监听程序。

如果 ArcsDE和 Oracle不是安装在一起,需要把外部库文件拷贝到 Oracle目永下,重新设置路径,如需要拷贝

st snapc⊥ib,dl-pe. dll se dl三个文件到 ORACLE HOME/b下如D:\ oracle\product\1110db1uB,同时需要修改成

xl F:(ENVS-EXTPROC DLLS-C: \ArcSDE\sdeex=93\bin\st shapel-bdll")

5)下面是 listenerora例子:

D LIST LISTENER

IDL工S卫

SI二LE

SID NAME PLSExtProc)

ORACIE HOM

(ENVS-"EXI PROC DLLS-D: ArcGIS\ArCSDE Oracle \ArcsDE\orallgexe\LIB\s- shapelib d-1")

(SID DESC

(STD NAN

OraclesIDName l

ORACLE HOME D: oracle\product\Il lo\cb 1)

(GLOBAL NAME OracleSIDName

L二 STENER

(D上SCR⊥ON=

(二 DRESS=( PROTOCOL=工PC)(Ky= EXTPRO~1)

(A-DRESS =(PROTOCOL TCP)(HCST =192.168.2.23)(PORT=1521))

注:这里需要注意红色部分,其中 EXTPROC、 PLSExt Proc要跟TNs网络服务名配置中的要保持一致(文件: tnsnamc s.ora)

12.12 Linux环境的配置

1)找到 oracle数据库的安表目录,然后定位到 ORACLE HOME\network\admin目录,例如:

echo SORACLE HOME

/oracle/10.2/ db 1

2)进入备份 listener. o文件(这烹很重要,在对 oracle的配置做任何更改的时候都要进行备份)

Cd SCRACLE HOME

Cd admin

Cp⊥ stonor.ora⊥ istance.ora,cpy

3)打丌 listenerora文件,找到( PROGRAM= extproc)这行,在这行下面添加对 ST SHAPELIB的引用,即指定1 ibs shape1ib

的地址,如下:

(ENVS-"EXTPROC DLLS-/software/sde/sde exe/lic/l-bst shapelibs")H

“/ software/sde/ sde exe/1ib/1 ibs shapelib.sp”为 list shapelib的物理路径,可以根据安装情况自己修改。

4)保存 listener. ora文什,重新启动监听程序。

如昊 ArCSDE和 Oracle不是安装在起,需要扣外部厍文件拷仄到 Oracle目录下,亘新设置路径,如需要拷贝

二 ibs shape-ib, sp pe. sp sg. spl三个文件到 ORACLE HOME/b下如/ software/ oracle/app/ oracle/10203,同时需要

修改成如下:(ENs-"三 XIPROC DLL3-/s0 ftware/sde/ sde exe/1ib/1 ibs shapelib.sp"

5)下面是 listener, ora例子:

( DESCRIPTION L工sT=

(D彐S~ RIPTION=

(ADRESS =(PRC''OCO- =ICP)(HOSI=192.168.2.23)(PORT=1234)

(ADDRESS LIST

(ADCRESS -(PROTOCOL- IPC)(KEY EXTPRCCI!)

S工DI工 ST LSNR NYD3=

SIDL工s卫

(SID DES

(S⊥DNAM=2 L SEXtbroc)

(ORACLE HOME =/software/oracle/apc/cracle/10203

(PROGRAM- cxtproc

(ENVS="EXTPROC DLLS=/software/sde/sde exe/lic/l-bst shapelib sc, LD _IBRARY PATH=/so=tware/sd

e/sce exe/lib)

(SID DESC

(GLOBAL DENAME-myd=)

/software/oracle/apc/cracle/10203)

(SID NAME MYDB

121.3Unix环境的配置

找到oace数据库的安装目录,然后定位到 ORACLE HOME\ network\admin目录,例如:

SORACLE HOME

/oracle/10.2/db 1

2进入备份 istenerora文件(这点很重要,在对orae的配置做任何更改的时候都要进行备份

k

Cd admin

Cp listener. ora listener. ora cpy

3)打开 stenerora文件,找到( PROGRAM= extproc)这一行,在这行下面添加对 ST SHAPELIB的引用,即指定 lbst shape1ib

的地址,如下:(ENS=" EXTPROC DLL5=/ arcsde/ arcsde1/ seere93/ib/ list shapelib_64.50")其中

arcsde/ arcsde/ sneeze93/b/ ibst shapelib_64sσ”为 ibs shapely的物理路径,可以根据安装情况自己修改

4)保存 listenerora文件,重新启动监听程序。

如昊 ArcSDE和 Oracle不是安裝在起,需要扣外部库文仹拷仄到 Oracle目录下,亘新设置路径,如需要拷」

ibs shape1ib54,s。1ibpe64,so1isg64.0三个文件到 ORACLE HOME/1下如/ oracle/10.2/db1,同时

需要修改成如下:(ENVS=" EXTPROC DLL5=/orac1e/10.2/db1/1b/1 ibs shapelib64.so")

下面是 listener. ora例

LSNE MYD3

( DESCR工 PTION L工ST=

(AD上SS=(

ICP)(HOS_= my DhSeverUrl)(PORT=1234)

(ADCRESS-(PRCOCO-- IPC)(KEY- EXTPROCI!

SID LIST LSNE MYD3

(S⊥DD上SC

(SID NAME PLSExtProc)

(ORACLE HOME =/software/oracle/apr/cracle/10203)

(PROGRAM-cxtproc)

(ENV-"EXTPROC DLLS-/arcsde/arcsdel/sdeexe93/lib/libst shapelib 64.sO,

L⊥B上AIH=/ arcsde/ arcsde l/ deere93/1ib")

(STD DESC

(GLOBAL DENZ ME-mydo

(ORACLE HOME -/software/oracle/aps/cracle/1020

(SID NAME MY DB)

1.2.20rac1eTNS配置

oace文件 tnsnames ora中包含了一个数据厍服务。止文件可以定义木地数据库或远程服务器上的服务

其屮一项是专门为在本地数据库服务器来使用(IPC)的进程间通信并发送函数调用 extproc。此项被标记

EXTPROC CONNECTION DATA。下面是一个例子,它在文件 tnsnames. ora中出现。(请注意,这可

能不会在文件中唯一的条日。)

EXTPROC CONNECTION DATA

(DESCRIPTION

(ADDRESS LIST

ADDRESS=(PROTOCOL IPC)(Key= EXTPROC1)

(CONNECT DATA

(SID= PLSExtProc

(PRESENTATION- RO)

EXTPROC CONNECTION DATA

此项必须始终标签 EXTPROC CONNECTION DATA名称,不能更改

Key和SD

在此项中的两个项目是可以改变的关键( EXTPROC1)和S( PLSEXtProc)的名称。这些项目是用来

连接到这个项日中的文件 listener.oa中的对应信息关键可以是任何的短名称,但必须同时在 listener ora

和 tnsnames . ora文件相同。这些值是大小写敏感的。它们仅用于监听进程,而不是由用户或应用程序

1.30rac|e的 ST Geometry权限及数据库

3.1检查ST定义

松查 st astext、 st geometry、 st geometry ope rator.的定义如下

e C: \WINDOWS\system32\cmd. exe sqlplus sde/sdeadbp.. - x

SQL> select dbms_metadata. get_ddl< OPERATOR','ST_ASTEXT','SDE')from dual;

DBMS_METADATA.GET_DDL

CREATE OR REPLACE OPERATOR SDE.ST ASTEXT BINDING

C.ST GEOMETRY) RETURN CLOB

USINGSDE.5T GEOMETRY OPERATORS.ST ASTEXT F

SQL>

1.3.2检查 st shapelib对象定义

在执行的 Sde. st geometry shapelib_ pkg.st astext程序过程中,调用∫一个 astext函数(该函数在

SDEHOME\bin\st shapelib.d! windows)$ SDEHOME/ib/list shapelib.so(uniX,inux)定义的)。这旦需要

借助别名库( Alias Library)来表示动态库路径。别名库是数据厍里的一个对象,在SDE中就是 st shapelib

对象(该对象的类型为 library对象,其定义在下面),用来描述一个外部函数所在的动态链接库的路径和名

称。通过別名库,从而可以知道被调用的外部区数在哪个文件里。

Library对象的定义

Windows

CAC: \WINDOWS\system32\cmd. exe- sqlplus sde/sde@dbp.

QL> select file spec from user_libraries where library nane=ST- SHAPELIB;

FILE- SPEC

D: \Progran Files \ArcGIS \ArcSDE\Dral0gexe \bin\st_shape lib.dll

Q>

Linux Unix.

ca Telnet192.168.200.200

SQL>select file_spec from user_libraries where library_name="ST_SHAPELIB':

FILE SPEC

home/arcsde/sdeexe93/lib/libs_shape lib.so

注:如果不存在 St shapelib对象所指向的动态库的路径个正确,可以通过 select*from

user libraries査看指向的动态库的路径是否正确,如果不正确可以通过 create or replace

library st shape lib as' your lib path来进行修改

单片机c语言sden,ST_Geometry及使用大全.pdf相关推荐

  1. 单片机c语言sden,电力系统中多通道同步采样ADC(AD7606)与浮点DSP(ADSP-21479)通信的设计与实现...

    4.2 结论 这种连接方式只使用DSP的一个串行SPORT口即可同时读取8路ADC的数据.但由于8路数据都通过一路数据输出给DSP,而AD7606支持的最高串行时钟频率有限,模数转换还要占用一部分采样 ...

  2. 《51单片机应用开发范例大全(第3版)》——第1章 单片机C语言开发基础

    本节书摘来异步社区<51单片机应用开发范例大全(第3版)>一书中的第1章,作者:张杰 , 宋戈 , 黄鹤松 , 员玉良,更多章节内容可以访问云栖社区"异步社区"公众号查 ...

  3. c语言程序设计分段定时器,单片机C语言编程定时器的几种表达方式

    原标题:单片机C语言编程定时器的几种表达方式 吴鉴鹰单片机开发板地址 店铺:[吴鉴鹰的小铺] 地址:[https://item.taobao.com/item.htm?_u=ukgdp5a7629&a ...

  4. 单片机如何使用?51单片机C语言编程实例有哪些?

    大家好,我是无际单片机编程的徐明,今天和大家一起探讨一下"单片机如何使用?" 单片机如何使用,我们要知道单片机在哪里使用? 单片机是很多电子产品的核心器件,它具有一定的逻辑判断和事 ...

  5. 单片机c语言编译软件6,eUIDE下载-单片机c语言编译器 v1.07.32.23 官方版 - 安下载...

    eUIDE是一款专业的单片机c语言编译器,EM78系列集成开发环境是面向项目的ELAN EM78系列微控制器的开发工具,它包括UICE开发在线仿真器和eUIDE软件工具:eUIDE是基于PC端的UIC ...

  6. 访问外部扩展C语言编程,单片机C语言编程(系统扩展IC)8.ppt

    单片机C语言编程(系统扩展IC)8 第8章 单片机系统扩展 第8章 单片机系统扩展 目 录 8.1 扩展并行三总线 8.2 扩展简单并行输入/输出口 8.3 扩展并行数据存储器 8.4 串行扩展总线接 ...

  7. 单片机c语言编程教学大纲,《单片机C语言编程》教学大纲

    <单片机C语言编程>教学大纲 课程代码:000002336 课程英文名称:Microcontroller C Programming Language 课程总学时:24 讲课:16 实验: ...

  8. pic单片机延时程序C语言,PIC单片机C语言延时程序和循环子程序实现方法

    PIC单片机C语言延时程序和循环子程序实现方法 很多朋友说C中不能精确控制延时时间,不能象汇编那样直观. 其实不然,对延时函数深入了解一下就能设计出一个理想的框价出来. 一般的我们都用 for(x=1 ...

  9. 单片机c语言程序设计实训报告,(整理)单片机C语言程序设计实训100例.doc

    (整理)单片机C语言程序设计实训100例.doc .单片机C语言程序设计实训100例基于8051Proteus仿真案例第 01 篇 基础程序设计01闪烁的LED/* 名称闪烁的LED说明LED按设定的 ...

最新文章

  1. C++中std::reverse和std::reverse_copy的使用
  2. 原理分析之四:一次SQL查询的源码分析
  3. [IOI2014]Wall
  4. oracle 10G 表空间迁移 索引需要重建
  5. 这些数学趣图,数学老师看了后会怎么想?
  6. Python:generator的send()方法流程分析
  7. linux怎么建立链接文件,Linux 建立文件夹的链接
  8. 计算机管理界面截图,电脑网页页面太长怎么截图网页界面滚动截图的三种方法...
  9. 织梦 php模板修改,织梦专题模板修改.doc
  10. 机房服务器配置方案文件,机房改造/机房搬迁实施方案及步骤
  11. 奇安信技术总监熬夜总结,全网最全内网渗透姿势!
  12. 加密文档的三种基本方法
  13. linux man 命令 详解
  14. 电影《美丽心灵》中纳什的经典演讲(双语)
  15. 以数字驱动未来,望美实业携手华为开启数字化转型新征程
  16. Unity ILRuntime Debugger使用及常见问题
  17. C语言程序设计第三版崔武子,清华大学出版社-图书详情-《C语言程序设计教程学习辅导》...
  18. MediaPlayer播放音频
  19. 学完这些图像处理,我拿去给女友修了图...
  20. win7 计算机点管理没反应,win7系统电脑点关机没反应的解决方法

热门文章

  1. python函数调用参数
  2. 使用折外预测(oof)评估模型的泛化性能和构建集成模型
  3. LeetCode:733. 图像渲染(java版)——BFS是渣男/女,DFS是方知有
  4. 初高中数学物理学习方法
  5. VLFeat开源库初体验
  6. 【MATLAB】直方图均衡化Matlab实现(非histeq内置函数)
  7. 共识协议(6)PBFT实用拜占庭容错
  8. 为什么旗舰智能手机屏幕越来越大
  9. 教程:超详细从零开始yolov5模型训练
  10. 数学建模——美赛赛前准备篇