STNumPoints(geography 数据类型)
适用于: SQL Server Azure SQL 数据库 Azure SQL 托管实例
返回 geography 实例的每个图形中的总点数。
语法
.STNumPoints ( )
返回类型
SQL Server 返回类型:int
CLR 返回类型:SqlInt32
备注
此方法对 geography 实例说明中的点进行计数。 重复的点被计算在内;但是,段之间的连接点只计算一次。 如果此实例为集合,则此方法将返回该集合内的总点数。
示例
A. 检索 LineString 中的总点数
下面的示例创建一个 LineString
实例,并使用 STNumPoints()
确定该实例说明中使用的点数。
DECLARE @g geography;
SET @g = geography::STGeomFromText('LINESTRING(-122.360 47.656, -122.343 47.656)', 4326);
SELECT @g.STNumPoints();
B. 检索 GeometryCollection 中的总点数
以下示例返回 GeometryCollection
中的所有元素的点数之和。
DECLARE @g geography = 'GEOMETRYCOLLECTION(CIRCULARSTRING(-122.358 47.653, -122.348 47.649, -122.348 47.658, -122.358 47.658, -122.358 47.653)
,CURVEPOLYGON(CIRCULARSTRING(-122.358 47.653, -122.348 47.649, -122.348 47.658, -122.358 47.658, -122.358 47.653)))';
SELECT @g.STNumPoints();
C. 返回 CompoundCurve 中的点数
以下示例返回 CompoundCurve 实例中的点数。 由于 STNumPoints() 只对线段之间的连接点计数一次,因此查询将返回 5,而不是 6。
DECLARE @g geography = 'COMPOUNDCURVE(CIRCULARSTRING(-122.358 47.653, -122.348 47.649, -122.348 47.658),( -122.348 47.658, -121.56 48.12, -122.358 47.653))'
SELECT @g.STNumPoints();