STNumPoints(geography 数据类型)

返回 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();

请参阅

其他资源

地域实例上的 OGC 方法