利用Oracle Spatial求几何对象的长度和面积

 

一、求几何对象的长度

格式:

 

SDO_GEOM.SDO_LENGTH(geom  IN  MDSYS.SDO_GEOMETRY,dim  IN  MDSYS.SDO_DIM_ARRAY [ ,unit IN VARCHAR2 ] RETURN   NUMBER ;

 

SDO_GEOM.SDO_LENGTH(geom  IN  MDSYS.SDO_GEOMETRY,tol  IN   NUMBER [ ,unit IN VARCHAR2 ] RETURN   NUMBER ;

说明:

返回一个几何对象的长度或周长。

参数说明:

geom.:几何体对象。

dim:与geom相应的维信息数组,通常从xxx_SDO_GEOM_METADATA视图里查询得到。

unit:度量单位。使用带引号的串,形式为unit=值,其值来源于表MDSYS.SDO_DIST_UNITS表中的一个SDO_UNIT值。如果该参数没有指定,则度量的单位使用与数据相关联的单位。

tol:容忍量值。

使用注意

如果输入多边形含有一个或多个洞,则该函数计算外边界的周和所有洞的周长,然后将这些周长进行累加,得到最终的总周长。

如果函数格式使用了tol值,所有几何全必须使用4位的SDO_GTYPE值进行定义。

示例

下例返回表“勘探开发项目”里几何实体周长。SQL语句是返回所有几何体的周长。

select  c.xmmc, SDO_GEOM.SDO_LENGTH(c.GEOMETRY2, m.diminfo)

  
from  勘探开发项目 c, MDSYS.USER_SDO_GEOM_METADATA m

 
where  m.table_name  =   ' 勘探开发项目 '

   
and  m.COLUMN_NAME  =   ' GEOMETRY2 ' ;
二、求几何对象的面积

格式:

 

SDO_GEOM.SDO_AREA(geom  IN  MDSYS.SDO_GEOMETRY,dim  IN  MDSYS.SDO_DIM_ARRAY [ ,unit IN VARCHAR2 ] RETURN   NUMBER ;

 

SDO_GEOM. SDO_AREA (geom  IN  MDSYS.SDO_GEOMETRY,tol  IN   NUMBER [ ,unit IN VARCHAR2 ] RETURN   NUMBER ;

 

说明:

返回两维几何多边形的面积。

参数说明:

geom.:几何体对象。

dim:与geom相应的维信息数组,通常从xxx_SDO_GEOM_METADATA视图里查询得到。

unit:度量单位。使用带引号的串,形式为unit=值,其值来源于表MDSYS.SDO_AREA_UNITS表(例如,unit=SQ_KM)。

如果指定了unit,该值必须来源于表MDSYS.SDO_DIST_UNITS。如果没有指定unit,就使用与几何体相关联的度量维的单位值。对于测地数据,默认的度量单位是平方米。

tol:容忍量值。

使用注意

该函数可以工作于任意多边形,包括带洞的多边形,如果带tol参数,所有几何全必须使用4位的SDO_GTYPE值进行定义。

示例

下例返回表“勘探开发项目”里几何实体面积。SQL语句是返回所有几何体的面积。

select  c.xmmc, SDO_GEOM.SDO_AREA(c.GEOMETRY2, m.diminfo)

  
from  勘探开发项目 c, MDSYS.USER_SDO_GEOM_METADATA m

 
where  m.table_name  =   ' 勘探开发项目 '

   
and  m.COLUMN_NAME  =   ' GEOMETRY2 ' ;

转载于:https://www.cnblogs.com/frogbag/archive/2007/10/17/926969.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值