ST_Overlaps() 函数

ST_Overlaps ()函数返回T(TRUE) : 如果两个 ST_Geometry 对象的交集导致 ST_Geometry 对象具有相同维度但不等于任一源对象。

否则,它返回F(False)。

句法

ST_Overlaps(g1 ST_Geometry, g2 ST_Geometry)

用法

下图显示了重叠的各种几何对象。

1. 重叠的几何图形

通过将结果与表示 DE-9IM 可接受值的模式矩阵进行比较,可以理解或验证ST_Operlaps()函数的空间关系结果。如果对象的交集导致对象具有相同维度但不等于任一源对象(意思是两个geometry完全一模一样,返回False),则 ST_Operlaps() 函数返回TRUE 

此模式矩阵适用于 ST_Polygon ST_PolygonST_MultiPoint ST_MultiPointST_MultiPolygon ST_MultiPolygon 重叠。对于这些组合,如果两个几何的内部与另一个的内部和外部相交,则ST_Overlaps()函数返回 TRUE

 

内饰(二)

边界 (b)

外观(二)

内饰(一)

T

*

T

边界(一)

*

*

*

外观(一)

T

*

*

1. ST_Overlaps() 函数的模式矩阵

此模式矩阵适用于 ST_LineString ST_LineString;并与 ST_MultiLineString ST_MultiLineString 重叠。在这种情况下,几何的交集必须生成维度为 1 的几何(另一个 ST_LineString ST_MultiLineString)。如果内部交集的维度为 0(一个点),则ST_Overlaps()函数将返回 FALSE;但是,ST_Crosses()函数将返回 TRUE

 

内饰(二)

边界 (b)

外观(二)

内饰(一)

1

*

T

边界(一)

*

*

*

外观(一)

T

*

*

返回类型

布尔值

例子

县主管需要一份 5 英里半径与敏感区域重叠的危险废物场清单。

sensitive_areas表包含几个描述受威胁机构列以及存储机构 ST_Polygon 几何图形的zone列:

CREATE TABLE sensitive_areas (id     integer,

                              name   varchar(128),

                              size   float,

                              type   varchar(10),

                              zone   ST_Polygon);

hazardous_sites表将站点标识存储在site_idname列中。每个站点的实际地理位置存储在位置点列中:

CREATE TABLE hazardous_sites (site_id   integer,

                              name      varchar(40),

                              location  ST_Point);

sensitive_areashazardous_sites表由ST_Overlaps()函数连接。它返回T(TRUE) 对于其区域多边形与hazardous_sites位置点缓冲的 5 英里半径重叠的所有sensitive_areas行:

SELECT hs.name hazardous_site, sa.name sensitive_area

   FROM hazardous_sites hs, sensitive_areas sa

   WHERE ST_Overlaps(ST_Buffer(hs.location,(26400)),sa.zone);





hazardous_site  Landmark Industrial

sensitive_area  Johnson County Hospital



hazardous_site  Landmark Industrial

sensitive_area  Summerhill Elementary School

下图显示,医院和学校重叠在县城两个危废场的5英里半径范围内。养老院没有。

2. 使用 ST_Overlaps() 函数

翻译至:BIM

供大家学习参考

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

GIS 数据栈

谢谢打赏!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值