STCurveN (тип данных geography)

Возвращает кривую, указанную в экземпляре geography, который является LineString, CircularString или CompoundCurve.

Применимо для следующих объектов: SQL Server (SQL Server 2012 по текущую версию), База данных SQL Windows Azure (С первоначального выпуска по текущий выпуск).

Синтаксис

.STCurveN( n )

Аргументы

  • n
    Выражение типа int, имеющее значение от 1 до числа кривых в экземпляре geography.

Типы возвращаемых данных

Возвращаемый тип SQL Server: geography

Возвращаемый тип CLR: SqlGeography

Исключения

Если n < 1, то выдается исключение ArgumentOutOfRangeException.

Замечания

Значение NULL возвращается при возникновении следующих условий.

Примеры

А.Применение метода STCurveN() к объекту CircularString

Следующий пример возвращает вторую кривую в экземпляре CircularString:

DECLARE @g geography = 'CIRCULARSTRING(-122.358 47.653, -122.348 47.649, -122.348 47.658, -122.358 47.658, -122.358 47.653)';

SELECT @g.STCurveN(2).ToString();

Пример возвращает управление.

CIRCULARSTRING (-122.348 47.658, -122.358 47.658, -122.358 47.653)

Б.Применение метода STCurveN() к объекту CompoundCurve

Следующий пример возвращает вторую кривую в экземпляре CompoundCurve:

DECLARE @g geography = 'COMPOUNDCURVE(CIRCULARSTRING(-122.358 47.653, -122.348 47.649, -122.348 47.658, -122.358 47.658, -122.358 47.653))';

SELECT @g.STCurveN(2).ToString();

Пример возвращает управление.

CIRCULARSTRING (-122.348 47.658, -122.358 47.658, -122.358 47.653)

В.Применение метода STCurveN() к объекту CompoundCurve, содержащему три объекта CircularString

Следующий пример использует экземпляр CompoundCurve, который сочетает три отдельных экземпляра CircularString в одной последовательности кривых, как в предыдущем примере:

DECLARE @g geography = 'COMPOUNDCURVE (CIRCULARSTRING (-122.358 47.653, -122.348 47.649, -122.348 47.658), CIRCULARSTRING(-122.348 47.658, -122.358 47.658, -122.358 47.653))';

SELECT @g.STCurveN(2).ToString();

Пример возвращает управление.

CIRCULARSTRING (-122.348 47.658, -122.358 47.658, -122.358 47.653)

STCurveN() возвращает одинаковые результаты независимо от используемого формата Well-Known Text (WKT).

Г.Проверка допустимости перед вызовом метода STCurve()

В следующем примере показано, как проверить допустимость n перед вызовом метода STCurveN() :

DECLARE @g geography;

DECLARE @n int;

SET @n = 2;

SET @g = geography::Parse('LINESTRING(-122.358 47.653, -122.348 47.649, -122.348 47.658, -122.358 47.658, -122.358 47.653)');

IF @n >= 1 AND @n <= @g.STNumCurves()

BEGIN

SELECT @g.STCurveN(@n).ToString();

END

См. также

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

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