Memahami perbedaan antara Polygon dan Multipolygon untuk shapefile di QGIS?

30

Membuat layer Scratch memberi saya pilihan antara Polygon dan Multipolygon, jadi saya mulai bertanya-tanya bagaimana cara saya menggunakannya.

Lapisan Awal Temp Baru

Membaca buku baru "Menguasai QGIS" (melalui jawaban oleh Joseph untuk Apa arti buffer dalam dialog QGIS Voronoi? ), Komentar penulis"ESRI shapefiles store geospatial data in multi- type geometry, so using multi- type geometry is a good practice if you plan on converting between formats."

Bagaimana saya harus memilih salah satunya (Polygon atau Multipolygon) ketika saya membuat layer poligon baru? (Saya sempat bingung multi-poligon dengan multipart-poligon, jadi saya biasa memilih Polygon.)

Satu situasi baru-baru ini saya memilih Polygon / Multipolygon adalah Mengubah panjang garis paralel untuk membagi poligon di QGIS? di mana saya menggambar poligon boneka sebagai lapisan latar belakang. Bekerja terutama pada shapefile, sepertinya saya seharusnya memilih Multipolygon, walaupun saya hanya membutuhkan satu poligon. Dalam hal ini yang saya butuhkan adalah geometri poligon sederhana tanpa atribut apa pun (Tidak yakin contoh ini membuat perbedaan.)

Kazuhito
sumber
Anda belum memberikan informasi yang cukup untuk membantu Anda memilih. Harap edit pertanyaan untuk menentukan apa yang seharusnya ada pada lapisan awal. Perhatikan bahwa buku ini menyesatkan, karena shapefile tidak menyimpan geometri multi-tipe; alih-alih, mereka tidak membuat perbedaan antara garis atau poligon tunggal dan banyak bagian.
Vince
@ Sejak terima kasih. Saya menambahkan pengalaman baru-baru ini di mana saya perlu memilih salah satunya. Tidak yakin apakah contoh sederhana ini masuk akal.
Kazuhito
@ Sejak bagian terakhir dari komentar Anda, apakah saya tidak perlu khawatir tentang single atau multi-, sejauh saya akan menyimpan layer sebagai shapefile ke disk?
Kazuhito

Jawaban:

36

Dari sudut pandang yang lebih formal pandang, saya melaporkan definisi untuk kedua poligon dan multipolygon sebuah (teks dan gambar berikut ini berasal dari ini dokumen dari Standar OGC® , semua kredit ke sumber yang dikutip).


Poligon

Poligon adalah Permukaan planar yang ditentukan oleh 1 batas luar dan 0 atau lebih batas dalam. Setiap batas interior mendefinisikan lubang di Polygon.

Batas eksterior LinearRing mendefinisikan "atas" permukaan yang merupakan sisi permukaan dari mana batas luar tampak melintasi batas dalam arah berlawanan arah jarum jam. LinearRings interior akan memiliki orientasi yang berlawanan, dan muncul sebagai searah jarum jam bila dilihat dari "atas".

Pernyataan untuk Poligon (aturan yang menentukan Poligon yang valid) adalah sebagai berikut:

  1. Poligon tertutup secara topologi;
  2. Batas Poligon terdiri dari seperangkat LinearRings yang membentuk batas eksterior dan interiornya;
  3. Tidak ada dua Cincin di salib batas dan Cincin di batas Poligon dapat berpotongan di suatu Titik tetapi hanya sebagai garis singgung;
  4. Polygon mungkin tidak memiliki garis potong, paku atau tusukan;
  5. Bagian dalam setiap Polygon adalah set titik terhubung;
  6. Bagian luar Polygon dengan 1 lubang atau lebih tidak terhubung. Setiap lubang mendefinisikan komponen yang terhubung dari eksterior.

Di bawah ini beberapa contoh Poligon:

masukkan deskripsi gambar di sini


Multipoligon

MultiPolygon adalah MultiSurface yang unsur-unsurnya adalah Poligon.

Pernyataan untuk MultiPolygons adalah sebagai berikut:

  1. Interior 2 Poligon yang merupakan elemen MultiPolygon mungkin tidak berpotongan;
  2. Batas-batas dari 2 Poligon yang merupakan elemen dari MultiPolygon tidak boleh "melintas" dan dapat menyentuh hanya sejumlah Poin yang terbatas;
  3. MultiPolygon didefinisikan sebagai tertutup secara topologi;
  4. MultiPolygon mungkin tidak memiliki garis potong, paku atau tusukan, MultiPolygon adalah set Point tertutup reguler;
  5. Bagian dalam MultiPolygon dengan lebih dari 1 Polygon tidak terhubung; jumlah komponen yang terhubung dari interior MultiPolygon sama dengan jumlah Poligon dalam MultiPolygon

