Aracılığıyla paylaş


GeometryCollection

Şunlar için geçerlidir:SQL ServerAzure SQL VeritabanıAzure SQL Yönetilen ÖrneğiMicrosoft Fabric'te SQL analiz uç noktasıMicrosoft Fabric'te ambarMicrosoft Fabric'te SQL veritabanı

GeometryCollection, sıfır veya daha fazla geometri veya coğrafya örneğinden oluşan bir koleksiyondur. GeometryCollection boş olabilir.

GeometryCollection örnekleri

Kabul edilen örnekler

GeometryCollection örneğinin kabul edilmesi için boş bir GeometryCollection örneği olması veya GeometryCollection örneğinden oluşan tüm örneklerin kabul edilmiş örnekler olması gerekir. Aşağıdaki örnekte kabul edilen örnekler gösterilmektedir.

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, System.FormatException örneği GeometryCollection içinde kabul edilmediği için bir hatası fırlatır.

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

Geçerli örnekler

GeometryCollection örneğini oluşturan tüm örnekler geçerli olduğunda GeometryCollection örneği geçerlidir. Aşağıda üç geçerli GeometryCollection örneği ve geçerli olmayan bir örnek gösterilmektedir.

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

Kabul edilen ve geçerli örnekler hakkında daha fazla bilgi için bkz. Point, MultiPoint, LineString, MultiLineString, Polygon ve MultiPolygon.

Example

Aşağıdaki örnek, SRID 1 ile Z değerlerini içeren geometryGeometryCollection örneğini, bir Point örneği ve bir Polygon örneği ile oluşturur.

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