Not
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Gäller för:SQL Server
Azure SQL Database
Azure SQL Managed Instance
SQL-analysslutpunkt i Microsoft Fabric
Lager i Microsoft Fabric
SQL-databas i Microsoft Fabric
En GeometryCollection är en samling med noll eller fler geometri- eller geografiinstanser. En GeometryCollection kan vara tom.
GeometryCollection-instanser
Godkända instanser
För att en GeometryCollection-instans ska accepteras måste den antingen vara en tom GeometryCollection-instans eller så måste alla instanser som består av GeometryCollection-instansen accepteras. I följande exempel visas accepterade instanser.
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)))';
Följande exempel genererar en System.FormatException eftersom LinesString-instansen i GeometryCollection-instansen inte accepteras.
DECLARE @g geometry = 'GEOMETRYCOLLECTION(LINESTRING(1 1), POLYGON((-1 -1, -1 -5, -5 -5, -5 -1, -1 -1)))';
Giltiga instanser
En GeometryCollection-instans är giltig när alla instanser som utgör GeometryCollection-instansen är giltiga. Följande visar tre giltiga GeometryCollection-instanser och en instans som inte är giltig.
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 är inte giltig eftersom Polygon-instansen i GeometryCollection-instansen inte är giltig.
Mer information om godkända och giltiga instanser finns i Point, MultiPoint, LineString, MultiLineString, Polygon och MultiPolygon.
Example
I följande exempel instansieras ett geometryGeometryCollection med Z-värden i SRID 1 som innehåller en Point instans och en Polygon instans.
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);