Яка різниця між просторовими предикатами "Обкладинка" та "Містить"?


9

Я намагаюся зрозуміти просторові предикати матриці перетину DE-9IM. Я не знаходжу різниці між предикатами Covers (відповідним CoveredBy ) та Містить (відповідно в межах ).

Я намагаюся малювати геометричні форми з JTS топології люкс , вони завжди Covers = True і Contains = True (або обидва False) , але мені не вдається зробити їх різними, тобто , щоб побачити різницю між Coversі Contains. Хтось має приклад (бажано, WKT або зображення), який ілюструє різницю?

Відповіді:


14

Подивіться на Мартіна Девіса (творець топологічного набору JTS ), Lin.ear Thinking: Примхи просторового предиката "Містить"

  1. Геометрія A містить Геометрію B, якщо жодна точка B не лежить на зовнішній стороні A, і принаймні одна точка внутрішньої частини B лежить у внутрішній частині A
  2. Геометрія A охоплює Геометрію B, якщо жодна точка B не лежить зовні A

Все, що потрібно для визначення цієї умови, - це просте порівняння обмежувальної коробки. Це неможливо із вмістом, оскільки навіть якщо обмежувальне поле Геометрії покрито Прямокутником, потрібна подальша дорога операція, щоб перевірити, чи Геометрія повністю лежить у межі Прямокутника (у цьому випадку предикат не вдається). Обкладинки "спрощує" визначення вмісту, роблячи його більш загальним (включно)

Якщо ви подивитесь на DE-9IM , то можна побачити, що в ньому (T*****FF*)є окремий випадок обкладинок(T*****FF*, *T****FF*, ***T**FF*)

Наприклад, визначення містить містить, що полігон не містить своєї межі, а полігон охоплює його межу.

введіть тут опис зображення

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.