STCurveN (тип данных geometry)
Применяется к:SQL Server База данных SQL Azure Управляемый экземпляр SQL Azure Управляемый экземпляр SQL Azure sql analytics в хранилище Microsoft Fabricв Microsoft Fabric
Возвращает кривую, указанную в экземпляре geometry типа LineString, CircularString, CompoundCurve или MultiLineString.
Синтаксис
.STCurveN ( curve_index )
Примечание.
Сведения о синтаксисе Transact-SQL для SQL Server 2014 (12.x) и более ранних версиях см . в документации по предыдущим версиям.
Аргументы
curve_index
Выражение типа int от 1 до количества кривых в экземпляре geometry.
Типы возвращаемых данных
Тип возвращаемых данных SQL Server: geometry
Тип возвращаемых данных CLR: SqlGeometry
Исключения
Если curve_index < 1, вызывается исключение ArgumentOutOfRangeException
.
Замечания
Значение NULL возвращается при выполнении любого из указанных ниже условий.
Экземпляр geometry объявлен, но не создан.
Экземпляр geometry является пустым.
curve_index превышает число кривых в экземпляре geometry.
Экземпляр geometry относится к типу Point, MultiPoint, Polygon, CurvePolygon или MultiPolygon.
Примеры
А. Применение STCurveN() к экземпляру CircularString
Следующий пример возвращает вторую кривую в экземпляре CircularString
:
DECLARE @g geometry = 'CIRCULARSTRING(0 0, 1 2.1082, 3 6.3246, 0 7, -3 6.3246, -1 2.1082, 0 0)';
SELECT @g.STCurveN(2).ToString();
Приведенный ранее в этом разделе пример возвращает:
CIRCULARSTRING (3 6.3246, 0 7, -3 6.3246)
B. Применение STCurveN() к экземпляру CompoundCurve с одним экземпляром CircularString
Следующий пример возвращает вторую кривую в экземпляре CompoundCurve
:
DECLARE @g geometry = 'COMPOUNDCURVE(CIRCULARSTRING(0 0, 1 2.1082, 3 6.3246, 0 7, -3 6.3246, -1 2.1082, 0 0))';
SELECT @g.STCurveN(2).ToString();
Приведенный ранее в этом разделе пример возвращает:
CIRCULARSTRING (3 6.3246, 0 7, -3 6.3246)
C. Применение STCurveN() к экземпляру CompoundCurve с тремя экземплярами CircularString
Следующий пример использует экземпляр CompoundCurve
, который сочетает три отдельных экземпляра CircularString
в одной последовательности кривых, как в предыдущем примере:
DECLARE @g geometry = 'COMPOUNDCURVE (CIRCULARSTRING (0 0, 1 2.1082, 3 6.3246), CIRCULARSTRING(3 6.3246, 0 7, -3 6.3246), CIRCULARSTRING(-3 6.3246, -1 2.1082, 0 0))';
SELECT @g.STCurveN(2).ToString();
Приведенный ранее в этом разделе пример возвращает:
CIRCULARSTRING (3 6.3246, 0 7, -3 6.3246)
Обратите внимание, что результаты во всех трех предыдущих примерах совпадают. Какой бы формат WKT (Well-known Text) ни использовался для ввода одной и той же последовательности кривой, результаты, возвращаемые STCurveN()
при использовании экземпляра CompoundCurve
, будут совпадать.
D. Проверка параметра перед вызовом STCurveN()
В приведенном ниже примере показано, как проверить допустимость @n
перед вызовом метода STCurveN()
.
DECLARE @g geometry;
DECLARE @n int;
SET @n = 3;
SET @g = geometry::Parse('CIRCULARSTRING(0 0, 1 2.1082, 3 6.3246, 0 7, -3 6.3246, -1 2.1082, 0 0)');
IF @n >= 1 AND @n <= @g.STNumCurves()
BEGIN
SELECT @g.STCurveN(@n).ToString();
END
См. также
STNumCurves (тип данных geometry)
Методы OGC в экземплярах Geometry
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по