Bagikan melalui


MultiPolygon

Berlaku untuk: SQL ServerAzure SQL Database Azure SQL Managed Instance

Instans MultiPolygon adalah kumpulan nol atau lebih instans Poligon .

Instans Poligon

Ilustrasi di bawah ini menunjukkan contoh instans MultiPolygon .

Contoh instans MultiPolygon geometri

Seperti yang ditunjukkan dalam ilustrasi:

  • Gambar 1 adalah instans MultiPolygon dengan dua elemen Poligon . Batas didefinisikan oleh dua cincin eksterior dan tiga cincin interior.

  • Gambar 2 adalah instans MultiPolygon dengan dua elemen Poligon . Batas didefinisikan oleh dua cincin eksterior dan tiga cincin interior. Dua elemen Poligon bersinggungan pada titik tangen.

Instans yang Diterima

Instans MultiPolygon diterima salah satu kondisi berikut terpenuhi.

  • Ini adalah instans MultiPolygon kosong.

  • Semua instans yang terdiri dari instans MultiPolygon adalah instans Poligon yang diterima. Untuk informasi selengkapnya tentang instans Polygon yang diterima, lihat Polygon.

Contoh berikut menunjukkan instans MultiPolygon yang diterima.

DECLARE @g1 geometry = 'MULTIPOLYGON EMPTY';  
DECLARE @g2 geometry = 'MULTIPOLYGON(((1 1, 1 -1, -1 -1, -1 1, 1 1)),((1 1, 3 1, 3 3, 1 3, 1 1)))';  
DECLARE @g3 geometry = 'MULTIPOLYGON(((2 2, 2 -2, -2 -2, -2 2, 2 2)),((1 1, 3 1, 3 3, 1 3, 1 1)))';  

Contoh berikut menunjukkan instans MultiPolygon yang akan melempar System.FormatException.

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

Instans kedua di MultiPolygon adalah instans LineString dan bukan instans Polygon yang diterima.

Instans yang Valid

Instans MultiPolygon valid jika merupakan instans MultiPolygon kosong atau jika memenuhi kriteria berikut.

  1. Semua instans yang terdiri dari instans MultiPolygon adalah instans Poligon yang valid. Untuk instans Poligon yang valid, lihat Poligon.

  2. Tidak ada instans Poligon yang terdiri dari tumpang tindih instans MultiPolygon.

Contoh berikut menunjukkan dua instans MultiPolygon yang valid dan satu instans MultiPolygon yang tidak valid.

DECLARE @g1 geometry = 'MULTIPOLYGON EMPTY';  
DECLARE @g2 geometry = 'MULTIPOLYGON(((1 1, 1 -1, -1 -1, -1 1, 1 1)),((1 1, 3 1, 3 3, 1 3, 1 1)))';  
DECLARE @g3 geometry = 'MULTIPOLYGON(((2 2, 2 -2, -2 -2, -2 2, 2 2)),((1 1, 3 1, 3 3, 1 3, 1 1)))';  
SELECT @g1.STIsValid(), @g2.STIsValid(), @g3.STIsValid();  

@g2 valid karena dua instans Poligon hanya menyentuh pada titik tangen. @g3 tidak valid karena interior dari dua instans Polygon saling tumpang tindih.

Contoh

Contoh A.

Contoh berikut menunjukkan pembuatan geometry``MultiPolygon instans dan mengembalikan Teks Terkenal (WKT) dari komponen kedua.

DECLARE @g geometry;  
SET @g = geometry::Parse('MULTIPOLYGON(((0 0, 0 3, 3 3, 3 0, 0 0), (1 1, 1 2, 2 1, 1 1)), ((9 9, 9 10, 10 9, 9 9)))');  
SELECT @g.STGeometryN(2).STAsText();  

Contoh B.

Contoh ini membuat instans kosong MultiPolygon .

DECLARE @g geometry;  
SET @g = geometry::Parse('MULTIPOLYGON EMPTY');  

Lihat Juga

Poligon
STArea (Jenis Data geometri)
STCentroid (Tipe Data geometri)
STPointOnSurface (Jenis Data geometri)
Data Spasial (SQL Server)