STCurveN (coğrafi konum veri türü)
Belirtilen eğri döndüren bir geographyyani örnek bir LineString, CircularString, ya CompoundCurve.
Sözdizimi
.STCurveN( n )
Bağımsız değişkenler
- n
Olan bir intEğriler sayısı ile 1 arasında ifade geographyörneği.
Dönüş Türleri
SQL Server dönüş türü: geography
clr döndürme türü:SqlGeography
Kural dışı durumlar
Eğer n < 1sonra bir ArgumentOutOfRangeExceptionatılır.
Açıklamalar
NULLne zaman döndürülen aşağıdaki ölçütleri oluşur.
geographyÖrnek olarak bildirilmiş, ancak değil örneği
geographyÖrneği boş
nEğriler aşıyor geographyörneği (bkz:STNumCurves (coğrafi konum veri türü)
Boyut için geographyörneği eşit değildir (bkz:STDimension (coğrafi konum veri türü)
Örnekler
A.STCurveN() bir CircularString üzerinde kullanma
Aşağıdaki örnek verir ikinci eğri bir CircularStringörneği:
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 verir.
CIRCULARSTRING (-122.348 47.658, -122.358 47.658, -122.358 47.653)
B.STCurveN() bir CompoundCurve üzerinde kullanma
Aşağıdaki örnek verir ikinci eğri bir CompoundCurveörneği:
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 verir.
CIRCULARSTRING (-122.348 47.658, -122.358 47.658, -122.358 47.653)
C.STCurveN() üç CircularStrings içeren bir CompoundCurve üzerinde kullanma
Aşağıdaki örnek bir CompoundCurve, üç ayrı birleştiren örnek CircularStringaynı örneklerini eğri sırası önceki örnek olarak:
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 verir.
CIRCULARSTRING (-122.348 47.658, -122.358 47.658, -122.358 47.653)
STCurveN()kullanılan tanınmış metin (wkt) biçimine bakılmaksızın aynı sonuçları döndürür.
D.STCurve() çağırmadan önce için geçerlilik sınaması
Aşağıdaki örnek emin olun gösterilmiştir naramadan önce geçerli olan STCurveN() yöntemi:
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