STNumPoints (tipo de dados geography)
Aplica-se a: SQL Server Banco de Dados SQL do Azure Instância Gerenciada de SQL do Azure Banco de Dados SQL no Microsoft Fabric
Retorna o número total de pontos em cada uma das figuras em uma instância de geography.
Sintaxe
.STNumPoints ( )
Tipos de retorno
Tipo de retorno do SQL Server: int
Tipo de retorno do 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 na coleção.
Exemplos
a. Recuperando o número total de pontos em um LineString
O exemplo a seguir cria uma instância 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();