Partager via


CurveToLineWithTolerance (type de données geography)

Retourne une approximation polygonale d'une instance geography qui contient des segments d'arc de cercle.

Syntaxe

.CurveToLineWithTolerance( tolerance, relative )

Arguments

  • tolerance
    Expression double qui définit l'erreur maximale entre le segment d'arc de cercle d'origine et son approximation linéaire.

  • relative
    Expression bool qui indique s'il faut utiliser une valeur maximale relative pour l'écart. Lorsque la valeur relative est définie sur False (0), une valeur maximale absolue est définie pour l'écart d'une approximation linéaire. Si la valeur relative est True (1), la tolérance est calculée sous la forme d'un produit du paramètre de tolérance et du diamètre du rectangle englobant pour l'objet spatial.

Types de retour

SQL Server type de retour : geography

Type de retour CLR : SqlGeography

Exceptions

La définition d'une tolérance <= 0 lève une exception ArgumentOutOfRange.

Notes

Cette méthode peut spécifier une valeur de tolérance d'erreur pour le LineString obtenu.

La méthode CurveToLineWithTolerance retourne une instance LineString pour une instance CircularString ou CompoundCurve et une instance Polygon pour une instance CurvePolygon.

Exemples

A.Utilisation de valeurs de tolérance différentes sur une instance CircularString

L'exemple suivant montre comment la définition de la tolérance affecte l'instance LineString retournée d'une instance CircularString :

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.Utilisation de la méthode sur une instance MultiLineString qui contient un LineString

L'exemple suivant montre ce qui est retourné d'une instance MultiLineString qui contient uniquement une instance LineString :

DECLARE @g geography;

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

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

C.Utilisation de la méthode sur une instance MultiLineString qui contient plusieurs LineStrings

L'exemple suivant montre ce qui est retourné d'une instance MultiLineString qui contient plusieurs instances LineString :

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.Définition d'une valeur relative sur True pour appeler une instance CurvePolygon

L'exemple suivant utilise une instance CurvePolygon pour appeler CurveToLineWithTolerance() avec relative défini avec la valeur True :

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

Voir aussi

Autres ressources

Méthodes étendues sur les instances géographiques