Aracılığıyla paylaş


GeometryCollection

A GeometryCollection olan bir koleksiyon sıfır veya daha fazla geometry veya geography örnekleri.

GeometryCollection örneği

Kabul edilen örnekleri

İçin bir GeometryCollection örneği kabul ya da onu gerekir için boş olması GeometryCollection örneği ya da kapsayan tüm örneklerini GeometryCollection örnek olması gerekir kabul edilen örnekler.Aşağıdaki örnek kabul edilen göstermektedir.

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)))';

Aşağıdaki örnek oluşturduğunu bir System.FormatException çünkü LinesString , örnek GeometryCollection örnek kabul edilmedi.

DECLARE @g geometry = 'GEOMETRYCOLLECTION(LINESTRING(1 1), POLYGON((-1 -1, -1 -5, -5 -5, -5 -1, -1 -1)))';

Geçerli örneği

A GeometryCollection örnek olduğunda geçerli olan tüm örneklerini oluşturan GeometryCollection örneği geçerli.Aşağıdaki üç geçerli gösterir GeometryCollection örnekleri ve geçerli olmayan bir örnek.

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();

@g4geçerli değil çünkü Polygon , örnek GeometryCollection örneği geçerli değil.

Kabul edilen ve geçerli örnekleri hakkında daha fazla bilgi için bkz: Nokta, Çok noktaya, LineString, MultiLineString, Çokgen, ve MultiPolygon.

Örnekler

The following example instantiates a geometryGeometryCollection with Z values in SRID 1 containing a Point instance and a Polygon instance.

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);