- 类别:
ST_WITHIN¶
如果第一个地理空间对象完全包含在第二个地理空间对象中,则返回 true。换言之:
调用 ST_WITHIN(g1, g2)
等同于调用 ST_CONTAINS(g2, g1)
。
尽管 ST_COVEREDBY 和 ST_WITHIN 可能看起来类似,但这两个函数有细微的区别。有关“被覆盖”和“在内部”之间差异的详细信息,请参阅 维度扩展的 9 交叉点模型 (DE-9IM) (link removed)。
备注
此函数不支持使用 GeometryCollection 或 FeatureCollection 作为输入值。
小技巧
您可以使用搜索优化服务,提高用于调用此函数的查询的性能。有关详细信息,请参阅 搜索优化服务。
- 另请参阅:
语法¶
ST_WITHIN( <geography_expression_1> , <geography_expression_2> )
ST_WITHIN( <geometry_expression_1> , <geometry_expression_2> )
实参¶
geography_expression_1
不是 GeometryCollection 或 GEOGRAPHY 的 FeatureCollection 对象。
geography_expression_2
不是 GeometryCollection 或 GEOGRAPHY 的 FeatureCollection 对象。
geometry_expression_1
不是 GeometryCollection 或 GEOMETRY 的 FeatureCollection 对象。
geometry_expression_2
不是 GeometryCollection 或 GEOMETRY 的 FeatureCollection 对象。
返回¶
BOOLEAN。
示例¶
GEOGRAPHY 示例¶
该示例展示了 ST_WITHIN 函数的简单用法:
create table geospatial_table_01 (g1 GEOGRAPHY, g2 GEOGRAPHY); insert into geospatial_table_01 (g1, g2) values ('POLYGON((0 0, 3 0, 3 3, 0 3, 0 0))', 'POLYGON((1 1, 2 1, 2 2, 1 2, 1 1))');SELECT ST_WITHIN(g1, g2) FROM geospatial_table_01; +-------------------+ | ST_WITHIN(G1, G2) | |-------------------| | False | +-------------------+