Aracılığıyla paylaş


STCurveN (coğrafya Veri Türü)

Şunlar için geçerlidir:SQL ServerAzure SQL VeritabanıAzure SQL Yönetilen ÖrneğiMicrosoft Fabric'te SQL veritabanı

LineString, CircularString veya CompoundCurve olan bir coğrafya örneğinden belirtilen eğriyi döndürür.

Syntax

  
.STCurveN( n )  

Arguments

n
1 ile coğrafya örneğindeki eğrilerin sayısı arasında bir int ifadesidir.

Dönüş Türleri

SQL Server dönüş türü: coğrafya

CLR dönüş türü: SqlGeography

Exceptions

n < 1 ise argumentOutOfRangeException oluşturulur.

Remarks

Aşağıdaki ölçütler oluştuğunda NULL döndürülür.

Examples

A. Bir CircularString üzerinde STCurveN() kullanma

Aşağıdaki örnek, bir CircularString örneğindeki ikinci eğriyi döndürür:

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

Örnek döndürür.

CIRCULARSTRING (-122.348 47.658, -122.358 47.658, -122.358 47.653)

B. Bir CompoundCurve üzerinde STCurveN() Kullanma

Aşağıdaki örnek, bir CompoundCurve örneğindeki ikinci eğriyi döndürür:

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

Örnek döndürür.

CIRCULARSTRING (-122.348 47.658, -122.358 47.658, -122.358 47.653)

C. Üç CircularString Içeren Bir CompoundCurve Üzerinde STCurveN() Kullanma

Aşağıdaki örnek, üç ayrı CircularString örneğini önceki örnekle aynı eğri dizisinde birleştiren bir CompoundCurve örneği kullanır:

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

Örnek döndürür.

CIRCULARSTRING (-122.348 47.658, -122.358 47.658, -122.358 47.653)

STCurveN() kullanılan Well-Known Metin (WKT) biçiminden bağımsız olarak aynı sonuçları döndürür.

D. STCurve() Çağrılmadan Önce Geçerlilik Testi

Aşağıdaki örnek, STCurveN() yöntemini çağırmadan önce n değerinin geçerli olduğundan nasıl emin olunduğunu gösterir:

 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

Ayrıca Bkz.

Coğrafya Örneklerinde OGC Yöntemleri