Aracılığıyla paylaş


MultiLineString

Ş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ı

MultiLineString, sıfır veya daha fazla geometri veya geographyLineString örneğinden oluşan bir koleksiyondur.

MultiLineString örnekleri

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

MultiLineString geometri örneklerinin diyagramı.

Çizimde gösterildiği gibi:

  • Şekil 1, sınırı iki LineString öğesinin dört uç noktası olan basit bir MultiLineString örneğidir.

  • Şekil 2 basit bir MultiLineString örneğidir çünkü yalnızca LineString öğelerinin uç noktaları kesişmektedir. Sınır çizgisi, iki çakışmayan uç noktadır.

  • Şekil 3, MultiLineString öğelerinden birinin LineString iç kısmı kesiştiğinden, basit olmayan bir örnektir. Bu MultiLineString örneğinin sınırı dört uç noktadır.

  • Şekil 4, basit olmayan, kapalı olmayan bir MultiLineString örneğidir.

  • Şekil 5 basit, kapatılmamış bir MultiLineString'dir. LineStrings öğeleri kapalı olmadığından kapalı değildir. Basit çünkü LineStrings örneklerinin hiçbir iç kısmı kesişmiyor.

  • Şekil 6 basit, kapalı bir MultiLineString örneğidir. Tüm öğeleri kapalı olduğu için o kapalıdır. Basit çünkü öğelerinin hiçbiri iç mekanlarda kesişmiyor.

Kabul edilen örnekler

MultiLineString örneğinin kabul edilmesi için boş olması veya yalnızca kabul edilen LineString örneklerinden oluşması gerekir. Kabul edilen LineString örnekleri hakkında daha fazla bilgi için bkz. LineString. Aşağıda kabul edilen MultiLineString örnekleri verilmiştir.

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, ikinci System.FormatException örneği geçerli olmadığından bir oluşturur.

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

Geçerli örnekler

MultiLineString örneğinin geçerli olması için aşağıdaki ölçütleri karşılaması gerekir:

  1. MultiLineString örneğinden oluşan tüm örnekler geçerli LineString örnekleri olmalıdır.

  2. MultiLineString örneğinden oluşan iki LineString örneği bir aralık üzerinde çakışmaz. LineString örnekleri yalnızca kendilerine veya diğer LineString örneklerine sınırlı sayıda noktada kesişebilir veya dokunabilir.

Aşağıdaki örnekte üç geçerli MultiLineString örneği ve geçerli olmayan bir MultiLineString örneği gösterilmektedir.

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 geçerli değil çünkü ikinci LineString örneği bir aralıkta ilk LineString örneğiyle çakışıyor. Sonsuz sayıda noktaya dokunurlar.

Örnekler

Aşağıdaki örnek, SRID 0 ile iki geometry``MultiLineString öğe içeren basit LineString bir örnek oluşturur.

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

Bu örneği farklı bir SRID ile başlatmak için STGeomFromText() veya STMLineStringFromText() kullanın. Öncelikle Parse() kullanabilir ve ardından SRID'yi, aşağıdaki örnekte gösterildiği gibi, değiştirebilirsiniz.

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