PostGIS符合开放地理空间联盟(OGC)的OpenGIS规范。因此,许多PostGIS方法要求进行操作的几何既简单又有效。例如,计算在多边形外部定义了孔的多边形的面积,或者根据非简单边界线构造多边形是没有意义的。
根据OGC规范,简单几何是没有异常几何点(例如自相交或自相切)的几何,主要指0或1维几何(即[MULTI] POINT,[MULTI] LINESTRING)。另一方面,几何形状有效性主要是指二维几何形状(即[MULTI] POLYGON),并定义了表征有效多边形的一组断言。每个几何类别的描述都包含特定条件,这些条件进一步详述了几何简单性和有效性。
POINT作为0维几何对象在继承上很简单。
如果没有两个坐标(POINT)相等(具有相同的坐标值),则MULTIPOINT很简单。
如果LINESTRING没有两次通过相同的POINT(端点除外,在这种情况下,它称为线性环,并且另外被认为是闭合的),则它很简单。

仅当MULTILINESTRING的所有元素都简单并且任何两个元素之间的唯一交点都出现在两个元素边界上的POINT上时,它才是简单的。

根据定义,POLYGON总是很简单。 边界中没有两个环(由外环和内环组成)交叉时有效。 POLYGON的边界可以在POINT处相交,而仅以切线相交(即不在一条线上)。 POLYGON可能没有切割线或长钉,并且内圈必须完全包含在外圈内。

PostGIS遵循OGC规范,其几何对象需满足简单和有效条件。简单几何无异常点,如简单点、线串;有效性主要针对多边形,要求无自交且内圈包含在外圈内。ST_IsSimple()和ST_IsValid()用于检查几何的简单性和有效性。若数据源不可信,可通过添加检查约束强制验证。注意,PostGIS默认不检查几何有效性,以节省CPU时间。
最低0.47元/天 解锁文章
3252





