Freigeben über


CurveToLineWithTolerance (geography-Datentyp)

Gibt eine polygonale Näherung einer Instanz von geography mit Kreisbogensegmenten zurück.

Syntax

.CurveToLineWithTolerance( tolerance, relative )

Argumente

  • tolerance
    Ein double-Ausdruck, der die maximalen Fehler zwischen dem ursprünglichen Kreisbogensegment und der linearen Näherung definiert.

  • relative
    Ein bool-Ausdruck, der angibt, ob ein relatives Maximum für die Abweichung verwendet werden soll. Wenn der relativer Wert auf false (0) festgelegt wird, wird ein absolutes Maximum für die Abweichung verwendet, die eine lineare Näherung aufweisen kann. Wenn der relative Wert auf true (1) festgelegt wird, wird die Toleranz als Produkt des tolerance-Parameters und des Durchmessers des Begrenzungsrahmens für das räumliche Objekt berechnet.

Rückgabetypen

SQL Server Rückgabetyp: geography

CLR-Rückgabetyp: SqlGeography

Ausnahmen

Wenn Sie die Toleranz auf <= 0 festlegen, wird eine ArgumentOutOfRange-Ausnahme ausgelöst.

Hinweise

Mit dieser Methode kann ein Umfang für die Fehlertoleranz in der resultierenden LineString angegeben werden.

Die CurveToLineWithTolerance-Methode gibt eine LineString-Instanz für eine CircularString oder eine CompoundCurve-Instanz und eine Polygon-Instanz für eine CurvePolygon-Instanz zurück.

Beispiele

A.Verwenden verschiedener Toleranzwerte in einer CircularString-Instanz

Im folgenden Beispiel wird gezeigt, wie sich das Festlegen der Toleranz auf eine Instanz von LineString auswirkt, die von einer Instanz von CircularString zurückgegeben wird:

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.Verwenden der Methode in einer MultiLineString-Instanz mit einem LineString

Im folgenden Beispiel wird die Rückgabe einer Instanz von MultiLineString gezeigt, die nur eine LineString-Instanz enthält:

DECLARE @g geography;

SET @g = geography::Parse('MULTILINESTRING((-122.358 47.653, -122.348 47.649))');

SELECT @g.CurveToLineWithTolerance(0.1,0).ToString();

C.Verwenden der Methode in einer MultiLineString-Instanz mit mehreren LineStrings

Im folgenden Beispiel wird die Rückgabe einer Instanz von MultiLineString gezeigt, die mehrere LineString-Instanzen enthält:

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.Festlegen des relativen Werts für eine aufrufende CurvePolygon-Instanz auf true

Im folgenden Beispiel wird eine Instanz von CurvePolygon verwendet, um CurveToLineWithTolerance() mit relative und dem Wert true aufzurufen:

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();

Siehe auch

Andere Ressourcen

Erweiterte Methoden für geography-Instanzen