CurveToLineWithTolerance (geografiegegevenstype)

van toepassing op:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceSQL-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();

Zie ook

Uitgebreide methoden voor geografie-exemplaren