CurveToLineWithTolerance (tipo di dati geography)
Si applica a:SQL Server database SQL di Azure Istanza gestita di SQL di Azure
Restituisce un'approssimazione poligonale di un'istanza geography contenente segmenti di arco circolare.
Sintassi
.CurveToLineWithTolerance( tolerance, relative )
Nota
Per visualizzare la sintassi Transact-SQL per SQL Server 2014 (12.x) e versioni precedenti, vedere la documentazione delle versioni precedenti.
Argomenti
tolerance
Espressione double che definisce l'errore massimo tra il segmento di arco circolare originale e l'approssimazione lineare.
relative
Espressione bool che indica se usare un valore massimo relativo per la deviazione. Se relative è false (0), viene impostato un valore massimo assoluto per la deviazione che può presentare un'approssimazione lineare. Se relative è true (1), la tolleranza e viene calcolata come prodotto tra il parametro tolerance per il diametro del rettangolo di selezione per l'oggetto spaziale.
Tipi restituiti
Tipo SQL Server restituito: geography
Tipo CLR restituito: SqlGeography
Eccezioni
L'impostazione di tolerance <= 0 genera un'eccezione ArgumentOutOfRange.
Osservazioni:
Questo metodo consente di specificare la tolleranza di errore per l'istanza LineString risultante.
Il metodo CurveToLineWithTolerance restituisce un'istanza LineString per un'istanza CircularString o CompoundCurve e un'istanza Polygon per un'istanza CurvePolygon.
Esempi
R. Utilizzo di valori di tolleranza diversi in un'istanza CircularString
L'esempio seguente illustra l'impatto dell'impostazione della tolleranza sull'istanza LineString
restituita da un'istanza 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. Utilizzo del metodo in un'istanza MultiLineString che contiene un'istanza LineString
Nell'esempio seguente viene illustrato ciò che viene restituito da un'istanza MultiLineString
che contiene una sola istanza 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. Utilizzo del metodo in un'istanza MultiLineString che contiene più istanze LineString
Nell'esempio seguente viene illustrato ciò che viene restituito da un'istanza MultiLineString
che contiene più di un'istanza 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. Impostazione del parametro relative su true per un'istanza CurvePolygon di chiamata
Nell'esempio seguente viene usata un'istanza CurvePolygon
per chiamare CurveToLineWithTolerance()
con relative impostato su 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();
Vedi anche
Commenti e suggerimenti
https://aka.ms/ContentUserFeedback.
Presto disponibile: Nel corso del 2024 verranno gradualmente disattivati i problemi di GitHub come meccanismo di feedback per il contenuto e ciò verrà sostituito con un nuovo sistema di feedback. Per altre informazioni, vedereInvia e visualizza il feedback per