Описание проблем при создании и редактировании слоя полигоно

Вопросы по свободной ГИС QGIS. Сообщения об ошибках, предложения по улучшению, локализация.
bim2010
Гуру
Сообщения: 977
Зарегистрирован: 27 янв 2009, 22:57
Репутация: 258

Описание проблем при создании и редактировании слоя полигоно

Сообщение bim2010 » 26 фев 2016, 13:41

Описание проблем при создании, редактировании слоя полигонов:
1. Заходим в QGIS в меню Установки/Параметры/Оцифровка (возможно и не в этом режиме).
Резиновая нить позволяет редактировать только два параметра: Толщина линии, Цвет линии.
Необходимо еще редактирование прозрачности. Причем в QGIS по умолчанию установлено должно быть на 30 - 50 %. Еще плохо просматриваются узлы других полигонов.
Получается сложные полигоны не обвести за один проход. Надо мудрить: делать несколько полигонов, затем их объединять или делать при создании полигона дополнительные несуществующие узлы, меняющие угол атаки, которые позже удаляем.
2. При создании нового полигона примыкающего к существующему необходимо чтобы после указания двух узлов принадлежащих примыкающему полигону нажимаем комбинацию клавиш например ctrl+shift+r и предлагается автоматически примкнутый полигон по часовой стрелки, ctrl+shift+l - предлагается автоматически примкнутый полигон против часовой стрелки.
3. Необходима кнопка редактирования атрибутов выбранного на карте полигона.
Вложения
qgis1.jpg
Узлы не видны, прозрачность не достаточная
qgis1.jpg (845.51 КБ) 10430 просмотров
qgis2.jpg
Создали 2 узла нового полигона
qgis2.jpg (922.68 КБ) 10430 просмотров
qgis3.jpg
По нажатию комбинации клавиш получили примыкающий полигон автоматически
qgis3.jpg (1.07 МБ) 10430 просмотров

Warak
Новоприбывший
Сообщения: 10
Зарегистрирован: 25 фев 2016, 14:30
Репутация: 3

Re: Рисование длинных полигонов

Сообщение Warak » 26 фев 2016, 15:00

bim2010 Слушай раз уж зашла речь...а вот крестики которые отмечают вершины, я увидел где можно отредактировать их размер и поменять форму на круглые практически незаметные метки, но я не увидел рядом возможности поменять их цвет\жирность. Невидимые круги вообще не вариант, тонкие хоть и большие красные крестики тоже не самый удобный вариант. Залитая цветом точка с возможностью изменения размера\цвета было бы не плохо, ну или более продвинутые крестики.

Хороший пример.
Изображение
Вот ведь софтина умеет рисовать хорошие крестики, почему нельзя(я не нашел) сделать вершины полигона аналогичными, пусть даже кислотно зелеными :)

bim2010
Гуру
Сообщения: 977
Зарегистрирован: 27 янв 2009, 22:57
Репутация: 258

Re: Рисование длинных полигонов

Сообщение bim2010 » 26 фев 2016, 15:42

Еще один вариант создания полигонов:
Создаем слой линий. В меню QGIS Вектор/Обработка геометрии / Проверка геометрии. Устраняем возможные ошибки. Затем выполним в меню QGIS Вектор/Обработка геометрии /Линии в полигоны. Результат преобразования линий в полигоны неудовлетворительный - большинство полигонов самопересекающиеся. А Mapinfo с этими же данными и задачей преобразования линий в полигоны справляется.
Вложения
qgis4.jpg
qgis4.jpg (1.64 МБ) 10401 просмотр

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

Re: Рисование длинных полигонов

Сообщение Александр Мурый » 26 фев 2016, 15:51

bim2010 писал(а):Результат преобразования линий в полигоны неудовлетворительный - большинство полигонов самопересекающиеся. А Mapinfo с этими же данными и задачей преобразования линий в полигоны справляется.
А это не может быть связано с тем, что топологическая проверка у MapInfo работает по-другому, чем у QGIS? Там случаем не пропускаются полигоны с явными ошибками в угоду лёгкости преобразования?
Редактор материалов, модератор форума

