Доступно с лицензией Data Reviewer.
На изображении карты наверняка найдутся объекты, пространственно связанные друг с другом, например, дорога, идущая по рельефу, или озеро, окруженное лугом. Также возможны ситуации, когда объекты одного класса пространственных объектов перекрывают друг друга и имеют общие атрибуты. Проверка Геометрия на геометрии ищет объекты из одного или двух разных классов пространственных объектов, имеющие пространственные отношения, и отображает их в результатах поиска.
Типы пространственных отношений
С данной проверкой можно использовать следующие типы пространственных отношений:
- Касается – Часть объекта из класса объектов 1 соприкасается с границей объекта из класса объектов 2. Внутренние области объектов не пересекаются.
- Содержит – объект из класса пространственных объектов 1 полностью включает в себя объект из класса пространственных объектов 2.
- Пересекает – любая часть объекта из класса пространственных объектов 1 соприкасается с любой частью объекта из класса пространственных объектов 2.
- Отношение – пользователь сам задает пространственное взаимоотношение на основе внутренней части, границы и внешней части объектов из двух классов пространственных объектов.
- Внутри – объект из класса пространственных объектов 2 полностью включает в себя объект из класса пространственных объектов 1.
- Пересекает – внутренняя часть объекта из класса пространственных объектов 1 в какой-либо точке соприкасается с внутренней частью или границей (в случае с полигоном) объекта из класса пространственных объектов 2.
- Перекрывает – внутренняя часть объекта из класса пространственных объектов 1 частично перекрывает объект из класса пространственных объектов 2. Сравниваться могут только объекты с одинаковой геометрией.
Комбинации типов геометрии и пространственных отношений, которые могут применяться, перечислены в следующей таблице.
Класс объектов 1 | Класс объектов 2 | Совместимые типы пространственных отношений |
---|---|---|
Точечный | Точечный |
|
Точечный | Мультиточки |
|
Точечный | Линейная |
|
Точечный | Площадная |
|
Мультиточки | Точечный |
|
Мультиточки | Мультиточки |
|
Мультиточки | Линейная |
|
Мультиточки | Площадная |
|
Линейная | Точечный |
|
Линейная | Мультиточки |
|
Линейная | Линейная |
|
Линейная | Площадная |
|
Площадная | Точечный |
|
Площадная | Мультиточки |
|
Площадная | Линейная |
|
Площадная | Площадная |
|
Помимо пространственного анализа в диалоговом окне Сравнить атрибуты также можно сравнивать атрибуты разных классов объектов. Например, в модели данных Nautical S-57 точки измерения глубины, существующие внутри полигонов глубины, должны иметь значения глубины (z) в рамках диапазона, определяемого минимальным и максимальным значениями z, указанными для этого полигона глубины. В диалоговом окне Сравнить атрибуты можно создать SQL-выражение WHERE для сравнения атрибутов объектов и проведения пространственного анализа.
Типы проверки Пересекает или Касается и выходная геометрия
Проверка Геометрия на геометрии создает выходную геометрию, если объекты из одного и того же или двух разных классов пространственных объектов имеют общее пространственное отношение. Если проверка использует пространственное отношение типа Пересекает или Касается, в результате будет создана точечная геометрия. Например, если вы настроили проверку Геометрия на геометрии двух полигональных классов объектов по оператору Пересекает, вся выходная геометрия будет точечной. Выходные точки будут созданы в местах пересечения полигонов двух классов объектов.
Обратные отношения
Проверка Геометрия на геометрии также позволяет искать объекты, пространственно или атрибутивно не связанные друг с другом. В этом случае будут найдены объекты, которые удовлетворяют пространственному или пространственному и атрибутивному отношению, заданным в проверке, а затем в классе объектов 1 и в классе объектов 2 будут найдены остальные объекты, которые не отвечают заданным в проверке критериям.
Например, можно найти реки, которые пересекают озера. Такой тип проверки может использоваться для поиска рек, которые не пересекают озера, и озер, которых не пересекают никакие реки. Для использования этого подхода для поиска отношений от вас требуется только определить тип пространственных отношений между двумя классами объектов и включить опцию Нет – поиск объектов, не имеющих этого отношения.
Например, можно найти линии и полигоны, которые не пересекаются друг с другом и имеют одинаковый код подтипа. Это означает, что если линия пересекает полигон с другим кодом подтипа, то она будет получена в результате проверки. Линии, которые совсем не пересекают другой объект, но имеют другой код подтипа, будут также получены в результате проверки. Чтобы настроить операцию проверки для поиска обратных отношений, вам нужно сделать следующее.
- Определить пространственные отношения для класса объектов 1 и класса объектов 2.
- Установить сравнение атрибутов, чтобы подтип источника данных 1 был равен подтипу источника данных 2.
- Включить опцию Нет – поиск объектов, не имеющих этого отношения.
Искать обратные отношения можно для типов отношений Содержит, Пересекает, Пересекает, Перекрывает, Отношение, Касается и Внутри.
Пространственное отношение Отношение
При выборе Отношение в качестве типа пространственного отношения выполняется сравнение любых возможных пересечений между двумя геометриями на основе трех следующих признаков:
- Внутренняя часть – геометрия целиком за исключением границы. Все типы геометрии имеют внутреннюю часть.
- Граница – конечные точки всех линейных частей линейных объектов или линейный контур полигона. Границы есть только у линий и полигонов.
- Внешняя часть – область снаружи геометрии. Все типы геометрии имеют внешнюю часть.
Это отношение определяется с помощью девятизначной строки, состоящей из следующих символов:
- T (true) – объекты имеют пересекающиеся внутренние части, границы и/или внешние части.
- F (false) – объекты не имеют пересекающихся внутренних частей, границ и/или внешних частей.
- 0 (без измерения) – пересечение между внутренними частями, границами и/или внешними частями объектов образует точку.
- 1 (одно измерение) – пересечение между внутренними частями, границами и/или внешними частями объектов образует линию.
- 2 (два измерения) – пересечение между внутренними частями, границами и/или внешними частями объектов образует полигон.
- * (не проверять) – проверка на наличие пересекающихся внутренних частей, границ и/или внешних частей объектов не выполняется.
Относительное расположение символов очень важно, поскольку оно указывает, какие характеристики будут проверяться между двумя объектами. Например, если первым символом в строке является Т, проверка Геометрия на геометрии проверяет внутренние части объектов из обоих классов на предмет их пересечения. Если же первым символом является 0, проверка возвращает два линейных объекта, пересекающихся в точке, но не возвращает два линейных объекта, имеющих общий участок.
Применяется следующий порядок символов:
Номер символа | Класс объектов 1 | Класс объектов 2 |
---|---|---|
1 | Внутренняя | Внутренняя |
2 | Внутренняя | Граница |
3 | Внутренняя | Внешняя часть |
4 | Граница | Внутренняя |
5 | Граница | Граница |
6 | Граница | Внешняя часть |
7 | Внешняя часть | Внутренняя |
8 | Внешняя часть | Граница |
9 | Внешняя часть | Внешняя часть |
В следующей таблице перечислены шаблоны, которые можно использовать для поиска определенных отношений:
Пространственное отношение | Геометрия выборки | Запрашиваемая геометрия | Строка |
---|---|---|---|
Содержит | Линейная | Линейная | TT*FFT*** |
Содержит | Точечный | Линейная | TT*FFT*** |
Содержит | Точечный | Точечный | T******** |
Содержит | Линейная | Полигон | TT*FFT*** |
Содержит | Полигон | Полигон | TT*FFT*** |
Перекрещивается | Линейная | Линейная | TF*FF**** |
Перекрещивается | Полигон | Линейная | TT**F**** |
Перекрещивается | Линейная | Полигон | T******** |
Перекрывает | Линейная | Линейная | TT*T***** |
Перекрывает | Точечный | Точечный | T******** |
Перекрывает | Полигон | Полигон | TT*T***** |
Касание | Линейная | Линейная | FF*FT**** |
Касание | Полигон | Линейная | FF*FT**** |
Касание | Линейная | Полигон | FF*FT**** |
Касание | Полигон | Полигон | FF*FT**** |
В пределах | Линейная | Линейная | TF**F**** |
В пределах | Точечный | Линейная | T******** |
В пределах | Точечный | Точечный | T******** |
В пределах | Линейная | Полигон | TF**F**** |
В пределах | Полигон | Полигон | TF**F**** |
Примеры строк, используемых в текстовом поле Пространственное отношение:
Пространственное отношение | Используемая строка |
---|---|
Общая граница | ****T**** |
Общая граница и пересекающиеся внутренние части | T***T**** |
Общая граница и непересекающиеся внутренние части | F***T**** |
Нет общей границы и пересекающиеся внутренние части | T***F**** |
Граница полигона пересекает внутреннюю часть линии вдоль общего участка | ***1***** |