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


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

Применимо к:SQL ServerБаза данных SQL AzureУправляемый экземпляр SQL AzureБаза данных SQL в Microsoft Fabric

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

Syntax

  
.STCurveN( n )  

Arguments

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

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

Тип возвращаемого значения SQL Server: geography

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

Exceptions

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

Remarks

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

Examples

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