postgis常用函数

342 阅读1分钟

携手创作,共同成长!这是我参与「掘金日新计划 · 8 月更文挑战」的第31天


获取几何图形元数据信息:
ST_GeometryType(geometry) —— 返回几何图形的类型
ST_NDims(geometry) —— 返回几何图形的维数
ST_SRID(geometry) —— 返回几何图形的空间参考标识码

postgis=# select name,ST_GeometryType(geom),ST_NDims(geom),ST_SRID(geom) from t_gis;
      name       |    st_geometrytype    | st_ndims | st_srid 
-----------------+-----------------------+----------+---------
 Point           | ST_Point              |        2 |    4326
 Linestring      | ST_LineString         |        2 |    4326
 Polygon         | ST_Polygon            |        2 |    4326
 PolygonWithHole | ST_Polygon            |        2 |    4326
 Collection      | ST_GeometryCollection |        2 |    4326
(5 rows)

返回点坐标信息:

postgis=# select st_x(geom),st_y(geom) from t_gis where name='Point';
 st_x | st_y 
------+------
    0 |    0
(1 row)

计算长度:

postgis=# select st_length(geom) from t_gis where name='Linestring';
    st_length     
------------------
 3.41421356237309
(1 row)

计算面积:

postgis=# select st_area(geom) from t_gis where name='Polygon';
 st_area 
---------
       1
(1 row)

不仅仅是规则图形,不规则图形的面积也可以直接计算:

postgis=# select st_area(geom) from t_gis where name='PolygonWithHole';       
 st_area 
---------
      99
(1 row)

更多的函数使用可以参考官方文档:
postgis.net/docs/manual…