#ST_PERIMETER

st_perimeter
ST_PERIMETER ( geometry )

ST_PERIMETER函数用于计算geometry的周长,或者说计算的是区域的周长,对于不能构成区域的几何图形,则返回0。

geometry

通用表达式,其值必须为有效的ST_GEOMETRY类型的数据,遵循如下规则:

  • geometry是POLYGON、MULTIPOLYGON或GEOMETRY COLLECTION类型会返回对应的周长,其它的geometry类型会返回0。
  • geometry的空间参考系标识号(SRID)必须在spatial_ref_sys系统表中定义或者为0,否则报错。
  • geometry的空间参考系标识号(SRID)在spatial_ref_sys中对应的srs_type如果是GEOGRAPHY2D或者GEOGRAPHY3D,会切换到大地坐标算法计算,否则会使用投影坐标算法。

本函数遵守如下规则:

  • 当输入的参数存在NULL时,函数返回NULL。
  • 该函数只会计算2D结果,如果输入的是三维,则会忽略Z坐标进行计算。
  • 对于输入的经纬度坐标,如果输入的数值不在有效经纬度范围内,则会转换成有效经纬度进行计算。

示例(单机HEAP表)

SELECT ST_Perimeter(ST_GeomFromText('POLYGON ((-71.17 42.39,-72.17 43.39,-72.17 44.39,-71.17 42.39))', 4326)) res FROM dual;

RES
----------- 
4.855E+005

SELECT ST_Perimeter(ST_GeomFromText('POLYGON((0 0, 10 0, 10 10, 0 10, 0 0))', 3385)) res FROM dual;

RES
----------- 
4.0E+001
pdf-btn 下载文档
copy-btn 复制链接