Я работаю над данными о собственности на уровне округа США. У меня есть один шейп-файл на страну, который содержит тысячи налоговых посылок. Мне нужно распустить полигоны, представляющие участки, принадлежащие одному и тому же лицу. Когда шейп-файл не является чистым, инструмент «Растворение» в QGIS, похоже, не работает, он зависает. Сначала я должен исправить проблемы с правильностью геометрии с помощью инструмента «Проверить правильность геометрии». Однако у меня иногда бывают сотни ошибок. Требуется много времени, чтобы починить их вручную. Есть ли другие стратегии, которые могли бы сэкономить мне время?
Я использую QGIS 2.4.0.
Ответы:
Попробуйте запустить тонкий буфер на полигонах. Установка -0,001, если ваш CRS UTM, кажется, стоит попробовать. ВЕКТОР | BUFFER
источник
Когда у меня есть слой с ошибками, я обычно запускаю его через функцию GRASS v.clean на панели инструментов обработки . Хотя я так и не понял, какой инструмент лучше в этом случае, я обычно выбираю там функцию bpol .
Возможно, еще более важно установить расширенные параметры для допуска на снимки и минимальной площади . В зависимости от слоя, я обычно выбираю 0,1-2 метра для привязки и, например, 10 кв. М для минимальной площади.
Например, привязка выравнивает границы, которые должны быть общими границами, но имеют небольшие смещения, минимальная площадь устраняет крошечные осколки на пересечениях и т. Д.
Вместе с bpol это обычно разрешает все ошибки без слишком большого изменения топологии.
источник
Вы можете использовать ST_MakeValid непосредственно в QGIS, добавив плагин lwgeom, который добавляет провайдера lwgeom в набор инструментов обработки => вы можете применить MakeValid непосредственно к загруженному слою без конвертации в postigs /atialite. Postgis /atialite использует тот же liblwgeom, чтобы сделать ST_MakeValid
Вы должны установить liblwgeom и настроить поставщика обработки, чтобы указать на него
Поставщик lwgeom может быть найден в качестве экспериментального: https://plugins.qgis.org/plugins/processinglwgeomprovider/
источник
Сохранение данных в PostGIS и запуск ST_MakeValid могут помочь http://postgis.refractions.net/docs/ST_MakeValid.html . Spatialite также имеет ST_MakeValid http://www.gaia-gis.it/gaia-sins/spatialite-sql-latest.html .
источник
Я просто столкнулся с подобной проблемой в QGIS. У меня поли начал проецировать неправильно. Я использовал Grass fuction v.clean в наборе инструментов Processing, как предложил Бернд. Хотя bpol не сработал, похоже, это было исправлено с помощью функции break.
источник