Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Возвращает кривую, указанную в экземпляре 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 возвращается при возникновении следующих условий.
Экземпляр geography объявлен, но не создан
Экземпляр geography пуст
Значение n превышает число кривых в экземпляре geography (см. раздел STNumCurves (тип данных geography)
Неравенство размерности экземпляра geography (См. раздел Метод STDimension (тип данных geography)
Примеры
А.Применение метода 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