Bagikan melalui


STCurveN (Jenis Data geometri)

Berlaku untuk:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceDatabase SQL di Microsoft Fabric

Mengembalikan kurva yang ditentukan dari instans geometri yang merupakan LineString, CircularString, CompoundCurve, atau MultiLineString.

Syntax

  
.STCurveN ( curve_index )  

Arguments

curve_index
Adalah ekspresi int antara 1 dan jumlah kurva dalam instans geometri.

Jenis Kembalian

Jenis pengembalian SQL Server: geometri

Jenis pengembalian CLR: SqlGeometry

Exceptions

Jika curve_index< 1 maka akan ArgumentOutOfRangeException dilemparkan.

Remarks

NULL dikembalikan ketika salah satu hal berikut ini terjadi:

  • instans geometri dideklarasikan, tetapi tidak dibuat instans

  • instans geometri kosong

  • curve_index melebihi jumlah kurva dalam instans geometri

  • instans geometri adalah Point, MultiPoint, Polygon, CurvePolygon, atau MultiPolygon

Examples

A. Menggunakan STCurveN() pada instans CircularString

Contoh berikut mengembalikan kurva kedua dalam instans 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();

Contoh sebelumnya dalam topik ini mengembalikan:

CIRCULARSTRING (3 6.3246, 0 7, -3 6.3246)

B. Menggunakan STCurveN() pada instans CompoundCurve dengan satu instans CircularString

Contoh berikut mengembalikan kurva kedua dalam instans 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();

Contoh sebelumnya dalam topik ini mengembalikan:

CIRCULARSTRING (3 6.3246, 0 7, -3 6.3246)

C. Menggunakan STCurveN() pada instans CompoundCurve dengan tiga instans CircularString

Contoh berikut menggunakan instans CompoundCurve yang menggabungkan tiga instans terpisah CircularString ke dalam urutan kurva yang sama dengan contoh sebelumnya:

 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();

Contoh sebelumnya dalam topik ini mengembalikan:

CIRCULARSTRING (3 6.3246, 0 7, -3 6.3246)

Perhatikan bahwa hasilnya sama untuk tiga contoh sebelumnya. Format WKT (Teks Terkenal) mana pun yang digunakan untuk memasukkan urutan kurva yang sama, hasil yang dikembalikan oleh STCurveN() sama ketika CompoundCurve instans digunakan.

D. Memvalidasi parameter sebelum memanggil STCurveN()

Contoh berikut menunjukkan cara memastikan @n valid sebelum Anda memanggil STCurveN()metode :

 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

Lihat Juga

STNumCurves (Jenis Data geometri)
Metode OGC pada Instans Geometri