STNumPoints (тип данных geography)
Область применения: SQL Server
База данных SQL Azure
Управляемый экземпляр SQL Azure
базе данных SQL в Microsoft Fabric
Возвращает общее количество точек в каждой из фигур в экземпляре geography.
Синтаксис
.STNumPoints ( )
Типы возвращаемых данных
Тип возвращаемого значения SQL Server: int
Тип возвращаемых данных CLR: SqlInt32
Замечания
Этот метод подсчитывает число точек в описании экземпляра geography. Повторяющиеся точки учитываются, однако соединение точек между сегментами учитывается только один раз. Если экземпляр является коллекцией, этот метод возвращает общее количество точек в каждом из элементов коллекции.
Примеры
А. Получение общего количества точек в объекте 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();
В. Возврат числа точек в объекте CompoundCurve
В следующем примере возвращается число точек в экземпляре CompoundCurve. Запрос возвращает 5 вместо 6, так как функция STNumPoints() учитывает точку соединения между сегментами только один раз.
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();