Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Platí pro:SQL Server
Azure SQL Database
Spravovaná instance
Azure SQLKoncový bod analýzy SQL v Microsoft Fabric
Sklad v Microsoft Fabric
Databáze SQL v Microsoft Fabric
GeometryCollection je kolekce nula nebo více geometrických nebo zeměpisných instancí. GeometryCollection může být prázdný.
instance GeometryCollection
Akceptované instance
Aby byla instance GeometryCollection akceptována, musí být buď prázdná instance GeometryCollection, nebo všechny instance tvořící instanci GeometryCollection musí být akceptované instance. Následující příklad ukazuje přijaté instance.
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)))';
Následující příklad vyvolá výjimku System.FormatException, protože instance LineString v instanci GeometryCollection není přijata.
DECLARE @g geometry = 'GEOMETRYCOLLECTION(LINESTRING(1 1), POLYGON((-1 -1, -1 -5, -5 -5, -5 -1, -1 -1)))';
Platné instance
A GeometryCollection instance je platná, pokud jsou všechny instance, které tvoří GeometryCollection instance jsou platné. Následující příklad ukazuje tři platné instance GeometryCollection a jednu instanci, která není platná.
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 není platný, protože polygon instance v instanci GeometryCollection není platný.
Další informace o akceptovaných a platných instancích naleznete v tématu Point, MultiPoint, LineString, MultiLineString, Polygon a MultiPolygon.
Example
Následující příklad vytvoří geometryGeometryCollection instanci s hodnotami Z v SRID 1 obsahující Point instanci a Polygon instanci.
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);