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

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

Добавлено: 26 фев 2016, 13:41
bim2010
Описание проблем при создании, редактировании слоя полигонов:
1. Заходим в QGIS в меню Установки/Параметры/Оцифровка (возможно и не в этом режиме).
Резиновая нить позволяет редактировать только два параметра: Толщина линии, Цвет линии.
Необходимо еще редактирование прозрачности. Причем в QGIS по умолчанию установлено должно быть на 30 - 50 %. Еще плохо просматриваются узлы других полигонов.
Получается сложные полигоны не обвести за один проход. Надо мудрить: делать несколько полигонов, затем их объединять или делать при создании полигона дополнительные несуществующие узлы, меняющие угол атаки, которые позже удаляем.
2. При создании нового полигона примыкающего к существующему необходимо чтобы после указания двух узлов принадлежащих примыкающему полигону нажимаем комбинацию клавиш например ctrl+shift+r и предлагается автоматически примкнутый полигон по часовой стрелки, ctrl+shift+l - предлагается автоматически примкнутый полигон против часовой стрелки.
3. Необходима кнопка редактирования атрибутов выбранного на карте полигона.

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

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

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

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

Добавлено: 26 фев 2016, 15:42
bim2010
Еще один вариант создания полигонов:
Создаем слой линий. В меню QGIS Вектор/Обработка геометрии / Проверка геометрии. Устраняем возможные ошибки. Затем выполним в меню QGIS Вектор/Обработка геометрии /Линии в полигоны. Результат преобразования линий в полигоны неудовлетворительный - большинство полигонов самопересекающиеся. А Mapinfo с этими же данными и задачей преобразования линий в полигоны справляется.

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

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

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

Добавлено: 26 фев 2016, 16:17
bim2010
Вот пример для тестов. Это кусочек N-36-III. Геологическая карта СССР. Четвертичные отложения. Серия Московская
N_36_III_geolog_test_lin - исходный линейный слой.
N_36_III_geolog_test_poli - полигоналный слой полученный в QGIS Вектор/Обработка геометрии /Линии в полигоны.
Система координат: EPSG 3857 WGS 84 / Pseudo Mercator

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 КБ) 11487 просмотров

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

Добавлено: 26 фев 2016, 18:55
bim2010
В слое "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.

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

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

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

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

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

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

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

Добавлено: 27 фев 2016, 07:25
Denis Rykov
bim2010 писал(а):
Сохранем слой и закрываем его в QGIS. Открываем слой например с помощью SAGA GIS или Global Mapper и видим - удаление не произошло. Ошибка воспроизводится в win QGIS 2.12.2 и 2.12.3-1 64 бит.
https://hub.qgis.org/issues/11007

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

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

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

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

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

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

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

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

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

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

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

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