Esecuzione di query sulle proprietà e comportamenti delle istanze di geometria
Tutte le istanze geometry hanno diverse proprietà che possono essere recuperate tramite metodi forniti da SQL Server. Negli argomenti seguenti vengono definite le proprietà e i comportamenti dei tipi di geometria, nonché i metodi per l'esecuzione di query per ognuno di essi.
Numero di punti
Tutte le istanze geometry non vuote sono costituite da punti. Questi punti rappresentano le coordinate X e Y del piano sul quale sono tracciate le geometrie. geometry fornisce diversi metodi predefiniti per l'esecuzione di una query sui punti di un'istanza.
Per restituire il numero di punti che comprendono un'istanza
Per restituire un punto specifico in un'istanza
Per restituire un punto arbitrario che si trova in un'istanza
Per restituire il punto di inizio di un'istanza
Per restituire il punto di fine di un'istanza
Per restituire la coordinata X di un'istanza Point
Per restituire la coordinata Y di un'istanza Point
Per restituire il punto centrale geometrico di un'istanza Polygon o MultiPolygon
Dimensione
Un'istanza geometry non vuota può essere a 1 o 2 dimensioni o senza dimensioni. Per le istanze geometries senza dimensioni, ad esempio Point e MultiPoint non esiste la lunghezza o l'area. Per gli oggetti unidimensionali, ad esempio LineString e MultiLineString, non esiste la lunghezza. Per le istanze bidimensionali, come ad esempio Polygon e MultiPolygon, esistono l'area e la lunghezza. Le istanze vuote riporteranno una dimensione di -1 e un GeometryCollection riporterà un'area dipendente dai tipi del contenuto.
Per restituire la dimensione di un'istanza
Per restituire la lunghezza di un'istanza
Per restituire l'area di un'istanza
Vuota
Un'istanza vuotageometry non ha punti. La lunghezza delle istanze vuote LineStringMultiLineString è zero. L'area delle istanze vuote PolygonMultiPolygon è 0.
Per determinare se un'istanza è vuota
Semplice
Affinché una geometry dell'istanza sia semplice, deve soddisfare entrambi questi requisiti:
Ogni figura dell'istanza non deve intersecarsi, salvo agli endpoint.
Le figure dell'istanza non possono intersecarsi tra di loro in un punto non esistente in entrambi i loro limiti.
[!NOTA]
Le geometrie vuote sono sempre semplici.
Per determinare se un'istanza è semplice
Limite interno ed esterno
L'interno di un'istanza geometry è lo spazio occupato dall'istanza e l'esterno è lo spazio non occupato da essa.
Il limite è definito da OGC come segue:
Le istanze Point e MultiPoint non hanno un limite.
I limiti LineString e MultiLineString sono formati dai punti di inizio e di fine, rimuovendo quelli che si hanno per un numero di volte pari.
DECLARE @g geometry;
SET @g = geometry::Parse('MULTILINESTRING((0 1, 0 0, 1 0, 0 1), (1 1, 1 0))');
SELECT @g.STBoundary().ToString();
Il limite di un'istanza Polygon o MultiPolygon è l'insieme dei suoi anelli.
DECLARE @g geometry;
SET @g = geometry::Parse('POLYGON((0 0, 3 0, 3 3, 0 3, 0 0), (1 1, 1 2, 2 2, 2 1, 1 1))');
SELECT @g.STBoundary().ToString();
Per restituire il limite di un'istanza
Envelope
L'envelope di un'istanza geometry , conosciuta anche come riquadro è il rettangolo allineato dall'asse formato dalle coordinate minime e massime (X, Y) dell'istanza.
Per restituire l'envelope di un'istanza
Chiusura
Un'istanza geometrychiusa è una figura i cui punti di inizio e di fine sono gli stessi. Le istanze Polygon sono considerate chiuse. Le istanze Point non sono chiuse.
Un anello è un'istanza LineString semplice chiusa.
Per determinare se un'istanza è chiusa
Per determinare se un'istanza è un anello
Per restituire l'anello esterno di un'istanza Polygon
Per restituire il numero di anelli interni in un'istanza Polygon
Per restituire un anello interno specificato di un'istanza Polygon
Identificatore SRID
L'identificatore SRID specifica in quale sistema di coordinate è rappresentata l'istanza geometry . Due istanze con identificatori SRID diversi non possono essere confrontate.
Per impostare o restituire l'identificatore SRID di un'istanza
Questa proprietà può essere modificata.
Vedere anche