Aracılığıyla paylaş


MultiLineString

A MultiLineStringsıfır ya da daha fazla oluşur geometryya geography LineStringörnekleri.

MultiLineString örnekleri

Aşağıdaki çizimde gösterilmektedir, MultiLineStringörnekleri.

Geometri MultiLineString örnekleri

Çizimde gösterildiği gibi:

  • Şekil 1 ise basit bir MultiLineString onun iki dört bitiş noktaları olan sınırıdır örneği LineStringelemanları.

  • Şekil 2 ise basit MultiLineStringçünkü örneği yalnızca bitiş noktaları LineStringöğeleri kesiştiği. İki çakışmayan uç sınırıdır.

  • Şekil 3 olan bir nonsimple MultiLineStringçünkü örnek bir iç onun LineStringöğeleri kestiği. Bu sınırı MultiLineStringdört uç örneğidir.

  • Şekil 4'bir nonsimple, nonclosed MultiLineStringörneği.

  • Şekil 5 ise basit, nonclosed MultiLineString. Çünkü kapalı değil kendi LineStrings öğeler kapatılmadı. Basit çünkü hiçbiri herhangi bir iç LineStringskesiştiği.

  • Şekil 6 ise basit, kapalı MultiLineStringörneği. Çünkü öğelerinin tümü kapalı kapalı. Onun basit çünkü öğelerinden hiçbiri iç kesişir.

Kabul edilen örnekleri

İçin bir MultiLineStringboş veya yalnızca comprised ya gerekir kabul edilmesi için örnek LineStringkabul edilen intances. Daha fazla bilgi için kabul LineStringgörmek, LineString. Aşağıdaki örnekler kabul edilen MultiLineStringörnekleri.

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

Aşağıdaki örnek atar bir System.FormatExceptionçünkü ikinci LineStringörneği geçerli değil.

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

Geçerli örneği

İçin bir MultiLineStringörneği şu ölçütleri karşılaması gerekir geçerli olması için:

  1. Tüm örnekler, oluşan MultiLineStringörneği geçerli olması gereken LineStringörnekleri.

  2. Hiçbir iki LineStringörnekler oluşan MultiLineStringörneği bir zaman aralığındaki örtüşüyor. LineStringÖrnekleri yalnızca kesiştiği ya kendileri ya da diğer dokunmatik LineStringnoktaları sınırlı sayıda örnekleri.

Aşağıdaki örnek, üç geçerli gösterir MultiLineStringörnekleri ve bir MultiLineString, geçersiz örneği.

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

@g4geçerli değil çünkü ikinci LineStringilk örneği çakışıyor LineStringörneği bir aralıkta. Onlar sonsuz sayıda Puan dokunun.

Örnekler

Aşağıdaki örnek, basit bir oluşturur geometry MultiLineStringiki içeren örneği LineStringelemanları SRID 0.

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

Bu örneği ile farklı bir SRID örneğini oluşturmak için STGeomFromText()veya STMLineStringFromText(). Ayrıca Parse()ve SRID, aşağıdaki örnekte gösterildiği gibi değiştirin.

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

Ayrıca bkz.

Başvuru

STLength (geometri veri türü)

STIsClosed (geometri veri türü)

Kavramlar

LineString

Mekansal veri (SQL Server)