Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Gilt für:SQL Server
Azure SQL-Datenbank
Verwaltete Azure SQL-Instanz
SQL-Analyseendpunkt in Microsoft Fabric
Lagerhaus in Microsoft Fabric
SQL-Datenbank in Microsoft Fabric
Ein GeometryCollection -Objekt ist eine Auflistung von null oder mehr geometry - oder geography -Instanzen. Eine GeometryCollection kann leer sein.
GeometryCollection-Instanzen
Akzeptierte Instanzen
Damit eine GeometryCollection -Instanz akzeptiert wird, muss es sich um eine leere GeometryCollection -Instanz handeln, oder alle Instanzen, die die GeometryCollection beinhalten, müssen akzeptierte Instanzen sein. Im folgenden Beispiel werden akzeptierte -Instanzen veranschaulicht.
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)))';
Das folgende Beispiel löst eine System.FormatException aus, weil die LineString -Instanz in der GeometryCollection -Instanz nicht akzeptiert wird.
DECLARE @g geometry = 'GEOMETRYCOLLECTION(LINESTRING(1 1), POLYGON((-1 -1, -1 -5, -5 -5, -5 -1, -1 -1)))';
Gültige Instanzen
Eine GeometryCollection -Instanz ist gültig, wenn alle Instanzen, die die GeometryCollection -Instanz beinhalten, gültig sind. Im folgenden Beispiel werden drei gültige GeometryCollection -Instanzen und eine nicht gültige Instanz gezeigt.
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 ist nicht gültig, da die Polygon -Instanz in der GeometryCollection -Instanz nicht gültig ist.
Weitere Informationen über akzeptierte und gültige Instanzen finden Sie unter Point, MultiPoint, LineString, MultiLineString, Polygonund MultiPolygon.
Example
Im folgenden Beispiel wird ein geometryGeometryCollection mit Z-Werten in SRID 1 instanziiert, das eine Point Instanz und eine Polygon Instanz enthält.
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);