Aracılığıyla paylaş


GeometryCollection

A GeometryCollectionsıfır ya da daha fazla oluşur geometryya geographyörnekleri. A GeometryCollectionboş olabilir.

GeometryCollection örneği

Kabul edilen örnekleri

İçin bir GeometryCollectionörneği için kabul edilebilir, ya da boş olmalıdır GeometryCollectionörneği veya oluşan tüm örnekleri GeometryCollectionörneği kabul edilen örnekler olmalı. Aşağıdaki örnek, kabul edilen örnekler gösterir.

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 atar bir System.FormatExceptionçünkü LinesStringde örnek GeometryCollectionörneği 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örneği geçerli olduğunda tüm örneklerini oluşturan GeometryCollectionörneği geçerli. Aşağıdaki üç geçerli gösterir GeometryCollectionörnekleri ve geçersiz örneği.

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ü Polygonde örnek GeometryCollectionörneği geçerli değil.

Kabul edilen ve geçerli örnekleri ile ilgili daha fazla bilgi için bkz: Nokta, MultiPoint, LineString, MultiLineString, Çokgen, ve MultiPolygon.

Örnekler

Aşağıdaki örnek oluşturur bir geometry GeometryCollectioniçeren SRID 1 z değerleri ile bir Pointörneği ve bir Polygonörneği.

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

Ayrıca bkz.

Kavramlar

Mekansal veri (SQL Server)