MultiLineString是零個或多個geometry或 geographyLineString 實例的集合。
MultiLineString 實例
下圖顯示MultiLineString 的實例範例。
如下圖所示:
圖 1 是簡單
MultiLineString實例,其界限是其兩LineString個元素的四個端點。圖 2 是簡單的
MultiLineString實例,因為只有元素的LineString端點相交。 界限是兩個非重迭端點。圖 3 是非簡單
MultiLineString實例,因為其中一個LineString元素的內部被交錯。 這個MultiLineString實例的界限是四個端點。圖 4 是非簡單、非封閉的
MultiLineString實例。圖 5 是簡單、非封閉的
MultiLineString。 它不會關閉,因為它的LineStrings元素未關閉。 這很簡單,因為任何LineStrings實例的內部都沒有任何交集。圖 6 是簡單的封閉
MultiLineString實例。 它已關閉,因為其所有元素都已關閉。 它很簡單,因為其元素在內部沒有交錯相交。
已接受的執行個體
要接受MultiLineString實例,它必須是空的,或是僅由可接受的LineString實例組成。 如需已接受 LineString 實例的詳細資訊,請參閱 LineString。 以下是已接受 MultiLineString 實例的範例。
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實例無效。
DECLARE @g geometry = 'MULTILINESTRING((1 1, 3 5),(-5 3))';
有效的執行個體
若要讓 MultiLineString 實例有效,它必須符合下列準則:
組成
MultiLineString實例的所有實例都必須是有效的LineString實例。不允許兩個組成
LineString的實例在MultiLineString實例的間隔內發生重疊。LineString實例只能在有限數目的點上交集或接觸自己或其他LineString實例。
下列範例顯示三個有效 MultiLineString 實例和一個 MultiLineString 無效的實例。
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 個實例。 它們會觸碰到無限數目的點。
範例
下列範例會建立一個簡單的geometry``MultiLineString實例,其中包含兩個具有 SRID 0 的LineString元素。
DECLARE @g geometry;
SET @g = geometry::Parse('MULTILINESTRING((0 2, 1 1), (1 0, 1 1))');
若要以不同的 SRID 具現化這個實體,請使用 STGeomFromText() 或 STMLineStringFromText()。 您也可以使用 Parse() 並修改 SRID,如下列範例所示。
DECLARE @g geometry;
SET @g = geometry::Parse('MULTILINESTRING((0 2, 1 1), (1 0, 1 1))');
SET @g.STSrid = 13;
另請參閱
STLength (geometry 資料類型)
STIsClosed(geometry 資料型別)
LineString
空間數據 (SQL Server)