STNumPoints(geography 数据类型)

适用于:SQL ServerAzure SQL 数据库Azure SQL 托管实例

返回 geography 实例的每个图形中的总点数

语法

  
.STNumPoints ( )  

注意

若要查看 SQL Server 2014 (12.x) 及更早版本的 Transact-SQL 语法,请参阅早期版本文档

返回类型

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

另请参阅

Geography 实例上的 OGC 方法