Как исправить многоугольники в QGIS?

10

У меня есть несколько многоугольников в qgis-1.7.0 и я хочу убедиться, что каждый многоугольник является прямоугольником. Смотрите изображение ниже.

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

Есть ли способ, которым я могу сделать это в QGIS (или любой другой F / OSS)? Или как я могу улучшить мой рисунок многоугольника, чтобы убедиться, например, что каждое здание состоит из прямоугольников (все ангелы = 90 °)?

Любые намеки приветствуются! Спасибо!

Afr
источник
Не обращайте внимания на мой закрытый флаг. Это другой вопрос.
Натан W
В теории должно быть довольно легко написать что-то, чтобы сделать это. Обведите каждую точку в нечетной форме, проверяя угол наклона к следующей точке от текущей, если она не равна 90, затем рассчитайте новую точку и отрегулируйте ее. Теперь кому-то просто нужно написать код :)
Натан W
прочитайте этот ответ для ортогональной оцифровки.
Арагон,
2
@ Натан Это нигде не так просто, как в целом, потому что каждый раз, когда вы меняете местоположение вершины, вы создаете искажения в другом месте. Даже при исправлении почти прямоугольников (в отличие от более сложных многоугольников) вы можете создавать новые функции, которые явно не очень хорошо приближаются к исходным. Одна из проблем заключается в том, что не существует уникального способа вычисления новой точки в плохой вершине. См. Forums.esri.com/Thread.asp?c=93&f=987&t=303128#948330 для обсуждения и псевдокода. Я проверил этот подход (с использованием Excel, всего!) И обнаружил, что он работает хорошо.
whuber
1
@ Пока я тоже не могу его найти. Тесно связанный (где я написал комментарий, а не ответ) - « Поиск многоугольников без прямых углов» . В своем поиске я также обнаружил, как создавать полигоны с прямыми и прямыми углами в QGIS, а также дубликаты (которые я только что закрыл и объединил).
whuber

Ответы:

2

Существует инструмент QGIS, который называется Oriented minimum bounding box. Вы можете найти это под Processing > QGIS geoalgorithms > Vector general tools. Я использую QGIS 2.18.

Может быть, это близко к тому, что вы хотите достичь.

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

Стефан
источник
Круто, это очень близко к тому, что я искал!
Afr
2

Вы можете исправить это с помощью ограничительной области всех многоугольников. Название функции - Polygon из экстента слоя .

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

Выберите слой и отметьте опцию « Рассчитать экстент» для каждого объекта отдельно :

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

Все оригинальные полигоны присутствуют в одном слое, а не по отдельности. QGIS рассчитает площадь ограничительной рамки для всех объектов:

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

QGIS Скалы! Объятия из Бразилии!

Хорхе Сантос

Хорхе Сантос
источник
Ответ не учитывает вращение многоугольников.
GreyHippo