GeometryCollectionGeometryCollection

GeometryCollection 은 1개 이상의 geometry 또는 geography 인스턴스 컬렉션입니다.A GeometryCollection is a collection of zero or more geometry or geography instances. GeometryCollection 은 비워 둘 수 있습니다.A GeometryCollection can be empty.

GeometryCollection 인스턴스GeometryCollection Instances

허용되는 인스턴스Accepted Instances

GeometryCollection 인스턴스는 빈 GeometryCollection 인스턴스이거나 GeometryCollection 인스턴스를 구성하는 모든 인스턴스가 허용되는 인스턴스여야 허용됩니다.For a GeometryCollection instance to be accepted, it must either be an empty GeometryCollection instance or all the instances comprising the GeometryCollection instance must be accepted instances. 다음 예에서는 허용되는 인스턴스를 보여 줍니다.The following example shows accepted instances.

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

다음 예에서는 System.FormatException GeometryCollection 인스턴스의 LinesString 인스턴스가 허용되지 않으므로 이 발생합니다.The following example throws a System.FormatException because the LinesString instance in the GeometryCollection instance is not accepted.

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

유효한 인스턴스Valid Instances

GeometryCollection 인스턴스는 GeometryCollection 인스턴스를 구성하는 모든 인스턴스가 유효한 경우 유효합니다.A GeometryCollection instance is valid when all instances that comprise the GeometryCollection instance are valid. 다음 예에서는 유효한 GeometryCollection 인스턴스 세 개와 유효하지 않은 인스턴스 하나를 보여 줍니다.The following shows three valid GeometryCollection instances and one instance that is not valid.

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

@g4GeometryCollection 인스턴스의 Polygon 인스턴스가 유효하지 않으므로 유효하지 않습니다.@g4 is not valid because the Polygon instance in the GeometryCollection instance is not valid.

허용되는 인스턴스와 유효한 인스턴스에 대한 자세한 내용은 Point, MultiPoint, LineString, MultiLineString, PolygonMultiPolygon을 참조하십시오.For more information on accepted and valid instances, see Point, MultiPoint, LineString, MultiLineString, Polygon, and MultiPolygon.

Examples

다음 예제에서는 geometry``GeometryCollection 인스턴스 및 Point 인스턴스가 들어 있는 SRID 1의 Z 값으로 Polygon 을 인스턴스화합니다.The following example instantiates a geometry``GeometryCollection 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);  

참고 항목See Also

공간 데이터(SQL Server)Spatial Data (SQL Server)