下载Postgis
Postgresql扩展Postgis
Windows:
SQL Shell进入需要扩展Postgis的数据库。
hngsmm=# CREATE EXTENSION postgis;
Linux :
yum install postgis2_94 # 因为安装的PostgreSQL版本为9.4,所以是postgis2_94
注:需要PostgreSQL9.1以上版本才支持PostGIS.
PostGIS中的常用函数
......好几页省略.....
首先需要说明一下,这里许多函数是以ST_[X]yyy形式命名的,事实上很多函数也可以通过xyyy的形式访问,在PostGIS的函数库中我们可以看到这两种函数定义完全一样。
1. OGC标准函数
管理函数:
添加几何字段AddGeometryColumn(,,,,,)
删除几何字段DropGeometryColumn(,,)
检查数据库几何字段并在geometry_columns中归档Probe_Geometry_Columns()
给几何对象设置空间参考(在通过一个范围做空间查询时常用)ST_SetSRID(geometry,integer)
几何对象关系函数:
获取两个几何对象间的距离ST_Distance(geometry,geometry)
如果两个几何对象间距离在给定值范围内,则返回TRUE ST_DWithin(geometry,geometry,float)
判断两个几何对象是否相等
(比如LINESTRING(00,22)和LINESTRING(00,11,22)是相同的几何对象)ST_Equals(geometry,geometry)
判断两个几何对象是否分离ST_Disjoint(geometry,geometry)
判断两个几何对象是否相交ST_Intersects(geometry,geometry)
判断两个几何对象的边缘是否接触ST_Touches(geometry,geometry)
判断两个几何对象是否互相穿过ST_Crosses(geometry,geometry)
判断A是否被B包含ST_Within(geometry A,geometry B)
判断两个几何对象是否是重叠ST_Overlaps(geometry,geometry)
判断A是否包含B ST_Contains(geometry A,geometry B)
判断A是否覆盖B ST_Covers(geometry A,geometry B)
判断A是否被B所覆盖ST_CoveredBy(geometry A,geometry B)
通过DE-9IM矩阵判断两个几何对象的关系是否成立ST_Relate(geometry,geometry,intersectionPatternMatrix)
获得两个几何对象的关系(DE-9IM矩阵)ST_Relate(geometry,geometry)
几何对象处理函数:
获取几何对象的中心ST_Centroid(geometry)
面积量测ST_Area(geometry)
长度量测ST_Length(geometry)
返回曲面上的一个点ST_PointOnSurface(geometr