bim2010
Гуру
Сообщения: 977
Зарегистрирован: 27 янв 2009, 22:57
Репутация: 258

Re: Рисование длинных полигонов

Сообщение bim2010 » 26 фев 2016, 16:17

Вот пример для тестов. Это кусочек N-36-III. Геологическая карта СССР. Четвертичные отложения. Серия Московская
N_36_III_geolog_test_lin - исходный линейный слой.
N_36_III_geolog_test_poli - полигоналный слой полученный в QGIS Вектор/Обработка геометрии /Линии в полигоны.
Система координат: EPSG 3857 WGS 84 / Pseudo Mercator
Вложения
_geolog.zip
(992.28 КБ) 273 скачивания

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

Re: Описание проблем при создании и редактировании слоя поли

Сообщение Александр Мурый » 26 фев 2016, 17:29

В слое "N_36_III_geolog_test_lin.shp" много мусорных линий, не соответствующих линиям на исходной карте.
Если импортировать линии в GRASS, быстро почистить топологию через v.clean и перегнать в полигоны, то получится примерно как на картинке.
Снимок экрана_2016-02-26_17-28-39.png
Снимок экрана_2016-02-26_17-28-39.png (206.53 КБ) 10355 просмотров
Редактор материалов, модератор форума

bim2010
Гуру
Сообщения: 977
Зарегистрирован: 27 янв 2009, 22:57
Репутация: 258

Re: Описание проблем при создании и редактировании слоя поли

Сообщение bim2010 » 26 фев 2016, 18:55

В слое "N_36_III_geolog_test_lin.shp" много мусорных линий, не соответствующих линиям на исходной карте.
Александр мусорные линии в студию. Буду разбираться. Линейный слой создан в QGIS. Получается что и создание линий в QGIS работает с ошибками. Может проблема в Id.
Еще одна ошибка QGIS обнаружилась при редактировании:
Берем N_36_III_geolog_test_lin, включаем режим редактирования. Переходим в меню Правка/Разбить объекты и разрезаем например посередине слоя. Нажимаем на кнопку "Выделить объекты" и выделяем половину слоя. Нажимаем "delete" и удалаем часть линий. Сохранем слой и закрываем его в QGIS. Открываем слой например с помощью SAGA GIS или Global Mapper и видим - удаление не произошло. Ошибка воспроизводится в win QGIS 2.12.2 и 2.12.3-1 64 бит.
На приведенной Александром картинке не хватает десятков полигонов. Дырок не должно быть. Аллювий выпал. Mapinfo не создало абсолютно все необходимые полигоны, но большинство. В QGIS не удается добиться того, что вы сделали в GRASS. Напомню - это тема про QGIS.
Вложения
qgis6.jpg
Слой полигонов созданный с помощью Mapinfo
qgis6.jpg (1.14 МБ) 10330 просмотров

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

Re: Описание проблем при создании и редактировании слоя поли

Сообщение Александр Мурый » 26 фев 2016, 19:31

Я конечно рад за успехи MapInfo, но спешу напомнить, что QGIS — не топологическая ГИС, а шейп-файл — не топологический формат. А исходные линии предполагают топологию. Так что вины собственно QGIS в непостроении полигонов не вижу.
Или я что-то не так понял?

Про "мусорные" линии я зря сказал, просто нашёл в нескольких местах несоответствие исходного растра и линий. Они не мусорные, они, скорее, дорисованные.

Вообще, здесь бы по-хорошему рисовать сразу полигоны, причём в несколько слоёв.
Редактор материалов, модератор форума

bim2010
Гуру
Сообщения: 977
Зарегистрирован: 27 янв 2009, 22:57
Репутация: 258

Re: Описание проблем при создании и редактировании слоя поли

Сообщение bim2010 » 26 фев 2016, 19:59

Они не мусорные, они, скорее, дорисованные.
Заявленный масштаб 1:200000 - слишком оптимистичен.
Все гораздо более генерализовано. Стараюсь привести к единой топооснове.

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

Re: Описание проблем при создании и редактировании слоя поли

Сообщение Denis Rykov » 27 фев 2016, 07:25

