Oracle Spatial空间函数

Oracle Spatial提高了几何体处理函数,即空间函数。与空间操作符不同的是空间函数计算不需要有空间索引,功能比前者更丰富,可以出现在SELECT语句中(前者只能在WHERE子句中)。

Oracle Spatial空间函数分为几大类:
[list]
[*] 缓冲函数(Buffering functions):
[*] 关系分析函数(Relationship analysis functions):这类函数测算两个SDO_GEOMETRY对象间的关系,比如距离、是否包含等等
[*] 几何体合并函数(Geometry combination functions):两个几何体的相交、合并等
[*] 几何分析函数(Geometric analysis functions):例如面积计算
[*] 聚合函数(Aggregate functions):上面的函数都是针对一个或一对几何体进行分析计算的,聚合函数针对一组几何体进行计算,与普通SQL聚合函数(count,sum等)类似,只能在SELECT中使用。
[/list]

除了聚合函数,其他类空间函数都在SDO_GEOM包内,也不限于只在SELECT中使用。这些空间函数需要一到两个SDO_GEOMETRY作为输入参数,一个tolerance参数进行微调(tolerance表示两个点能被区分的距离,在此距离之类两个点被视为一个点;对于geodetic几何体,单位为米,通常设为0.1或0.5),此外还可能有其他可选参数。


[size=medium][b]缓冲函数[/b][/size]
缓冲函数SDO_BUFFER围绕一个SDO_GEOMTRY对象创建缓冲区
SDO_BUFFER
(
geometry IN SDO_GEOMETRY,
distance IN NUMBER,
tolerance IN NUMBER
[, params IN VARCHAR2]
)


params包括 unit和arc_tolerance,前者指定后者及distance的单位,可以查询MDSYS.SDO_DIST_UNITS知道Oracle提供的单位。arc_tolerance只对geodesic几何体有效,其值总比tolerance大。
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值