С помощью обновления колонки можно найти пересечения границ участков с границами зон или населённых пунктов.
Смоделируем простой случай пересечения с одним площадным объектом. Нарисуем произвольно зону, специально пересекая некоторые участки (где-то явно, а где-то совсем чуть-чуть):
С помощью команды обновить колонку можно передать участкам площадь их пересечения с зоной, но для этого нужно сделать колонку с значением площади зоны. Я такую не сделал, создавая таблицу, поэтому сделаю на основе таблицы "Зона" выборку с временной колонкой площади:
- в выборке будет существующая в исходной таблице колонка "Имя" и вычисляемая колонка с площадью в квадратных метрах (функция CartesianArea(obj, "sq m")).
Теперь выполним обновление колонки:
- значения площадей перекрытия запишем во временную колонку, "proportion sum" уменьшит значение площади зоны пропорционально величине перекрытия объектов (если участок площадью 600 кв.м. полностью находится внутри зоны, то во временную колонку также запишется 600 кв.м.), объединение по факту пересечения объектов (участок и зона имеют хотя бы одну общую точку).
Когда значения добавлены, остаётся визуализировать те участки, у которых площадь перекрытия не равна нулю (участок полностью вне зоны) и не равна площади участка (участок полностью внутри зоны). В меню "Карта" выполним команду "Создать тематическую карту...", и выберем Отдельные значения:
Далее выберем базовый слой и зададим выражение, которое обращается в "Истину", если выполняется условие "перекрытие не равно нулю и перекрытие не равно площади участка":
ПропСуммаCOL2<>CartesianArea(obj, "sq m") and ПропСуммаCOL2<>0)
Настроим стиль объектов, для которых условие истинно. Выберем зелёную полупрозрачную штриховку и выключим "Заменить стиль", чтобы остались видны участки, для которых условие ложно (которые не имеют пересечений):
Результат очень нагляден:
Кое-где вылезла моя небрежность при создании участков- я совсем не соблюдал топологию, просто тиражировал один прямоугольник, поэтому не сходятся узлы соседних объектов, что и привело к пересечению с зоной.
Визуализация не статична. При исправлении пересечения (изменение границы участка или зоны) зелёная штриховка пропадает. При небольших объёмах данных это очень удобно, а если территория велика и количество участков сотни, то после каждой правки объекта динамическое обновление будет отнимать время (в таком случае следует отказаться от динамического обновления).
Рассмотрен самый простой случай с одной зоной. Если зон несколько и они смежные придётся усложнить технологию. Точность выявления пересечения можно настроить, чтобы не показывались пересечения площадью в несколько квадратных миллиметров.