Поделиться через


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

См. также

Другие ресурсы

Методы OGC, применяемые к географическим объектам