STIntersection(geometry 数据类型)
适用于: SQL Server Azure SQL 数据库 Azure SQL 托管实例
返回一个对象,它表示一个 geometry 实例与另一个 geometry 实例的交点。
语法
.STIntersection ( other_geometry )
参数
other_geometry
将与调用 STIntersection()
的实例进行比较的另一个 geometry 实例,进行比较的目的是确定这两个实例是否相交。
返回类型
SQL Server 返回类型:geometry
CLR 返回类型:SqlGeometry
注解
如果 geometry 实例的空间引用 ID (SRID) 不匹配,则 STIntersection()
始终返回 null。 只有在输入实例包含它们时,结果才可能包含圆弧段。
示例
A. 对 Polygon 实例使用 STIntersection()
下面的示例使用 STIntersection()
计算两个多边形的交点。
DECLARE @g geometry;
DECLARE @h geometry;
SET @g = geometry::STGeomFromText('POLYGON((0 0, 0 2, 2 2, 2 0, 0 0))', 0);
SET @h = geometry::STGeomFromText('POLYGON((1 1, 3 1, 3 3, 1 3, 1 1))', 0);
SELECT @g.STIntersection(@h).ToString();
B. 对 CurvePolygon 实例使用 STIntersection()
以下示例返回一个包含圆弧线段的实例。
DECLARE @g geometry = 'CURVEPOLYGON (CIRCULARSTRING (0 -4, 4 0, 0 4, -4 0, 0 -4))';
DECLARE @h geometry = 'POLYGON ((1 -1, 5 -1, 5 3, 1 3, 1 -1))';
SELECT @h.STIntersection(@g).ToString();