ST_Intersects
确定两个 GEOMETRY 或 GEOGRAPHY 对象是否在一个点相交或接触。对于相同的 GEOMETRY 或 GEOGRAPHY 对象,如果 ST_Disjoint 返回 TRUE,则 ST_Intersects 将返回 FALSE。
不支持顶点或边界位于国际日期变更线 (IDL) 或南、北极的 GEOGRAPHY 多边形。
行为类型
不可变语法
ST_Intersects( g1, g2
[USING PARAMETERS bbox={true | false}, spheroid={true | false}])
参数
g1
- 空间对象,类型为 GEOMETRY
g2
- 空间对象,类型为 GEOMETRY
参数
bbox = {true | false}
- Boolean。与
g1
和g2
的边界框相交。默认值: False
spheroid = {true | false}
(可选)用于指定是否使用理想球体或 WGS84 的 BOOLEAN 值。
默认值:False
返回
BOOLEAN
支持的数据类型
兼容的 GEOGRAPHY 对:
- 数据类型
- GEOGRAPHY (WGS84)
- Point-Point
- 否
- Linestring-Point
- 否
- Polygon-Point
- 是
- Multipolygon-Point
- 否
示例
以下示例显示了 ST_Intersects 的用法。
两个多边形未相交或接触:
=> SELECT ST_Intersects (ST_GeomFromText('POLYGON((-1 2,0 3,0 1,-1 2))'),
ST_GeomFromText('POLYGON((1 0,1 1,2 2,1 0))'));
ST_Intersects
--------------
f
(1 row)
两个多边形在一个点接触:
=> SELECT ST_Intersects (ST_GeomFromText('POLYGON((-1 2,0 3,0 1,-1 2))'),
ST_GeomFromText('POLYGON((1 0,1 1,0 1,1 0))'));
ST_Intersects
--------------
t
(1 row)
两个多边形相交:
=> SELECT ST_Intersects (ST_GeomFromText('POLYGON((-1 2, 0 3, 0 1, -1 2))'),
ST_GeomFromText('POLYGON((0 2, -1 3, -2 0, 0 2))'));
ST_Intersects
--------------
t
(1 row)