STNumPoints (tipo de dados geography)
Retorna o número total de pontos em cada uma das figuras em uma instância de geography.
Sintaxe
.STNumPoints ( )
Tipos de retorno
SQL Server tipo de retorno: int
Tipo de retorno CLR: SqlInt32
Comentários
Esse método conta os pontos na descrição de uma instância de geography. Pontos duplicados são contados. No entanto, os pontos de conexão entre segmentos são contados apenas uma vez. Se a instância for uma coleção, esse método retornará o número total de pontos em cada um dos elementos da coleção.
Exemplos
A.Recuperando o número total de pontos em um LineString
O exemplo a seguir cria uma instância de LineString e usa STNumPoints() para determinar quantos pontos foram usados na descrição da instância.
DECLARE @g geography;
SET @g = geography::STGeomFromText('LINESTRING(-122.360 47.656, -122.343 47.656)', 4326);
SELECT @g.STNumPoints();
B.Recuperando o número total de pontos em um GeometryCollection
O exemplo a seguir retorna uma soma dos pontos de todos os elementos no 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.Retornando o número de pontos em um CompoundCurve
O exemplo a seguir retorna o número de pontos em uma instância de CompoundCurve. A consulta retorna 5 em vez de 6 porque STNumPoints() conta o ponto de conexão entre os segmentos apenas uma vez.
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();