Not
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Gäller för:SQL Server
Azure SQL Database
Azure SQL Managed Instance
SQL-databas i Microsoft Fabric
Returnerar en polygonal uppskattning av en geometriinstans som innehåller cirkulära bågsegment.
Syntax
.STCurveToLine ( )
Returtyper
SQL Server-returtyp: geometri
CLR-returtyp: SqlGeometry
Remarks
Returnerar en tom GeometryCollection-instans för tomma geometriinstansvariabler och returnerar NULL för ennitialiserade geometrivariabler.
Den polygonala uppskattning som metoden returnerar beror på den geometriinstans som du använder för att anropa metoden:
Returnerar en LineString-instans för en CircularString - eller CompoundCurve-instans .
Returnerar en Polygon-instans för en CurvePolygon-instans .
Returnerar en kopia av geometriinstansen om den instansen inte är en CircularString-, CompoundCurve- eller CurvePolygon-instans . Metoden returnerar till exempel
STCurveToLineen punktinstans för en geometriinstans som är en Point-instans .
Till skillnad från SQL/MM-specifikationen STCurveToLine använder metoden inte z-koordinatvärden för att beräkna polygonal uppskattning. Metoden ignorerar alla z-koordinatvärden som finns i den anropande geometriinstansen .
Examples
A. Använda en onitialiserad geometrivariabel och tom instans
I följande exempel använder den första SELECT-instruktionen en onitialiserad geometriinstans för att anropa STCurveToLine metoden, och den andra SELECT-instruktionen använder en tom geometriinstans . Metoden returnerar alltså NULL till den första instruktionen och en GeometryCollection-samling till den andra instruktionen.
DECLARE @g geometry;
SET @g = @g.STCurveToLine();
SELECT @g.STGeometryType();
SET @g = geometry::Parse('LINESTRING EMPTY');
SELECT @g.STGeometryType();
B. Använda en LineString-instans
SELECT-instruktionen i följande exempel använder en LineString-instans för att anropa metoden STCurveToLine. Metoden returnerar därför en LineString-instans .
DECLARE @g geometry;
SET @g = geometry::Parse('LINESTRING(1 3, 5 5, 4 3, 1 3)');
SET @g = @g.STCurveToLine();
SELECT @g.STGeometryType();
C. Använda en CircularString-instans
Den första SELECT-instruktionen i följande exempel använder en CircularString-instans för att anropa metoden STCurveToLine. Metoden returnerar därför en LineString-instans . Den här SELECT-instruktionen jämför också längden på de två instanserna, som är ungefär desamma. Slutligen returnerar den andra SELECT-instruktionen antalet punkter för varje instans. Den returnerar endast 5 punkter för CircularString-instansen , men 65 poäng för LineString-instansen .
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. Använda en CurvePolygon-instans
SELECT-instruktionen i följande exempel använder en CurvePolygon-instans för att anropa metoden STCurveToLine. Metoden returnerar därför en Polygon-instans .
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];
Se även
översikt över spatiala datatyper
STLength (geometridatatyp)
STNumPoints (geometridatatyp)
STGeometryType (datatyp för geometri)