MakeValid (tipo di dati geometry)
Si applica a: SQL Server
database SQL di Azure Istanza gestita di SQL di Azure
Converte un'istanza geometry non valida in un'istanza geometry con un tipo OGC (Open Geospatial Consortium) valido.
Sintassi
.MakeValid ()
Nota
Per visualizzare la sintassi Transact-SQL per SQL Server 2014 (12.x) e versioni precedenti, vedere Documentazione delle versioni precedenti.
Tipi restituiti
Tipo SQL Server restituito: geometry
Tipo CLR restituito: SqlGeometry
Osservazioni:
Questo metodo può provocare una modifica nel tipo dell'istanza geometry, nonché provocare un leggero spostamento dei punti di un'istanza geometry.
Esempi
Nel primo esempio viene creata un'istanza LineString
non valida che si sovrappone e viene utilizzato STIsValid()
per confermare che tale istanza non è valida. Tramite STIsValid()
viene restituito il valore 0 per un'istanza non valida.
DECLARE @g geometry;
SET @g = geometry::STGeomFromText('LINESTRING(0 2, 1 1, 1 0, 1 1, 2 2)', 0);
SELECT @g.STIsValid();
Nel secondo esempio viene utilizzato MakeValid()
per rendere valida l'istanza e per verificarne l'effettiva validità. Tramite STIsValid()
viene restituito il valore 1 per un'istanza valida.
SET @g = @g.MakeValid();
SELECT @g.STIsValid();
Nel terzo esempio viene verificato il modo in cui l'istanza è stata modificata per renderla valida.
SELECT @g.ToString();
In questo esempio, quando l'istanza LineString
è selezionata, i valori vengono restituiti come un'istanza MultiLineString
valida.
MULTILINESTRING ((0 2, 1 1, 2 2), (1 1, 1 0))
Nell'esempio seguente viene convertita un'istanza CircularString in un'istanza Point.
DECLARE @g geometry = 'CIRCULARSTRING(1 1, 1 1, 1 1)';
SELECT @g.MakeValid().ToString();
Vedi anche
STIsValid (tipo di dati geometry)
Metodi estesi sulle istanze di geometria