Oracle空间数据库函数使用

最近一段时间一直在用Oracle的空间数据库做一些空间数据处理和分析功能,写这篇文章主要是做一个笔记,毕竟好记性不如烂笔头嘛。

首先说说我用的第一个函数:SDO_GEOM.SDO_BUFFER,根据官方文档的描述,这个函数是用来返回一个代表缓冲区的几何体(This function returns a geometry object representing the buffer polygon,也不知道我理解的准不准,呵呵)。官方给出了一个函数的说明:

SDO_GEOM.SDO_BUFFER(

geom IN SDO_GEOMETRY,

dim IN SDO_DIM_ARRAY,

dist IN NUMBER

[, params IN VARCHAR2]

) RETURN SDO_GEOMETRY;

or

SDO_GEOM.SDO_BUFFER(

geom IN SDO_GEOMETRY,

dist IN NUMBER,

tol IN NUMBER

[, params IN VARCHAR2]

) RETURN SDO_GEOMETRY;

SDO_GEOMETRY是oracle数据里面定义的代表空间几何体的类型,我用的是第二个函数,指定一个缓冲区的范围和容差,至于后面的params则是一串字符,用来指定一距离单位和arc_tolerance,但是我也没搞懂这个是什么意思,看来英语还是要好好补补啊。

这是我写的例子:

SELECT T.TOWERNAME , SDO_GEOM.SDO_BUFFER(T.STATIONMAP , 500, 1,
                                  'unit=km arc_tolerance=0.05')
 FROM DMSDKY.TB_PG_TOWERINFO t
 WHERE T.TOWERCODE ='12M00000035385713'

显示的结果如下:

--------------------------------------分割线 --------------------------------------

CentOS 6.4下安装Oracle 11gR2(x64)

Oracle 11gR2 在VMWare虚拟机中安装步骤

Debian 下 安装 Oracle 11g XE R2

--------------------------------------分割线 --------------------------------------

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/3c45f1331b8fe20d255769f6ef9cffbe.html