Я относительный новичок в использовании ГИС и использую QGIS 2.0.1 в Linux. У меня есть две исторические карты, которые я хочу проанализировать, которые показывают схемы землепользования в одной и той же области в два разных момента времени. Я их отсканировал и геопривязки как слои в одном файле. Рядом они выглядят так:
Главное, что меня интересует, это сравнить размеры светлых и темно-зеленых областей между двумя картами. Возможно ли это, и если да, то каков самый простой подход? Есть ли способ сделать это на основе растрового анализа? И если мне нужно сделать шейп-файл, каков наилучший способ сделать это?
Что я уже рассмотрел:
Рисование шейп-файлов в виде полигонов вручную, как описано в этом руководстве . Это было бы ОЧЕНЬ утомительно.
Создание упрощенных высококонтрастных растровых изображений с использованием выбора цвета, фильтров и т. Д. Методом проб и ошибок в Gimp и преобразование этого в шейп-файл. Результаты были очень неаккуратными.
Ответы:
Постеризация была отличным началом: она устранила большинство артефактов сжатия и достаточно упростила картографию для дополнительной очистки.
Большая часть очистки категориального растра включает в себя так называемые «морфологические» операции. Они включают в себя расширение одной категории на соседей, сокращение ее снова и региональную группировку смежных монокатегориальных ячеек в свои собственные категории.
Обычно необходимы некоторые эксперименты, хотя бы потому, что удаляемые артефакты - буквы, штриховые линии и т. Д. - будут различаться по размеру в пикселях от одного сканирования к другому. Для начала я проиллюстрирую, что эти процедуры могут выполнить на примере.
Оригинал, после постеризации, выглядит так. Это сетка с тремя категориями, показанными в трех цветах. Мы стремимся создать сетку, в которой темно-зеленые области превращаются в непрерывные части без лишних надписей, точек или ненужных линий, пригодных для последующего анализа с использованием растровой алгебры.
Расширение темно-зеленых областей всего на один пиксель во все окружающие области дает это изображение:
(Для более точного контроля вы можете ограничить расширение только черными областями, если ваша ГИС это позволяет.)
Чтобы устранить множество тонких линий зеленых артефактов и маленьких островков, давайте сжимаем зеленый обратно на два пикселя.
и затем, чтобы уравновесить все расширение и сжатие (чтобы уменьшить смещение), мы расширим его еще на один пиксель:
Группировка областей идентифицирует эти смежные участки зеленого цвета:
Каждый отдельный патч показан другим цветом.
Используйте условную операцию или операцию SetNull, чтобы устранить крошечные заплатки. Как крошечный? Я проверил таблицу атрибутов и обнаружил, что многие патчи занимают от 6 до 47 ячеек; после этого произошел скачок на 422 клетки. Я выбрал порог в пределах этого скачка (100) и стер все ячейки с количеством (а не значениями) меньше, чем этот порог. Вот что осталось, наложенное на оригинал для сравнения:
Мы достигли довольно детального представления областей интереса, подходящих для обнаружения и количественного определения изменений относительно аналогично обработанных изображений. Я взял на себя некоторую работу, но это гораздо меньше, чем ручная оцифровка исходного сканирования, и - при условии, что сканирование выполняется с постоянным разрешением - может быть полуавтоматическим. (Поскольку в исходных картах используются разные цвета, вначале необходимо произвести определенное интеллектуальное вмешательство, чтобы выбрать подходящие цвета для увеличения и уменьшения.) Каждый из шагов также является довольно быстрым расчетом, поэтому вы, вероятно, можете позволить себе сканировать оригинал. карты с очень высоким разрешением для максимальной точности.
источник
Получение приблизительного растрового слоя в Gimp и преобразование его в векторный в QGIS, вероятно, сэкономило мне некоторое время, но, похоже, нет способа избежать нескольких часов очистки результирующих шейп-файлов, вершина за вершиной.
источник
Хорошо, может быть, это будет работать, может быть, не будет. в зависимости от качества сканирования. Вы можете установить прозрачность определенного цвета в процентах или использовать инструмент значения, чтобы выделить нужный цвет.
Я не собираюсь брать кредит на это, поскольку я задавал вопрос прежде ... мой фактически хотел выбрать дома открытого картографирования вида улицы. Так дайте мне знать, если это поможет.
Определить полигоны на растровом изображении
Дайте мне знать, если это поможет .... я могу удалить, если это не относится к делу полностью.
источник
В Gimp у вас есть несколько инструментов выбора, которые могут облегчить вашу работу.
Я думаю, что к инструменту нечеткого выделения (выбор по цветовой области), который вы можете установить, чтобы он был более или менее чувствительным к изменению цвета (используя первое загруженное изображение, я получил хорошие результаты с пороговым значением 13,0). Таким образом, я получаю довольно чистый результат без большого количества паразитов, которые затем можно легко и быстро удалить, выбрав инструмент для протирки
После выбора вы можете перекрасить эти области в контрастные цвета, повторно импортировать в ГИС и затем векторизовать?
Но это не решит проблему, указанную whuber о заштрихованной земельной площади, но, поскольку они не являются значительными из них, может быть, вы можете векторизовать их с нуля, не тратя на это много времени?
источник