Идентификация перекрывающихся полигонов в одном слое с использованием QGIS?

11

У меня есть шейп-файл буферизованных точек в QGIS. Мне нужно отобразить все буферные полигоны в этом слое, которые перекрываются. Я экспериментировал с инструментом пересечения, но это, кажется, работает, только если я смотрю на пересечение двух отдельных слоев, в противном случае он просто говорит, что все многоугольники пересекаются.

У кого-нибудь есть решение QGIS?

user1658170
источник

Ответы:

14

Включите плагин проверки топологии в диспетчере плагинов. Добавьте свой полигональный слой в окне настроек правила топологии, выберите правило «не должно перекрываться» и добавьте их. Чтобы увидеть ошибки перекрытия, нажмите кнопку «Подтвердить».

spatialhast
источник
Это работает, однако, это, кажется, не обнаруживает точные перекрытия, то есть многоугольники, которые являются точно такими же. Мне тоже нужно их выбрать
user1658170
Попробуйте преобразовать полигоны в линии (Вектор - Инструменты геометрии - Полигоны в линии), а затем создайте точечный слой из пересечений линий - Вектор - Инструменты анализа - Пересечения линий. Вы получаете точки в точках пересечения, где линия одного многоугольника пересекается с другим многоугольником. Затем выберите перекрывающийся многоугольник, создайте пространственный запрос, используя точечные и многоугольные слои, и вы получите выбранные многоугольные объекты, которые имеют перекрытия.
spatialhast
2
Спасибо за предложение. В итоге получилось добавить 2 разных правила для проверки топологии. Правило 1 было определено как «не должно перекрываться», чтобы зафиксировать перекрытия, а правило 2 было определено как «не должно иметь дубликатов», чтобы зафиксировать точное перекрытие.
user1658170
1
Еще один вопрос, связанный с этим вопросом. Есть ли способ выделить ошибки в исходном слое?
user1658170
1

У меня была похожая проблема, но я нашел удовлетворительное решение. Дублируйте тот же слой и выберите инструмент пространственного запроса. Добавьте оригинал и скопированные слои. Выберите перекрытие вместо пересечения. Запустите его, и вы найдете подсвеченные пересекающиеся буферы. Вы можете перейти оттуда.

Абд
источник
9
Если это дубликат, не перекрываются ли все полигоны между двумя слоями?
HeikkiVesanto