Виправлення помилок дійсності геометрії в QGIS?


31

Я працюю над даними про право власності на рівні округу США. У мене є одна форма файлів для округу, яка містить тисячі податкових посилок. Мені потрібно розпустити багатокутники, що представляють посилки, що належать одній особі. Якщо файл з форматом не чистий, інструмент «Розчинити» в QGIS, здається, не працює, він застигає. Перш за все, я повинен виправити проблеми дійсності геометрії за допомогою інструменту «Перевірка дійсності геометрії». Однак у мене іноді сотні помилок. Щоб їх виправити вручну, потрібно багато часу. Чи є якісь інші стратегії, які могли б заощадити мені час?

Я використовую QGIS 2.4.0.


2
Ви намагалися імпортувати файл у траву та використовувати v.clean? це, мабуть, виправить багато ваших помилок.
Серхіо

Відповіді:


20

Спробуйте запустити тонкий буфер на полігонах. Установка -0,001, якщо ваш CRS є UTM, здається, варто спробувати. ВЕКТОР | БУФЕР


4
Я спробував рішення "Буфер", яке вперше запропонував Білл. Це вирішило 97% моїх питань, що мені зараз достатньо. Я можу закінчити роботу вручну. Запуск невеликого буфера на полігонах не створить для мене жодної проблеми в дорозі, я вважаю. Але я можу побачити деякі випадки, коли використання ST_MakeValid або спроба v.clean може бути кращим і точнішим.
Бап

18

Коли у мене шар з помилками, я зазвичай запускаю його через функцію GRASS v.clean в панелі інструментів обробки . Хоча я ніколи не розумів, який інструмент найкращий у такому випадку, я зазвичай вибираю функцію bpol там.

Можливо, ще важливіше - це встановити розширені параметри для толерантності при замиканні та мінімальної площі . Залежно від шару, я зазвичай вибираю 0,1-2 метра для забивання і, наприклад, 10 кв.м для мінімальної площі.

Оснащення, наприклад, вирівнює межі, які призначені для спільних кордонів, але мають невеликі зміщення, мінімальна площа виключає крихітні прокладки від перетинів тощо.

Разом з bpol це правило дозволяє вирішити всі помилки, не надто сильно змінюючи топологію.


11

Ви можете використовувати ST_MakeValid безпосередньо в QGIS, додаючи плагін lwgeom, який додає lwgeom провайдера до обробки інструментальних панелей => ви можете застосувати MakeValid безпосередньо на завантаженому шарі, не перетворюючи в постиг / просторит. Постгіти / просторіти використовують той же liblwgeom, щоб зробити ST_MakeValid

вам потрібно встановити liblwgeom і налаштувати постачальника обробки, щоб вказати на нього

Провайдера lwgeom можна знайти як експериментальний: https://plugins.qgis.org/plugins/processinglwgeomprovider/


3
Щойно я випустив нову версію провайдера Processlwgeom, яку можна використовувати з поточною головною версією qgis-обробки. (обробка проходить рефакторинг)
Луїджі Піреллі

2
Привіт @LuigiPirelli Я намагався вирішити подібну проблему за допомогою плагіна Lwgeom, але він завжди виходить з ладу під час виконання, і мені потрібно знову запустити QGis заново. Чи я можу це виправити? Спасибі.
Алекс Фернандес Пулуссен

1
важко сказати, не маючи більше запущеного контексту. Btw з 2014 року є більше інструментів для ремонту геометрії, доступних у qgis. Зазвичай збій у lwgeom - це проблема нерівності (брудна установка) у завантаженому або спільному об'єкті. ви протестували інші інструменти?
Луїджі Піреллі

1
Це працює з QGIS 2.18? Мабуть,
RutgerH

1
Просто оновлення ... з часу QGIS3.x має алгоритм обробки власного фіксагеометрії, який є обгорткою алгоритмів GEOS lwgeom MakeValid. Ніякий db не потрібен.
Луїджі Піреллі


2

Я просто зіткнувся з подібною проблемою в qgis. У мене полі почав проектуватися неправильно. Я використав fuction Grass v.clean в панелі інструментів Processing, як запропонував Бернд. Хоча bpol не працював, він, здається, виправлений функцією перерви.

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