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.
A GeometryCollection ist eine Sammlung von Null oder mehr geometry oder geography Instanzen. A GeometryCollection kann leer sein.
GeometryCollection-Instanzen
Akzeptierte Instanzen
Damit eine GeometryCollection Instanz akzeptiert wird, muss sie entweder eine leere GeometryCollection Instanz sein, oder alle Instanzen, die die GeometryCollection Instanz umfassen, müssen akzeptiert werden. Das folgende Beispiel zeigt akzeptierte Instanzen.
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)))';
Im folgenden Beispiel wird ein System.FormatException Fehler ausgelöst, da die LinesString 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 umfassen, gültig sind. Im Folgenden sind drei gültige GeometryCollection Instanzen und eine ungültige Instanz aufgeführt.
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 ungültig, da die Polygon Instanz in der GeometryCollection Instanz ungültig ist.
Weitere Informationen zu akzeptierten und gültigen Instanzen finden Sie unter Point, MultiPoint, LineString, MultiLineString, Polygon und MultiPolygon.
Beispiele
Im folgenden Beispiel wird ein geometry``GeometryCollection 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);