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 .
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:
Semua instans yang terdiri dari instans MultiLineString harus berupa instans LineString yang valid.
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();
@g4
tidak 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)