Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
van toepassing op:SQL Server
Azure SQL Database
Azure SQL Managed Instance
SQL-database in Microsoft Fabric
Retourneert een veelhoekige benadering van een geografisch exemplaar dat cirkelvormige boogsegmenten bevat.
Syntax
.CurveToLineWithTolerance( tolerance, relative )
Arguments
tolerance
Is een dubbele expressie die de maximale fout definieert tussen het oorspronkelijke cirkelbogensegment en de lineaire benadering ervan.
relative
Is een boolexpressie die aangeeft of een relatief maximum voor de afwijking moet worden gebruikt. Als relatief onwaar (0) is, wordt een absoluut maximum ingesteld voor de afwijking die een lineaire benadering kan hebben. Wanneer relatief waar is (1), wordt de tolerantie berekend als een product van de tolerantieparameter en de diameter van het begrenzingsvak voor het ruimtelijke object.
Retourtypen
Retourtype SQL Server: geografie
CLR-retourtype: SqlGeography
Exceptions
Instellingstolerantie <= 0 genereert een ArgumentOutOfRange-uitzondering .
Remarks
Met deze methode kan een fouttolerantiehoeveelheid worden opgegeven voor de resulterende LineString.
De methode CurveToLineWithTolerance retourneert een LineString-exemplaar voor een CircularString- of CompoundCurve-exemplaar en een Polygon-exemplaar voor een CurvePolygon-exemplaar.
Examples
A. Verschillende tolerantiewaarden gebruiken in een CircularString-exemplaar
In het volgende voorbeeld ziet u hoe het instellen van de tolerantie van invloed is op het LineString exemplaar dat wordt geretourneerd door een CircularString exemplaar:
DECLARE @g geography;
SET @g = geography::Parse('CIRCULARSTRING(-122.358 47.653, -122.348 47.649, -122.348 47.658, -122.358 47.658, -122.358 47.653)');
SELECT @g.CurveToLineWithTolerance(0.1,0).STNumPoints(), @g.CurveToLineWithTolerance(0.01, 0).STNumPoints();
B. De methode gebruiken op een MultiLineString-exemplaar met één LineString
In het volgende voorbeeld ziet u wat wordt geretourneerd vanuit een MultiLineString exemplaar dat slechts één LineString exemplaar bevat:
DECLARE @g geography;
SET @g = geography::Parse('MULTILINESTRING((-122.358 47.653, -122.348 47.649))');
SELECT @g.CurveToLineWithTolerance(0.1,0).ToString();
C. De methode gebruiken op een MultiLineString-exemplaar met meerdere LineStrings
In het volgende voorbeeld ziet u wat wordt geretourneerd vanuit een MultiLineString exemplaar dat meer dan één LineString exemplaar bevat:
DECLARE @g geography;
SET @g = geography::Parse('MULTILINESTRING((-122.358 47.653, -122.348 47.649),(-123.358 47.653, -123.348 47.649))');
SELECT @g.CurveToLineWithTolerance(0.1,0).ToString();
D. Instelling ten opzichte van waar voor een aanroepend CurvePolygon-exemplaar
In het volgende voorbeeld wordt een exemplaar gebruikt om aan CurvePolygon te roepen CurveToLineWithTolerance() met een relatieve set waar:
DECLARE @g geography = 'CURVEPOLYGON(COMPOUNDCURVE(CIRCULARSTRING(-122.358 47.653, -122.348 47.649, -122.348 47.658), (-122.348 47.658, -122.358 47.658, -122.358 47.653)))';
SELECT @g.CurveToLineWithTolerance(.5,1).ToString();