bim2010 писал(а):
Сохранем слой и закрываем его в QGIS. Открываем слой например с помощью SAGA GIS или Global Mapper и видим - удаление не произошло. Ошибка воспроизводится в win QGIS 2.12.2 и 2.12.3-1 64 бит.
https://hub.qgis.org/issues/11007
Spatial is now, more than ever, just another column- The Geometry Column.

bim2010
Гуру
Сообщения: 977
Зарегистрирован: 27 янв 2009, 22:57
Репутация: 258

Re: Описание проблем при создании и редактировании слоя поли

Сообщение bim2010 » 28 фев 2016, 08:51

Денис спасибо что подключились к разговору. Этот вопрос больше не поднимаю.
Перечитал пост. Разделение темы модератором на две дало отрицательный результат.
Вообще не понятно что я хочу сказать. В чем проблема? Как решается. Возможно уже решено...
1. Актуальность задачи.
Одной из типовых задач универсальной ГИС является векторизация. Создание слоя состоящего из примыкающих друг к другу полигонов достаточно распространенная задача. Например слои: административно-территориального деления, кадастровые кварталы, лесоустроительные кварталы, ЛУ выделы, почвенные карты, геологические карты, ландшафтные карты и масса других тематических карт. Особенность рисования примыкающих полигонов - наличие общих частей. Насколько изменится объем работы, если бы необходимо было бы рисовать общие части несколько раз, например в проекта Свободные данные по границам субъектов РФ? Или насколько бы увеличилась работа при рисовании слоя муниципальных районов, сельских поселений здесь или здесь. Периметр всех полигонов районов Смоленской области составляет 8395 км из них 6495 км общая часть полигонов. Т.е. в случае дублирования вместо 8395 км надо обвести 14890 км что составляет 177 % объема работ.
2. Предложенный здесь вариант сформировать связанный полигон, возможно сложен в реализации и имеет подводные камни. Например, если узел принадлежит нескольким полигонам. Тогда надо открывать дополнительное окно с возможностью выбора о каком полигоне речь.
3. Как эта задача решается в других ГИС?
Пользователь выделает несколько линий и выбирает режим создать полигон из линий (создать relation в JOSM). В случае QGIS можно было бы работать в два слоя: линейный - исходный слой в котором рисуются части полигона и результирующий полигональный слой, вот только создается он последовательно, с добавлением по одному полигону.
4. Александр Мурый писал:
Я конечно рад за успехи MapInfo, но спешу напомнить, что QGIS — не топологическая ГИС, а шейп-файл — не топологический формат. А исходные линии предполагают топологию. Так что вины собственно QGIS в непостроении полигонов не вижу. Или я что-то не так понял?
Я не продавец Mapinfo. QGIS мой осознанный выбор. Я знаю что GRASS топологическая ГИС, а большинство остальных ГИС нет. В остальном, ваше утверждение абсолютно не верно. Внимательно посмотрите на полигоны, перечитайте книгу Т. Кормен. "Алгоритмы: построение и анализ". Задачу коммивояжера не напоминает? Со своими особенностями конечно. Не надо учитывать направление линий.
5. Представьте, что вы ставите своим ученикам, студентам выполнить подобную задачу, только средствами QGIS. Сегодня она невыполнима стандартными средствами QGIS.

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

Re: Описание проблем при создании и редактировании слоя поли

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

bim2010 писал(а):Разделение темы модератором на две[/url] дало отрицательный результат.
Вообще не понятно что я хочу сказать. В чем проблема? Как решается. Возможно уже решено...
Валить всё в одну кучу — плохая практика. Предыдущая тема была связана с оцифровкой длинных полигонов и ни с чем другим. Там в конце концов было предложено адекватное решение. Общие вопросы оцифровки в QGIS обсуждаются здесь. С этим проблем не вижу.
bim2010 писал(а): Особенность рисования примыкающих полигонов - наличие общих частей. Насколько изменится объем работы, если бы необходимо было бы рисовать общие части несколько раз
Правильно ли я понял, что вас не устраивает имеющееся в QGIS топологическое редактирование полигонов с запрещением пересечения и т.п.?
bim2010 писал(а): Внимательно посмотрите на полигоны, перечитайте книгу Т. Кормен. "Алгоритмы: построение и анализ". Задачу коммивояжера не напоминает? Со своими особенностями конечно. Не надо учитывать направление линий.
Спасибо за совет, конечно, но при чём здесь нахождение оптимального маршрута, проходящего через указанные точки? Поясните, пож-та.
bim2010 писал(а): 5. Представьте, что вы ставите своим ученикам, студентам выполнить подобную задачу, только средствами QGIS. Сегодня она невыполнима стандартными средствами QGIS.
Насколько я помню, эти данные по границам создавались именно в QGIS.
Редактор материалов, модератор форума

