Перетворення ліній на багатокутники в QGIS виробляє полігони Sliver


9

Намагаючись полігонізувати полілінійний шар в PyQGIS, використовуючи

processing.runandload("qgis:linestopolygons",explode_path,polygon_path)

команда в консолі python, вона не створює полігонів, відповідних країв ребер. Натомість він створює повзучі багатокутники по вигнутих краях. Чому багатокутники не створюються уздовж ребер ліній?

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

На полігонізації чорні лінії повинні бути країми створених багатокутників. Натомість лише декілька повзунків створюються уздовж вигнутих країв (сині багатокутники).


Ви спробували версію інструменту SAGA:processing.runandload("saga:convertlinestopolygons",explode_path,polygon_path)
Джозеф

@Joseph тільки зараз спробував версію SAGA. Проте результат той самий.
Sjs

1
Спробуйте очистити лінійку формного формату за допомогою перевірки геометрії плагіна або інструменту GRASS v.clean .
Йосип

2
@Joseph дані топологічно чисті. Отримайте бажаний результат за допомогою інструмента "Полігонізувати". Дякую за коментарі.
Дізналися

Гарний, радий, що ти знайшов рішення =)
Йосип

Відповіді:


8

Отримайте точні полігони за бажанням, використовуючи алгоритм "Полігонізація" (Processing Toolbox -> QGIS Geoalgorithms -> Polygonize) на консолі python.

import processing
polygon_path = "C:\\Documents and Settings\\User\\polygonsFormed.shp"
line_path = "C:\\Documents and Settings\\User\\inputLine.shp"
processing.runandload("qgis:polygonize",line_path,False,False,polygon_path)

0

Була така ж проблема під час використання інструменту "Лінії до полігонів", доступного в меню "Вектор". Отримано багато маленьких багатокутників косого, хоча дані топологічно правильні.

"Полігонізувати"

Для мене працював геоалгоритм QGIS, доступний на панелі інструментів обробки.

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