STNumPoints (geography Data Type)

Applies to: SQL Server Azure SQL Database Azure SQL Managed Instance

Returns the total number of points in each of the figures in a geography instance.

Syntax

  
.STNumPoints ( )  

Note

To view Transact-SQL syntax for SQL Server 2014 (12.x) and earlier versions, see Previous versions documentation.

Return Types

SQL Server return type: int

CLR return type: SqlInt32

Remarks

This method counts the points in the description of a geography instance. Duplicate points are counted; however, connecting points between segments are counted only once. If this instance is a collection, this method returns the total number of points in the collection.

Examples

A. Retrieving the total number of points in a LineString

The following example creates a LineString instance and uses STNumPoints() to determine how many points were used in the description of the instance.

DECLARE @g geography;  
SET @g = geography::STGeomFromText('LINESTRING(-122.360 47.656, -122.343 47.656)', 4326);  
SELECT @g.STNumPoints();  

B. Retrieving the total number of points in a GeometryCollection

The following example returns a sum of the points for all elements in the 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. Returning the number of points in a CompoundCurve

The following example returns the number of points in a CompoundCurve instance. The query returns 5 instead of 6 because STNumPoints() only counts the connecting point between the segments once.

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

See Also

OGC Methods on Geography Instances