MultiLineStringMultiLineString

MultiLineString 은 0개 이상의 geometry 또는 geographyLineString 인스턴스 컬렉션입니다.A MultiLineString is a collection of zero or more geometry or geographyLineString instances.

MultiLineString 인스턴스MultiLineString instances

다음 그림에서는 MultiLineString 인스턴스의 예를 보여 줍니다.The illustration below shows examples of MultiLineString instances.

geometry MultiLineString 인스턴스의 예Examples of geometry MultiLineString instances

그림에 대한 설명:As shown in the illustration:

  • 그림 1은 두 MultiLineString 요소의 네 끝점이 경계인 단순한 LineString 인스턴스입니다.Figure 1 is a simple MultiLineString instance whose boundary is the four endpoints of its two LineString elements.

  • 그림 2는 MultiLineString 요소의 끝점만 교차하므로 단순한 LineString 인스턴스입니다.Figure 2 is a simple MultiLineString instance because only the endpoints of the LineString elements intersect. 경계는 두 개의 겹치지 않는 끝점입니다.The boundary is the two non-overlapping endpoints.

  • 그림 3은 해당 MultiLineString 요소 중 하나의 내부가 교차하므로 단순하지 않은 LineString 인스턴스입니다.Figure 3 is a nonsimple MultiLineString instance because the interior of one of its LineString elements is intersected. MultiLineString 인스턴스의 경계는 4개의 끝점입니다.The boundary of this MultiLineString instance is the four endpoints.

  • 그림 4는 단순하지 않고 닫혀 있지 않은 MultiLineString 인스턴스입니다.Figure 4 is a nonsimple, nonclosed MultiLineString instance.

  • 그림 5는 단순하고 닫혀 있지 않은 MultiLineString인스턴스입니다.Figure 5 is a simple, nonclosed MultiLineString. 이 인스턴스는 해당 LineStrings 요소가 닫혀 있지 않으므로 닫혀 있지 않고,It is not closed because its LineStrings elements are not closed. LineStrings 인스턴스의 내부에 교차하는 것이 없으므로 단순합니다.It is simple because none of the interiors of any of the LineStrings instances intersect.

  • 그림 6은 단순하고 닫혀 있는 MultiLineString 인스턴스입니다.Figure 6 is a simple, closed MultiLineString instance. 이 인스턴스는 해당 요소가 모두 닫혀 있으므로 닫혀 있고,It is closed because all its elements are closed. 해당 요소 중 교차하는 것이 없으므로 단순합니다.It is simple because none of its elements intersect at the interiors.

허용되는 인스턴스Accepted instances

MultiLineString 인스턴스는 비어 있거나 허용되는 LineString 인스턴스로만 구성되어 있어야 허용됩니다.For a MultiLineString instance to be accepted it must either be empty or comprised of only LineString intances that are accepted. 허용되는 LineString 인스턴스에 대한 자세한 내용은 LineString을 참조하십시오.For more information on accepted LineString instances, see LineString. 다음은 허용되는 MultiLineString 인스턴스의 예입니다.The following are examples of accepted MultiLineString instances.

DECLARE @g1 geometry = 'MULTILINESTRING EMPTY';  
DECLARE @g2 geometry = 'MULTILINESTRING((1 1, 3 5), (-5 3, -8 -2))';  
DECLARE @g3 geometry = 'MULTILINESTRING((1 1, 5 5), (1 3, 3 1))';  
DECLARE @g4 geometry = 'MULTILINESTRING((1 1, 3 3, 5 5),(3 3, 5 5, 7 7))';  

다음 예제에서는 두 번째 System.FormatException LineString 인스턴스가 유효하지 않으므로 이 발생합니다.The following example throws a System.FormatException because the second LineString instance is not valid.

DECLARE @g geometry = 'MULTILINESTRING((1 1, 3 5),(-5 3))';  

유효한 인스턴스Valid instances

MultiLineString 인스턴스는 다음 조건을 충족해야 유효합니다.For a MultiLineString instance to be valid it must meet the following criteria:

  1. MultiLineString 인스턴스를 구성하는 모든 인스턴스가 유효한 LineString 인스턴스여야 합니다.All instances comprising the MultiLineString instance must be valid LineString instances.

  2. LineString 인스턴스를 구성하는 두 MultiLineString 인스턴스가 일정 간격으로 겹치면 안 됩니다.No two LineString instances comprising the MultiLineString instance may overlap over an interval. LineString 인스턴스는 제한된 수의 점에서 자체적으로 또는 다른 LineString 인스턴스와 교차하는 것만 가능합니다.The LineString instances can only intersect or touch themselves or other LineString instances at a finite number of points.

    다음 예에서는 유효한 MultiLineString 인스턴스 세 개와 유효하지 않은 MultiLineString 인스턴스 하나를 보여 줍니다.The following example shows three valid MultiLineString instances and one MultiLineString instance that is not valid.

DECLARE @g1 geometry = 'MULTILINESTRING EMPTY';  
DECLARE @g2 geometry = 'MULTILINESTRING((1 1, 3 5), (-5 3, -8 -2))';  
DECLARE @g3 geometry = 'MULTILINESTRING((1 1, 5 5), (1 3, 3 1))';  
DECLARE @g4 geometry = 'MULTILINESTRING((1 1, 3 3, 5 5),(3 3, 5 5, 7 7))';  
SELECT @g1.STIsValid(), @g2.STIsValid(), @g3.STIsValid(), @g4.STIsValid();  

@g4 는 두 번째 LineString 인스턴스가 일정 간격으로 첫 번째 LineString 인스턴스와 겹치므로 유효하지 않습니다.@g4 is not valid because the second LineString instance overlaps the first LineString instance at an interval. 즉, 이 두 인스턴스는 무한한 점에서 접합니다.They touch at an infinite number of points.

Examples

다음 예제에서는 SRID 0으로 두 개의 geometry``MultiLineString 요소를 포함하는 단순한 LineString 인스턴스를 만듭니다.The following example creates a simple geometry``MultiLineString instance containing two LineString elements with the SRID 0.

DECLARE @g geometry;  
SET @g = geometry::Parse('MULTILINESTRING((0 2, 1 1), (1 0, 1 1))');  

다른 SRID로 이 인스턴스를 인스턴스화하려면 STGeomFromText() 또는 STMLineStringFromText()를 사용합니다.To instantiate this instance with a different SRID, use STGeomFromText() or STMLineStringFromText(). 또는 다음 예와 같이 Parse() 를 사용한 다음 SRID를 수정할 수도 있습니다.You can also use Parse() and then modify the SRID, as shown in the following example.

DECLARE @g geometry;  
SET @g = geometry::Parse('MULTILINESTRING((0 2, 1 1), (1 0, 1 1))');  
SET @g.STSrid = 13;  

참고 항목See Also

STLength(geometry 데이터 형식) STLength (geometry Data Type)
STIsClosed(geometry 데이터 형식) STIsClosed (geometry Data Type)
LineString LineString
공간 데이터(SQL Server)Spatial Data (SQL Server)