Bagikan melalui


MultiLineString

Berlaku untuk: SQL ServerAzure SQL Database Azure SQL Managed Instance

MultiLineString adalah kumpulan nol atau lebih geometri atau geografi instansLineString.

Instans MultiLineString

Ilustrasi di bawah ini menunjukkan contoh instans MultiLineString .

Contoh instans MultiLineString geometri

Seperti yang ditunjukkan dalam ilustrasi:

  • Gambar 1 adalah instans MultiLineString sederhana yang batasnya adalah empat titik akhir dari dua elemen LineString-nya.

  • Gambar 2 adalah instans MultiLineString sederhana karena hanya titik akhir elemen LineString yang bersinggungan. Batas adalah dua titik akhir yang tidak tumpang tindih.

  • Gambar 3 adalah instans MultiLineString nonsimple karena interior salah satu elemen LineString-nya bersinggungan. Batas instans MultiLineString ini adalah empat titik akhir.

  • Gambar 4 adalah instans MultiLineString nonsimple dan tidak tertutup.

  • Gambar 5 adalah MultiLineString sederhana dan tidak tertutup. Ini tidak ditutup karena elemen LineStrings-nya tidak ditutup. Ini sederhana karena tidak ada interior dari salah satu instans LineStrings yang bersinggungan.

  • Gambar 6 adalah instans MultiLineString yang sederhana dan tertutup. Ini ditutup karena semua elemennya ditutup. Ini sederhana karena tidak ada elemennya yang bersinggungan di interior.

Instans yang diterima

Agar instans MultiLineString diterima, instans tersebut harus kosong atau hanya terdiri dari instans LineString yang diterima. Untuk informasi selengkapnya tentang instans LineString yang diterima, lihat LineString. Berikut ini adalah contoh instans MultiLineString yang diterima.

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

Contoh berikut melempar karena instans System.FormatException LineString kedua tidak valid.

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

Instans yang valid

Agar instans MultiLineString valid, instans tersebut harus memenuhi kriteria berikut:

  1. Semua instans yang terdiri dari instans MultiLineString harus berupa instans LineString yang valid.

  2. Tidak ada dua instans LineString yang terdiri dari instans MultiLineString yang dapat tumpang tindih dengan interval. Instans LineString hanya dapat bersinggungan atau menyentuh diri mereka sendiri atau instans LineString lainnya pada jumlah titik yang terbatas.

Contoh berikut menunjukkan tiga instans MultiLineString yang valid dan satu instans MultiLineString yang tidak 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();  

@g4tidak valid karena instans LineString kedua tumpang tindih dengan instans LineString pertama pada interval. Mereka menyentuh pada jumlah titik tak terbatas.

Contoh

Contoh berikut membuat instans sederhana geometry``MultiLineString yang berisi dua LineString elemen dengan SRID 0.

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

Untuk membuat instans ini dengan SRID yang berbeda, gunakan STGeomFromText() atau STMLineStringFromText(). Anda juga dapat menggunakan Parse() lalu memodifikasi SRID, seperti yang ditunjukkan dalam contoh berikut.

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

Lihat Juga

STLength (Jenis Data geometri)
STIsClosed (Tipe Data geometri)
LineString
Data Spasial (SQL Server)