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


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

Область применения: SQL Server База данных SQL Azure Управляемый экземпляр SQL Azure

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

Синтаксис

  
.STCurveN( n )  

Примечание.

Сведения о синтаксисе Transact-SQL для SQL Server 2014 (12.x) и более ранних версиях см . в документации по предыдущим версиям.

Аргументы

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)

B. Применение метода 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)

C. Применение метода 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).

D. Проверка допустимости перед вызовом метода 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 в экземплярах Geography