Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
platí pro:SQL Server
Azure SQL Database
Azure SQL Managed Instance
SQL databáze v Microsoft Fabric
Vrátí mnohoúhelníkovou aproximaci instance geometrie , která obsahuje kruhové obloukové segmenty.
Syntax
.STCurveToLine ( )
Návratové typy
Návratový typ SQL Serveru: geometrie
Návratový typ CLR: SqlGeometry
Remarks
Vrátí prázdnou instanci GeometryCollection pro prázdné proměnné instance geometrie a vrátí hodnotu NULL pro neinicializované proměnné geometrie .
Polygonální aproximace, kterou metoda vrací, závisí na instanci geometrie , kterou používáte k volání metody:
Vrátí instanci LineString pro CircularString nebo CompoundCurve instance.
Vrátí polygon instanci CurvePolygon instance.
Vrátí kopii instance geometrie , pokud tato instance není CircularString, CompoundCurve nebo CurvePolygon instance. Například
STCurveToLinemetoda vrátí instanci point pro instanci geometrie , která je instance Point .
Na rozdíl od specifikace STCurveToLine SQL/MM metoda nepoužívá hodnoty souřadnic z k výpočtu polygonální aproximace. Metoda ignoruje všechny hodnoty souřadnic z, které jsou přítomné v instanci volající geometrie .
Examples
A. Použití neinicializované proměnné geometrie a prázdné instance
V následujícím příkladu první příkaz SELECT používá k volání metody neinicializovanou instanci STCurveToLine a druhý příkaz SELECT používá prázdnou instanci geometrie. Proto metoda vrátí null první příkaz a GeometryCollection kolekce druhý příkaz.
DECLARE @g geometry;
SET @g = @g.STCurveToLine();
SELECT @g.STGeometryType();
SET @g = geometry::Parse('LINESTRING EMPTY');
SELECT @g.STGeometryType();
B. Použití instance LineString
Příkaz SELECT v následujícím příkladu používá LineString instance volání STCurveToLine metoda. Proto metoda vrátí LineString instance.
DECLARE @g geometry;
SET @g = geometry::Parse('LINESTRING(1 3, 5 5, 4 3, 1 3)');
SET @g = @g.STCurveToLine();
SELECT @g.STGeometryType();
C. Použití instance CircularString
První příkaz SELECT v následujícím příkladu používá k volání STCurveToLine metoda instance CircularString . Proto metoda vrátí LineString instance. Tento příkaz SELECT také porovnává délky dvou instancí, které jsou přibližně stejné. Druhý příkaz SELECT nakonec vrátí počet bodů pro každou instanci. Vrátí pouze 5 bodů pro instanci CircularString , ale 65 bodů pro instanci 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. Použití instance CurvePolygon
Příkaz SELECT v následujícím příkladu používá CurvePolygon instance volání STCurveToLine metoda. Metoda tedy vrátí instanci Mnohoúhelníku .
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];
Viz také
Přehled prostorových datových typů
STNumPoints (datový typ geometrie)
STGeometryType (datový typ geometrie)