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

Здесь нужно сообщать об ошибках в QGIS, с подробным описанием шагов и версии ПО.
Аватара пользователя
Игорь Лебедь
Завсегдатай
Сообщения: 450
Зарегистрирован: 24 апр 2010, 19:47
Репутация: 100
Откуда: Город в клёнах и акациях
Контактная информация:

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

Сообщение Игорь Лебедь » 21 авг 2017, 10:10

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

Аватара пользователя
Denis Rykov
Гуру
Сообщения: 3376
Зарегистрирован: 11 апр 2008, 21:09
Статьи: 33
Проекты: 9
Репутация: 526
Ваше звание: Author
Контактная информация:

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

Сообщение Denis Rykov » 21 авг 2017, 10:13

Ну хоть пример для тестов приложили бы.
Spatial is now, more than ever, just another column- The Geometry Column.

Александр Мурый
Гуру
Сообщения: 5173
Зарегистрирован: 26 сен 2009, 16:26
Статьи: 3
Проекты: 5/1
Репутация: 786
Ваше звание: званий не имею
Откуда: Москва

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

Сообщение Александр Мурый » 21 авг 2017, 10:28

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

Аватара пользователя
Игорь Лебедь
Завсегдатай
Сообщения: 450
Зарегистрирован: 24 апр 2010, 19:47
Репутация: 100
Откуда: Город в клёнах и акациях
Контактная информация:

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

Сообщение Игорь Лебедь » 21 авг 2017, 11:15

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

gamm
Гуру
Сообщения: 2981
Зарегистрирован: 15 окт 2010, 08:33
Репутация: 694
Ваше звание: программист
Откуда: Казань

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

Сообщение gamm » 21 авг 2017, 11:25

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

Аватара пользователя
Игорь Лебедь
Завсегдатай
Сообщения: 450
Зарегистрирован: 24 апр 2010, 19:47
Репутация: 100
Откуда: Город в клёнах и акациях
Контактная информация:

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

Сообщение Игорь Лебедь » 21 авг 2017, 11:31

Возможно, в некоторых местах прилипание не к вершинам, а к рёбрам, и арк строит по ним, а кугис - нет?

gamm
Гуру
Сообщения: 2981
Зарегистрирован: 15 окт 2010, 08:33
Репутация: 694
Ваше звание: программист
Откуда: Казань

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

Сообщение gamm » 21 авг 2017, 12:28

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

trir
Гуру
Сообщения: 4386
Зарегистрирован: 09 апр 2010, 19:30
Статьи: 1
Репутация: 801
Ваше звание: просто мимо прохожу
Откуда: Ё-бург

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

Сообщение trir » 21 авг 2017, 12:37

там линии - "змейками", стоит их порезать по вершинам - может и QGIS переварит...

Аватара пользователя
Игорь Белов
Гуру
Сообщения: 1844
Зарегистрирован: 04 янв 2011, 22:00
Статьи: 12
Проекты: 1
Репутация: 1151
Откуда: Казань

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

Сообщение Игорь Белов » 21 авг 2017, 12:41

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

Аватара пользователя
Игорь Лебедь
Завсегдатай
Сообщения: 450
Зарегистрирован: 24 апр 2010, 19:47
Репутация: 100
Откуда: Город в клёнах и акациях
Контактная информация:

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

Сообщение Игорь Лебедь » 21 авг 2017, 13:46

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

Александр Мурый
Гуру
Сообщения: 5173
Зарегистрирован: 26 сен 2009, 16:26
Статьи: 3
Проекты: 5/1
Репутация: 786
Ваше звание: званий не имею
Откуда: Москва

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

Сообщение Александр Мурый » 21 авг 2017, 14:00

Игорь Лебедь писал(а):
21 авг 2017, 13:46
to gamm - топология в слое верная
А вот и нет:
Selection_030.png
Selection_030.png (101.75 КБ) 3400 просмотров

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

Команды 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
Редактор материалов, модератор форума

Александр Мурый
Гуру
Сообщения: 5173
Зарегистрирован: 26 сен 2009, 16:26
Статьи: 3
Проекты: 5/1
Репутация: 786
Ваше звание: званий не имею
Откуда: Москва

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

Сообщение Александр Мурый » 21 авг 2017, 14:06

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

Александр Мурый
Гуру
Сообщения: 5173
Зарегистрирован: 26 сен 2009, 16:26
Статьи: 3
Проекты: 5/1
Репутация: 786
Ваше звание: званий не имею
Откуда: Москва

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

Сообщение Александр Мурый » 21 авг 2017, 16:21

Дополнение: инструмент "Processing -> Polygonize" работает нормально и без возни с топологией.
Редактор материалов, модератор форума

Аватара пользователя
Игорь Лебедь
Завсегдатай
Сообщения: 450
Зарегистрирован: 24 апр 2010, 19:47
Репутация: 100
Откуда: Город в клёнах и акациях
Контактная информация:

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

Сообщение Игорь Лебедь » 21 авг 2017, 18:14

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

Аватара пользователя
Игорь Белов
Гуру
Сообщения: 1844
Зарегистрирован: 04 янв 2011, 22:00
Статьи: 12
Проекты: 1
Репутация: 1151
Откуда: Казань

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

Сообщение Игорь Белов » 21 авг 2017, 21:14

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

Ответить

Вернуться в «Ошибки QGIS»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость