Згладжування / узагальнення полігону в QGIS?


38

Чи можливо згладити чи узагальнити багатокутник у QGIS, можливо, використовуючи плагін, як генералізатор-плагін для ліній?

Я міг би перетворити свої багатокутники на лінії, згладити їх та перетворити їх назад на багатокутники, але це не працює для моїх полігонів з кількох причин.

Відповіді:


27

Ви можете використовувати:

Vector menu -> Geometry tools -> Simplify Geometries

.

спростити

Крім цього, ви можете використовувати алгоритм Дугласа-Пекера і в postgis, так що ви можете використовувати в postgis, а потім додавати postgis шар до qgis. Ви можете знайти тут інформацію про спрощення: зменшення ваги геометрії.

SELECT simplify(the_geom,500) as simpgeom 
    FROM neighborhoods

спрощеність


4
Це спрощує лінії, роблячи їх більш зубчастими. Чи є спосіб їх згладити (який, мабуть, повинен був би інтерполювати деякі моменти)?
Нейт Вессел

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

1
Для отримання додаткової інформації цей інструмент переміщено у QGIS 2.16 до панелі інструментів Processing / QGIS геоалгоритми / Інструменти векторної геометрії / спрощення геометрії
gisnside

20

Відповідь Арагона хороша для узагальнення. Відповідь Брайана хороша для згладжування, але трохи заплутана. Ось дві альтернативи згладжування:

  • Використовуйте v.generalizerінструмент GRASS з панелі інструментів Processing. Це модуль, на якому побудований плагін генератора QGIS у відповіді Брайана. Інструмент GRASS дозволяє використовувати багатокутники, щоб ви могли уникнути кроків перетворення на лінії та назад знову. Це відмінний інструмент, що має багато алгоритмів згладжування / узагальнення.
  • Використовуйте підхід «old-school» буфера-відладчика. Просто буферуйте багатокутники на відповідну кількість (ваш дзвінок залежно від характеру даних та ступеня згладжування, які вам потрібні). Потім зніміть буфер, застосувавши те саме значення для відстані буфера, але зробивши це негативним цього разу. Якщо ви розчиняєте буфери вперше, ви можете одночасно усунути невеликі зазори або отвори для пончиків, якщо це потрібно (хоча це не завжди бажано, тому уважно подумайте, перш ніж вирішити розчинити).

Згладжування часто означає додавання вершин (особливо методом буфер-відладчик). Після згладжування ви можете застосувати узагальнення відповідно до відповіді Арагона.


1
Хороша демонстрація підходу «буфер / де-буфер» у Paul Ramsey:
Removal

Відмінна ідея! Я використовував обидва підходи, Ramer (лінії) та на основі області, останній давав трохи більш плавний полис, але все ще виглядає як колючий дріт. Сподіваюся, що цей підхід працює краще.
culebrón

16

Також мені пощастило використовувати плагін QGIS Generalizer (увімкнути експериментальні плагіни), а потім:

Vector > Geometry Tools > Polygons to lines

Потім використовуйте плагін Generalizer, щоб згладити лінії та вершини

Plugins > Generalizer > Generalizer
Algorithm: "Chaiken's Algorithm"

Потім поверніть лінії назад у багатокутники

Vector > Geometry Tools > Polygons to lines

Це робить кращу роботу, фактично згладжуючи лінії і округлюючи кути. Трохи незграбно потрібно перемикатись між лініями та полісами, але це працює. Я знаю, що є способи зробити це і через Grass, але мені було важко налаштувати.


Це корисний підхід: однак у мене в полігонах були дірки, і я не можу їх відтворити за допомогою інструмента "line-> polygon"
Djana

6

Тепер доступний Smooth geometryалгоритм через Processing Toolbox > QGIS geoalgorithms > Vector Geometry Tools.

  1. Візьміть нерівні об’єкти геометріївведіть тут опис зображення
  2. Встановити параметри (я змінив Iterationsполе на 5і був задоволений результатом)введіть тут опис зображення
  3. Отримайте згладжений об’єкт введіть тут опис зображення

Чи "алгоритм гладкої геометрії" все ще є дійсним варіантом? Оскільки я не отримую бажаних результатів за допомогою інших алгоритмів, я шукав цей алгоритм у моїй установці QGIS 2.14, але не зміг його знайти. Потім я встановив QGIS 2.18.16, але все ще не можу знайти цей алгоритм на панелі інструментів обробки. Я вдячний за будь-яку допомогу в пошуку або встановленні.
Тая

1
Гаразд, вирішення власної проблеми знайдено після перезавантаження системи. Виникла проблема з плагіном для обробки відразу після того, як була завершена нова установка QGIS 2.18. Перезапуск системи та QGIS виправили це, і я можу побачити "Алгоритм гладкої геометрії" всередині інструментальної області обробки.
Тая

Я повинен частіше перевіряти gisSE :) Радий, що ти знайшов рішення
Микола Козир

Я думаю, що вам не вистачає кроку ... У мене є французька версія для моєї установки QGIS, тому я не можу повністю додати крок, але десь уздовж лінії мені довелося вибрати "менший".
user3386170

2

Клацніть правою кнопкою миші на головній дошці (вгорі), потім активуйте "панель інструментів" -> див., Як ви бачите на малюнку нижче введіть тут опис зображення

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