STNumPoints (тип данных geography)
Возвращает общее количество точек в каждой из фигур в экземпляре 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();
Б.Получение общего количества точек в объекте 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();