总结一下,ST_CONTAINS和ST_WITHIN函数的主要区别在于它们对多边形顶点顺序的处理方式。ST_CONTAINS是CCW敏感的,而ST_WITHIN是CCW无关的。在大多数情况下,这两个函数可以互换使用,但在处理多边形顶点顺序敏感的问题时,选择合适的函数很重要。 页面内容是否对你有帮助?
我使用两种方式分别进行相关测试,一种是利用面包含点的方式(Contains),一种是利用点在面内部的方式(within),我们看看这两种方式有什么区别 第一种方式: [c-sharp]view plaincopy print? SQL> select sde.st_astext(point.shape) from point,poly where sde.st_contains(poly.shape,point.shape)=1; 查看执行...
PostgreSQL , st_contains , st_within , 空间包含 , 空间bound box , GiST索引 , 空间索引结构 , IO放大 , BOUND BOX放大 背景 点面判断、按面圈选点或其他对象,是GIS几何应用中非常典型的需求。 在PostgreSQL中通过建立GiST索引可以加速这类判断,然而,建立索引就够了吗? 很多时候建立索引是不够的,性能没有...
ST_Contains 函數會傳回 ST_Within 函數的完全相反結果。 如果任何指定的幾何形狀是空值或空白,則會傳回空值。 如果第二個幾何形狀沒有在與第一個幾何形狀相同的空間參考系統中表示並且使用相同的基礎資料,它將被轉換成另一個空間參考系統。 ST_Contains 函數的型樣矩陣指出兩個幾何形狀的內部必須相交,且次要幾何形...
SET @x = 121; SET @y = 30; -- SET @point = CONCAT('POINT(',@x,' ',@y,')'); set @point= Point(@x,@y); set @geometry=ST_GeomFromText('POLYGON((121 30, 121 30, ..., 121 30, 121 30))'); SELECT ST_Contains(@geometry,@point);//面包含点 SELECT ST_Within(@point,...
ST_Contains 方法与 ST_Covers 方法类似。不同之处是 ST_Covers 不要求内部点相交。 注意 如果<geometry-expression> 包含圆弧线串,则将这些圆弧线串内插到线串中。 注意 此方法无法用于球形地球空间参照系中的几何。 标准 SQL/MM (ISO/IEC 13249-3:2006) 5.1.31 示例 示例 下面的示例测试多边形中是否包含...
目录一、ST_Equals二、ST_Intersects、ST_Disjoint、ST_Crosses和ST_Overlaps三、ST_Touches四、ST_Within和ST_Contains五、ST_Distance和ST_DWithin六、空间关系练习 到目前为止,我们只使用了测量(ST_Area、ST_Length)、序列化 ST_Touches 四舍五入 反序列化 ...
如果第一個幾何佈置完全包含第二個幾何佈置, ST_CONTAINS 函數會採用兩個幾何佈置物件作為輸入參數,並傳回整數 1。 否則,它會傳回整數 0 (零) ,以指出第一個幾何形狀未完全包含第二個幾何形狀。
ST_Contains确定空间对象是否完全在另一个空间对象内部,并且不仅仅在其边界上存在。两个参数必须是相同的空间数据类型。要么指定两个 GEOMETRY 对象,要么指定两个 GEOGRAPHY 对象。如果某个对象(例如点或线串)仅沿空间对象的边界存在,则 ST_Contains 将返回 False。线串的内部是线串上除起点和终点以外的所有点。