bim2010
Гуру
Сообщения: 977
Зарегистрирован: 27 янв 2009, 22:57
Репутация: 258

Re: Описание проблем при создании и редактировании слоя поли

Сообщение bim2010 » 28 фев 2016, 11:20

Правильно ли я понял, что вас не устраивает имеющееся в QGIS топологическое редактирование полигонов с запрещением пересечения и т.п.?
Нет, не в этом дело. Вижу три проблемы:
Если мы в QGIS создаем новый примыкающий полигон, то необходимо обвести уже созданные узлы, при этом происходит увеличение более чем в 1,5 раза объема работ. Кроме того узлы плохо различимы, а на ровных участках просто не видны. Не удовлетворяет прозрачность в режиме создания полигона.
Спасибо за совет, конечно, но при чём здесь нахождение оптимального маршрута, проходящего через указанные точки? Поясните, пож-та.
Находим узел в котором сходятся более двух линий. Считаем этот узел началом маршрута. Определяем оптимальный маршрут заканчивающийся в этом же узле. Направление линий игнорируем. Входящие в этот маршрут линии и есть полигон. Переходим к следующему узлу этого полигона содержащему более двух линий и строим оптимальный маршрут, не повторяющий созданный ранее полигон. В цикле... Закончились узлы полигона - ищем узел в котором сходятся более двух линий ранее не рассмотренный. В цикле...
Насколько я помню, эти данные по границам создавались именно в QGIS.
viewtopic.php?t=4721#p21668
5. Проведите участок границы (shape-полилиния, таблицу атрибутов можно не заполнять).
А вот как SS_Rebelious из наших линий сделал полигоны - вопрос. Просто титанический труд.

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

Re: Описание проблем при создании и редактировании слоя поли

Сообщение Александр Мурый » 28 фев 2016, 11:41

bim2010 писал(а):Если мы в QGIS создаем новый примыкающий полигон, то необходимо обвести уже созданные узлы, при этом происходит увеличение более чем в 1,5 раза объема работ.

Зачем обводить созданные узлы? Просто включите в настройках примыкания "запретить пересечение полигонов" и дорисовывайте новый полигон к имеющимся, всё должно примкнуться автоматически. Или я опять что-то не так понял?
bim2010 писал(а):Кроме того узлы плохо различимы, а на ровных участках просто не видны. Не удовлетворяет прозрачность в режиме создания полигона.

Вот это реальное задание для разработчиков QGIS.
bim2010 писал(а): Проведите участок границы (shape-полилиния, таблицу атрибутов можно не заполнять). А вот как SS_Rebelious из наших линий сделал полигоны - вопрос. Просто титанический труд.
Не понял предложения. Я участвовал в том проекте. Насчёт преобразования линий в полигоны давайте спросим у SS_Rebelious.
Редактор материалов, модератор форума

bim2010
Гуру
Сообщения: 977
Зарегистрирован: 27 янв 2009, 22:57
Репутация: 258

Re: Описание проблем при создании и редактировании слоя поли

Сообщение bim2010 » 28 фев 2016, 13:42

Зачем обводить созданные узлы? Просто включите в настройках примыкания "запретить пересечение полигонов" и дорисовывайте новый полигон к имеющимся, всё должно примкнуться автоматически. Или я опять что-то не так понял?
Да понимания нет. В моем понимании "примкнуться автоматически" означает не делать повторный обход общих со смежным полигоном точек.

Ответить

Вернуться в «QGIS»

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

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