Страница 1 из 2

Линии в полигоны

Добавлено: 21 авг 2017, 10:10
Игорь Лебедь
QGIS 2.16.3, Win7-64, но я думаю, это не главное.
1) Прогоняем такой слой из линий в полигоны стандартным инструментом кугис:
Screen043.jpg
Screen043.jpg (55.97 КБ) 12340 просмотров
2) Получаем результат:
Screen044.jpg
Screen044.jpg (43.78 КБ) 12340 просмотров
3) Через арктулбокс же получаем нормальный результат:
Screen045.jpg
Screen045.jpg (36.62 КБ) 12340 просмотров
Очень обидно, что такой классический функционал не работает. Через инструментарий саги в кугисе та же байда. Это баг?

Re: Линии в полигоны

Добавлено: 21 авг 2017, 10:13
Denis Rykov
Ну хоть пример для тестов приложили бы.

Re: Линии в полигоны

Добавлено: 21 авг 2017, 10:28
Александр Мурый
Какие данные, такой и результат. QGIS не исправляет ошибки топологии при перегоне в полигоны (можно предположить, что Арка это делает). С топологически корректно нарисованными линиями всё работает как надо.
Короче: чтобы разобраться, нужны ваши данные.

Re: Линии в полигоны

Добавлено: 21 авг 2017, 11:15
Игорь Лебедь
Пожалуйста -
fk.7z
(15.3 КБ) 372 скачивания
. Сомневаюсь, что аркмап исправляет ошибки. Вроде сделано всё с "прилипанием" (use snapping).
Думал сделать explode lines, но после него вообще формирует пустой слой полигонов.

Re: Линии в полигоны

Добавлено: 21 авг 2017, 11:25
gamm
Не сомневайтесь, Арка стрит нормальную топологию. То же делает GRASS, просто пользуйтесь инструментом, адекватным данным. И еще, ваш результат напоминает прилипание (snap) при ОЧЕНЬ большом толерансе, может просто параметры у вас не те.

Re: Линии в полигоны

Добавлено: 21 авг 2017, 11:31
Игорь Лебедь
Возможно, в некоторых местах прилипание не к вершинам, а к рёбрам, и арк строит по ним, а кугис - нет?

Re: Линии в полигоны

Добавлено: 21 авг 2017, 12:28
gamm
насколько я помню, Арка (и GRASS) стоят топологию (build+clean), а QGIS собирает из того, что есть. Так что проверьте для начала tolerance (или как он там в QGIS называется)

Re: Линии в полигоны

Добавлено: 21 авг 2017, 12:37
trir
там линии - "змейками", стоит их порезать по вершинам - может и QGIS переварит...

Re: Линии в полигоны

Добавлено: 21 авг 2017, 12:41
Игорь Белов
Вы многого хотите от QGIS. Он:
  • берёт полилинию;
  • если она незамкнутая, замыкает;
  • копирует как полигон;
  • переходит к следующей полилинии.
Желаете получить корректный результат, подготовьте данные.

Re: Линии в полигоны

Добавлено: 21 авг 2017, 13:46
Игорь Лебедь
to gamm - топология в слое верная, дело в принципе работы модуля
to trir - порезал же, выше написал - сделал explode lines, после этого вообще пустой слой
to Игорь Белов - спасибо, видимо, Вы правы. Наверно, это повод для фичреквеста. Был бы благодарен, если кто-то из разработчиков сможет включить, это в гитхаб? Сборка некстгиса, интересно, так же обрабатывает или нет (нет возможности проверить пока, к сожалению).

Re: Линии в полигоны

Добавлено: 21 авг 2017, 14:00
Александр Мурый
Игорь Лебедь писал(а):
21 авг 2017, 13:46
to gamm - топология в слое верная
А вот и нет:
Selection_030.png
Selection_030.png (101.75 КБ) 12257 просмотров

В "чистой" QGIS исправить на настоящий момент это нельзя. Импорт в GRASS, прогонка через модуль <v.clean> дала нужный результат (кроме тех мест, где линии вообще не доведены).
Selection_031.png
Selection_031.png (110.36 КБ) 12257 просмотров

Команды GRASS:

Код: Выделить всё

v.import in=fk.gpkg out=fk snap=5
v.clean in=fk out=fk_clean tool=snap,break thresh=5,5
v.type in=fk_clean out=fk_bounds from=line to=boundary
v.centroids in=fk_bounds out=fk_areas

Re: Линии в полигоны

Добавлено: 21 авг 2017, 14:06
Александр Мурый
Игорь Лебедь писал(а):
21 авг 2017, 13:46
Наверно, это повод для фичреквеста. Был бы благодарен, если кто-то из разработчиков сможет включить, это в гитхаб?
Задача нетривиальная и в формулировке "сделать как в Арке" (по моему скромному мнению) не особо нужная. Думаю, никто из разработчиков в здравом уме и без спец. заказа не будет за это браться при наличии GRASS и PostGIS с их топологиями.
Игорь Лебедь писал(а):
21 авг 2017, 13:46
Сборка некстгиса, интересно, так же обрабатывает или нет (нет возможности проверить пока, к сожалению).
Сборка НекстГИС - почти дефолтная QGIS, в плане работы с векторами - всё точно так же.

Re: Линии в полигоны

Добавлено: 21 авг 2017, 16:21
Александр Мурый
Дополнение: инструмент "Processing -> Polygonize" работает нормально и без возни с топологией.

Re: Линии в полигоны

Добавлено: 21 авг 2017, 18:14
Игорь Лебедь
Александр Мурый писал(а):
21 авг 2017, 14:00
В "чистой" QGIS исправить на настоящий момент это нельзя. Импорт в GRASS, прогонка через модуль <v.clean> дала нужный результат (кроме тех мест, где линии вообще не доведены).
Спасибо за проверку, придётся разбираться с грасс. Вообще странно работает прилипание в QGIS - при настроенном прилипании к вершинам с порогом в 20 м - столько ошибок.

Re: Линии в полигоны

Добавлено: 21 авг 2017, 21:14
Игорь Белов
Так Вы порог в единицах карты задавали! Сколько же метров на пиксель было на экране при оцифровке? Если больше 20 м, замыканий вообще не должно быть.