Share via


IsValidDetailed (tipo di dati geometry)

Si applica a:SQL Server database SQL di Azure Istanza gestita di SQL di Azure

Restituisce un messaggio che aiuta a identificare i problemi con un oggetto spaziale non valido. Quando l'oggetto non è valido, viene restituito solo il primo errore. Quando l'oggetto è valido, viene restituito il valore 24400.

Sintassi

  
.IsValidDetailed()  

Nota

Per visualizzare la sintassi Transact-SQL per SQL Server 2014 (12.x) e versioni precedenti, vedere la documentazione delle versioni precedenti.

Tipi restituiti

Tipo SQL Server restituito: nvarchar(max)

Tipo CLR restituito: string

Osservazioni:

Nella tabella seguente sono elencati i valori restituiti possibili:

Valore restituito Descrizione
24400 Valido
24401 Non valido, motivo sconosciuto.
24402 Non valido perché il punto {0} è un punto isolato, che non è valido in questo tipo di oggetto.
24403 Non valido perché vi sono coppie di bordi del poligono che si sovrappongono.
24404 Non valido perché l'anello del poligono {0} interseca se stesso o un altro anello.
24405 Non valido perché una parte dell'anello del poligono interseca se stessa o un altro anello.
24406 Non valido perché la curva {0} degenera in un punto.
24407 Non valido perché l'anello del poligono {0} si comprime in una linea nel punto {1}.
24408 Non valido perché l'anello del poligono {0} non è chiuso.
24409 Non valido perché una parte dell'anello del poligono {0} si trova all'interno di un poligono.
24410 Non valido perché l'anello {0} è il primo anello in un poligono di cui non costituisce l'anello esterno.
24411 Non valido perché l'anello {0} si trova al di fuori dell'anello esterno {1} del relativo poligono.
24412 Non valido perché l'interno di un poligono con gli anelli {0} e {1} non è connesso.
24413 Non valido a causa di due bordi sovrapposti nella curva {0}.
24414 Non valido perché un bordo della curva {0} si sovrappone a un bordo della curva {1}.
24415 Non valido perché in qualche poligono è presente una struttura dell'anello non valida.
24416 Non valido perché nella curva {0} il bordo che inizia al punto {1} è una linea o un arco degenerato con estremità diametralmente opposte.

Esempi

L'esempio seguente di oggetto spaziale non valido illustra il comportamento del metodo IsValidDetailed().

DECLARE @p GEOMETRY = 'Polygon((2 2, 4 4, 4 2, 2 4, 2 2))'  
SELECT @p.IsValidDetailed()  
--Returns: 24404: Not valid because polygon ring (1) intersects itself or some other ring.  

Vedi anche

Metodi estesi sulle istanze di geometria