Bagikan melalui


STCurveToLine (Tipe Data geometri)

Berlaku untuk: SQL ServerAzure SQL Database Azure SQL Managed Instance

Mengembalikan perkiraan poligonal dari instans geometri yang berisi segmen busur melingkar.

Sintaksis

  
.STCurveToLine ( )  

Catatan

Untuk melihat sintaks Transact-SQL untuk SQL Server 2014 (12.x) dan versi yang lebih lama, lihat Dokumentasi versi sebelumnya.

Jenis Kembalian

Jenis pengembalian SQL Server: geometri

Jenis pengembalian CLR: SqlGeometry

Keterangan

Mengembalikan instans GeometryCollection kosong untuk variabel instans geometri kosong, dan mengembalikan NULL untuk variabel geometri yang tidak diinisialisasi.

Perkiraan poligonal yang dikembalikan metode tergantung pada instans geometri yang Anda gunakan untuk memanggil metode :

  • Mengembalikan instans LineString untuk instans CircularString atau CompoundCurve.

  • Mengembalikan instans Polygon untuk instans CurvePolygon.

  • Mengembalikan salinan instans geometri jika instans tersebut bukan instans CircularString, CompoundCurve, atau CurvePolygon. Misalnya, STCurveToLine metode mengembalikan instans Point untuk instans geometri yang merupakan instans Point.

Tidak seperti spesifikasi SQL/MM, STCurveToLine metode ini tidak menggunakan nilai koordinat z untuk menghitung perkiraan poligonal. Metode ini mengabaikan nilai z-coordinate yang ada dalam instans geometri panggilan.

Contoh

J. Menggunakan Variabel Geometri yang Tidak Diinisialisasi dan Instans Kosong

Dalam contoh berikut, pernyataan SELECT pertama menggunakan instans geometri yang tidak diinisialisasi untuk memanggil STCurveToLine metode, dan pernyataan SELECT kedua menggunakan instans geometri kosong. Dengan demikian, metode mengembalikan NULL ke pernyataan pertama dan koleksi GeometryCollection ke pernyataan kedua.

 DECLARE @g geometry; 
 SET @g = @g.STCurveToLine(); 
 SELECT @g.STGeometryType(); 
 SET @g = geometry::Parse('LINESTRING EMPTY'); 
 SELECT @g.STGeometryType();

B. Menggunakan Instans LineString

Pernyataan SELECT dalam contoh berikut menggunakan instans LineString untuk memanggil metode STCurveToLine. Dengan demikian, metode mengembalikan instans LineString .

 DECLARE @g geometry; 
 SET @g = geometry::Parse('LINESTRING(1 3, 5 5, 4 3, 1 3)'); 
 SET @g = @g.STCurveToLine(); 
 SELECT @g.STGeometryType();

C. Menggunakan Instans CircularString

Pernyataan SELECT pertama dalam contoh berikut menggunakan instans CircularString untuk memanggil metode STCurveToLine. Dengan demikian, metode mengembalikan instans LineString . Pernyataan SELECT ini juga membandingkan panjang dua instans, yang kira-kira sama. Terakhir, pernyataan SELECT kedua mengembalikan jumlah poin untuk setiap instans. Ini hanya mengembalikan 5 poin untuk instans CircularString , tetapi 65 poin untuk instans LineString.

 DECLARE @g1 geometry, @g2 geometry; 
 SET @g1 = geometry::Parse('CIRCULARSTRING(10 0, 0 10, -10 0, 0 -10, 10 0)'); 
 SET @g2 = @g1.STCurveToLine(); 
 SELECT @g1.STGeometryType() AS [G1 Type], @g2.STGeometryType() AS [G2 Type], @g1.STLength() AS [G1 Perimeter], @g2.STLength() AS [G2 Perimeter], @g2.ToString() AS [G2 Def]; 
 SELECT @g1.STNumPoints(), @g2.STNumPoints();

D. Menggunakan Instans CurvePolygon

Pernyataan SELECT dalam contoh berikut menggunakan instans CurvePolygon untuk memanggil metode STCurveToLine. Dengan demikian, metode mengembalikan instans Polygon .

 DECLARE @g1 geometry, @g2 geometry; 
 SET @g1 = geometry::Parse('CURVEPOLYGON(CIRCULARSTRING(10 0, 0 10, -10 0, 0 -10, 10 0))'); 
 SET @g2 = @g1.STCurveToLine(); 
 SELECT @g1.STGeometryType() AS [G1 Type], @g2.STGeometryType() AS [G2 Type];

Lihat Juga

Gambaran Umum Tipe Data Spasial
STLength (Jenis Data geometri)
STNumPoints (Tipe Data geometri)
STGeometryType (Jenis Data geometri)