Batas MultiPolygon adalah satu set Kurva tertutup (LineStrings) yang sesuai dengan batas-batas Poligon elemennya. Setiap Kurva di batas MultiPolygon berada dalam batas tepat 1 elemen Poligon, dan setiap Kurva di batas elemen Poligon berada dalam batas MultiPolygon.

Di bawah ini beberapa contoh MultiPolygons:

masukkan deskripsi gambar di sini

mgri
sumber
+1 Terima kasih banyak! Ini sangat membantu. Pasti butuh waktu lama untuk merangkum mereka dalam gaya yang begitu ringkas, saya tidak bisa membayangkan bagaimana saya bisa melakukannya ... Jadi sepertinya kumpulan Kumpulan Poligon, Satu Set Permukaan, dan didukung oleh pedoman yang agak longgar di istilah topologi (hanya kesan pertama saya). Saya akan membaca dan membaca kembali materi terkait, sangat menarik!
Kazuhito
Saya pikir Anda perlu memikirkan tentang multipolygon dari sudut pandang geometris. Perbedaan paling jelas yang saya lihat adalah bahwa, mulai dari lokasi mana pun di permukaan poligon, Anda dapat mencapai lokasi lain di atasnya, sedangkan untuk multipoligon tidak selalu benar (lihat untuk referensi contoh terakhir untuk kedua kategori pada gambar terlampir di atas) ).
mgri
Terima itu, terima kasih. Ya, geometri yang berdekatan atau tidak, .. itu membuat perbedaan besar. Hanya pertanyaan yang tersisa yang saya perjuangkan adalah, bagaimana kita menempatkan objek multi bagian dalam hal perbedaan ini.
Kazuhito
1
Apa yang membuat contoh MultiPolygon pertama berada di sana?
Stijn
1
@Stijn contoh pertama adalah multipoligon karena, dalam beberapa kasus, dua titik di dalamnya dapat dihubungkan oleh garis yang tidak sepenuhnya terkandung dalam poligon itu sendiri. Perilaku ini tidak diperbolehkan untuk poligon, jadi ini adalah multipoligon.
mgri
13

Poligon bentuk dibentuk dari satu atau lebih cincin tertutup. Jika suatu bentuk memiliki beberapa cincin, mereka bisa eksterior dan interior (misalnya, membentuk donat), atau beberapa eksterior (misalnya, rantai pulau). masukkan deskripsi gambar di sini

Tentu saja, memiliki banyak eksterior tidak mencegah memiliki satu atau lebih cincin interior pada setiap bentuk. Spesifikasi shapefile menyatakan bahwa:

  1. Cincin eksterior harus searah jarum jam, sementara cincin interior harus berlawanan arah jarum jam (konvensi ini dikenal sebagai aturan tangan kanan karena bentuknya akan selalu berada di sisi kanan Anda saat Anda berjalan di sekeliling; sayangnya, cincin ini juga dapat dikenal sebagai aturan tangan kiri , karena cincin eksterior mengikuti arah tangan kiri yang melengkung dengan ibu jari mengarah ke atas dari atas gambar)
  2. Cincin interior harus selalu mengikuti cincin eksterior yang dipartisi
  3. Baik cincin eksterior maupun interior dapat tumpang tindih atau berbagi perbatasan yang sama (fitur tersebut dapat diisi, tetapi mereka tidak valid dan dapat menyebabkan kegagalan geoproses yang aneh ).

Shapefile tidak membedakan antara objek-objek ini - semuanya poligon (dan setiap geometri dikaitkan dengan satu catatan dBase).

Namun, beberapa alat lakukan membuat perbedaan, QGIS menjadi salah satu dari mereka. Jika semua yang Anda akan pernah miliki dalam sebuah shapefile sederhana satu-cincin bentuk, maka Anda dapat dengan aman memilih Polygon. Jika bentuknya mungkin berisi "lubang", juga aman untuk memilih Polygon. Namun, jika beberapa bentuk mungkin berisi beberapa cincin eksterior maka Anda harus memilih Multipolygon.

Vince
sumber
1
Ini adalah ringkasan mendalam tentang shapefile, Terima kasih banyak! Saya sekarang mengerti sebagian besar dari pengalaman masa lalu saya termasuk dalam penggunaan Polygon. Di masa depan saya akan menggunakan Multipolygon ketika saya harus mendigitalkan lubang, seperti danau. Terima kasih lagi!
Kazuhito
1
Terima kasih telah menambahkan angka, jadi yang ada di sisi kanan adalah cincin eksterior berganda, untuk itu saya harus memilih Multipolygon ... bukan yang ada di tengah berlubang!
Kazuhito
3
Saya harus kembali dan memberi label pada mereka, tetapi ya, poligon hijau adalah satu-satunya Multipolygon
Vince
1
Dalam kasus Two Rings (Multipolygon), akankah kedua cincin ini berbagi catatan yang sama jika kita melihat tabel atribut? (yaitu, shapefile hanya memiliki satu catatan)?
Kazuhito
1
Ya, ini adalah satu geometri dalam satu catatan
Vince