Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Si applica a:SQL Server
Database SQL di
AzureIstanza gestita di SQL di
AzureEndpoint di analisi SQL in Microsoft Fabric
Warehouse in Microsoft Fabric
Database SQL in Microsoft Fabric
GeometryCollection è una raccolta di zero o più istanze di tipo geometry o geography . GeometryCollection può essere vuoto.
Istanze "GeometryCollection"
Istanze accettate
Per poter essere accettata, un'istanza GeometryCollection deve essere un'istanza GeometryCollection vuota oppure tutte le istanze che comprendono l'istanza GeometryCollection devono essere istanze accettate. Nell'esempio seguente vengono illustrate le istanze accettate.
DECLARE @g1 geometry = 'GEOMETRYCOLLECTION EMPTY';
DECLARE @g2 geometry = 'GEOMETRYCOLLECTION(LINESTRING EMPTY,POLYGON((-1 -1, -1 -5, -5 -5, -5 -1, -1 -1)))';
DECLARE @g3 geometry = 'GEOMETRYCOLLECTION(LINESTRING(1 1, 3 5),POLYGON((-1 -1, -1 -5, -5 -5, -5 -1, -1 -1)))';
Nell'esempio seguente viene generata un'eccezione System.FormatException , poiché l'istanza LinesString nell'istanza GeometryCollection non è accettata.
DECLARE @g geometry = 'GEOMETRYCOLLECTION(LINESTRING(1 1), POLYGON((-1 -1, -1 -5, -5 -5, -5 -1, -1 -1)))';
Istanze valide
Un'istanza GeometryCollection è valida se tutte le istanze che comprendono l'istanza GeometryCollection sono valide. Nell'esempio seguente vengono indicate tre istanze GeometryCollection valide e un'istanza non valida.
DECLARE @g1 geometry = 'GEOMETRYCOLLECTION EMPTY';
DECLARE @g2 geometry = 'GEOMETRYCOLLECTION(LINESTRING EMPTY,POLYGON((-1 -1, -1 -5, -5 -5, -5 -1, -1 -1)))';
DECLARE @g3 geometry = 'GEOMETRYCOLLECTION(LINESTRING(1 1, 3 5),POLYGON((-1 -1, -1 -5, -5 -5, -5 -1, -1 -1)))';
DECLARE @g4 geometry = 'GEOMETRYCOLLECTION(LINESTRING(1 1, 3 5),POLYGON((-1 -1, 1 -5, -5 5, -5 -1, -1 -1)))';
SELECT @g1.STIsValid(), @g2.STIsValid(), @g3.STIsValid(), @g4.STIsValid();
@g4 non è valida, poiché l'istanza Polygon nell'istanza GeometryCollection non è valida.
Per altre informazioni sulle istanze accettate e valide, vedere Point, MultiPoint, LineString, MultiLineString, Polygone MultiPolygon.
Example
Nell'esempio seguente viene creata un'istanza di con geometryGeometryCollection valori Z in SRID 1 contenente un'istanza Point e un'istanza Polygon di .
DECLARE @g geometry;
SET @g = geometry::STGeomCollFromText('GEOMETRYCOLLECTION(POINT(3 3 1), POLYGON((0 0 2, 1 10 3, 1 0 4, 0 0 2)))', 1);