Apa perbedaan antara predikat spasial “Sampul” dan “Berisi”?

9

Saya mencoba memahami predikat spasial dari matriks titik-DE-9IM. Saya tidak mendapatkan perbedaan antara Sampul predikat (masing-masing CoveredBy ) dan Berisi (resp. Dalam ).

Saya mencoba menggambar geometri dengan JTS Topology Suite , mereka selalu Covers = True dan Contains = True (atau keduanya False) tetapi saya tidak berhasil membuatnya berbeda, yaitu untuk melihat perbedaan antara Coversdan Contains. Adakah yang punya contoh (lebih disukai WKT atau gambar) yang menggambarkan perbedaannya?

Wernfried Domscheit
sumber

Jawaban:

14

Lihatlah Martin Davis (pencipta JTS Topology Suite ), Lin.ear th.inking: Quirks dari "Contains" Spatial Predicate

  1. Geometri A mengandung Geometri B jika tidak ada titik B terletak di bagian luar A, dan setidaknya satu titik interior B terletak di interior A
  2. Geometri A mencakup Geometri B jika tidak ada titik B yang terletak di luar A

Semua yang diperlukan untuk menentukan kondisi ini adalah dengan melakukan perbandingan kotak pembatas sederhana. Ini tidak mungkin dengan berisi, karena meskipun kotak pembatas Geometry dicakup oleh Rectangle, operasi mahal lebih lanjut diperlukan untuk menguji apakah Geometry terletak sepenuhnya di batas Rectangle (dalam hal ini predikat gagal). Meliputi "menyederhanakan" definisi isi dengan membuatnya lebih umum (inklusif)

Jika Anda melihat DE-9IM , Anda dapat melihat bahwa isi (T*****FF*)adalah sampul khusus(T*****FF*, *T****FF*, ***T**FF*)

Misalnya, definisi mengandung menyiratkan bahwa suatu Poligon tidak mengandung batasnya tetapi suatu Poligon mencakup batasnya.

masukkan deskripsi gambar di sini

gen
sumber