<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
	<id>https://wiki.gis-lab.info/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=User2724</id>
	<title>GIS-Lab - Вклад [ru]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.gis-lab.info/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=User2724"/>
	<link rel="alternate" type="text/html" href="https://wiki.gis-lab.info/w/%D0%A1%D0%BB%D1%83%D0%B6%D0%B5%D0%B1%D0%BD%D0%B0%D1%8F:%D0%92%D0%BA%D0%BB%D0%B0%D0%B4/User2724"/>
	<updated>2026-06-22T15:08:45Z</updated>
	<subtitle>Вклад</subtitle>
	<generator>MediaWiki 1.39.6</generator>
	<entry>
		<id>https://wiki.gis-lab.info/index.php?title=%D0%9A%D0%BB%D0%B0%D1%81%D1%81%D0%B8%D1%84%D0%B8%D0%BA%D0%B0%D1%86%D0%B8%D1%8F_%D0%BA%D0%BE%D1%81%D0%BC%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%BE%D0%B3%D0%BE_%D1%81%D0%BD%D0%B8%D0%BC%D0%BA%D0%B0_%D1%81_%D0%BE%D0%B1%D1%83%D1%87%D0%B5%D0%BD%D0%B8%D0%B5%D0%BC_%D1%81_%D0%BF%D0%BE%D0%BC%D0%BE%D1%89%D1%8C%D1%8E_QGIS_%D0%B8_GRASS&amp;diff=10327</id>
		<title>Классификация космического снимка с обучением с помощью QGIS и GRASS</title>
		<link rel="alternate" type="text/html" href="https://wiki.gis-lab.info/index.php?title=%D0%9A%D0%BB%D0%B0%D1%81%D1%81%D0%B8%D1%84%D0%B8%D0%BA%D0%B0%D1%86%D0%B8%D1%8F_%D0%BA%D0%BE%D1%81%D0%BC%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%BE%D0%B3%D0%BE_%D1%81%D0%BD%D0%B8%D0%BC%D0%BA%D0%B0_%D1%81_%D0%BE%D0%B1%D1%83%D1%87%D0%B5%D0%BD%D0%B8%D0%B5%D0%BC_%D1%81_%D0%BF%D0%BE%D0%BC%D0%BE%D1%89%D1%8C%D1%8E_QGIS_%D0%B8_GRASS&amp;diff=10327"/>
		<updated>2013-02-17T12:22:44Z</updated>

		<summary type="html">&lt;p&gt;User2724: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Статья|Черновик}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;ann&amp;quot;&amp;gt;В статье рассматривается алгоритм классификации с обучением в ГИС GRASS с использованием графического интерфейса QGIS (модуль GRASS) и командной строки GRASS.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Начало работы с GRASS ГИС через командную строку и через собственный графический интерфейс рассмотрено в соответствующих статьях [1, 2]. В данной статье будет использована связка GRASS и QGIS которые интегрированы посредством модуля GRASS для QGIS.&lt;br /&gt;
&lt;br /&gt;
==Методы классификации в GRASS==&lt;br /&gt;
[http://grasswiki.osgeo.org/wiki/Image_classification В GRASS реализовано несколько алгоритмов классификации]: один алгоритм без обучения и три - с обучением:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; width=&amp;quot;80%&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! !! радиометрическая&amp;lt;BR&amp;gt;без обучения !! радиометрическая&amp;lt;BR&amp;gt;с обучением&amp;lt;BR&amp;gt;вариант 1 !! радиометрическая&amp;lt;BR&amp;gt;с обучением&amp;lt;BR&amp;gt;вариант 2 !! радиометрическая и геометрическая&amp;lt;BR&amp;gt;с обучением&lt;br /&gt;
|-style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| '''расчет статистики'''&lt;br /&gt;
|| [http://grass.osgeo.org/grass64/manuals/i.cluster.html i.cluster]&lt;br /&gt;
|| [http://grass.osgeo.org/grass64/manuals/i.class.html i.class]&lt;br /&gt;
|| [http://grass.osgeo.org/grass64/manuals/i.gensig.html i.gensig]&lt;br /&gt;
|| [http://grass.osgeo.org/grass64/manuals/i.gensigset.html i.gensigset]&lt;br /&gt;
|-style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| '''классификация'''&lt;br /&gt;
|| [http://grass.osgeo.org/grass64/manuals/i.maxlik.html i.maxlik]&lt;br /&gt;
|| [http://grass.osgeo.org/grass64/manuals/i.maxlik.html i.maxlik]&lt;br /&gt;
|| [http://grass.osgeo.org/grass64/manuals/i.maxlik.html i.maxlik]&lt;br /&gt;
|| [http://grass.osgeo.org/grass64/manuals/i.smap.html i.smap]&lt;br /&gt;
|-style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| '''примечания'''&lt;br /&gt;
|| базируется на автоматически рассчитанной статистике изображения&lt;br /&gt;
|| требует оцифровки тренировочных полигонов&lt;br /&gt;
|| требует оцифровки тренировочных полигонов&lt;br /&gt;
|| требует оцифровки тренировочных полигонов&lt;br /&gt;
|}&lt;br /&gt;
 &lt;br /&gt;
Алгоритм классификации без обучения базируется на автоматической кластеризации объектов имеющих сходные спектральные характеристики. В результате, объекты имеющие сходные спектральные характеристики будут определены в один класс, а число таких классов задается пользователем. Данный подход может не пренести к удовлетворительному результату в случае, если совершенно разные объекты (например болота и возделываемые земли) имеют сходные, хотя и отличающиеся спектральные характеристики поскольку в результате автоматической классификации будут отнесены к одному классу.&lt;br /&gt;
&lt;br /&gt;
Суть метода классификации с обучением (supervised classification) заключается в том, что пользователь сам определяет, какие пиксели с какими спектральными значениями попадут в тот или иной класс объектов. Это достигается путем создания набора эталонов – пространственных выделов (полигонов), для которых класс установлен на основе полевых исследований или по тематическим картам.&lt;br /&gt;
&lt;br /&gt;
==Визуализация космического снимка==&lt;br /&gt;
Рассмотрим алгоритм управляемой классификации на примере космического снимка Landsat-5 окрестностей города Ханты-Мансийска (рис. 1).&lt;br /&gt;
На первом шаге необходимо визуализировать космический снимок таким образом, чтобы хорошо различались объекты, которые мы хотим классифицировать. Для сборки и визуализации космического снимка можно использовать инструментарий QGIS ([http://gis-lab.info/qa/qgis-landsat-merge.html подробнее о сборке снимков в QGIS]). В случае классификации растительного покрова, лучше использовать инфракрасный диапазон, например, для Landsat часто используют сочетание 4, 5 и 3- го каналов ([http://gis-lab.info/qa/landsat-bandcomb.html подробнее о комбинациях каналов Landsat]). Для классификации мы будем использовать все слои Landsat, кроме термального (т.е. 1, 2, 3, 4, 5 и 7).&lt;br /&gt;
[[File:Окрестности г. Ханты-Мансийска.PNG|700px|thumb|center|Рис. 1. Окрестности г. Ханты-Мансийска. Съемка Landsat-5 за 23 июля 2007 года, комбинация каналов 4-5-3]]&lt;br /&gt;
&lt;br /&gt;
==Создание слоя эталонов==&lt;br /&gt;
В QGIS создадим новый полигональный слой с именем signature. В данном слое необходимо создать целочисленную атрибутивную колонку, в нашем случае, это будет колонка type_num, в которую мы будем записывать численный код класса объектов ([http://gis-lab.info/qa/qgis-vector.html Подробнее о создании и редактировании векторных слоев в QGIS]).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;'''ВАЖНО:'''&amp;lt;/span&amp;gt; создаваемый слой должен быть в той же проекции, что и снимок.&lt;br /&gt;
&lt;br /&gt;
Отредактируем слой эталонов, оцифровывая полигоны в центре характерных выделов. При оцифровке следует придерживаться двух правил:&lt;br /&gt;
&lt;br /&gt;
*'''Правило 1'''. Оцифровываемый полигон по возможности должен захватывать только пикселы относящиеся к одному классу. Если вы оцифровываете эталонный полигон для леса, то в него не должно входить посторонних пикселов, не относящихся к лесу.&lt;br /&gt;
&lt;br /&gt;
*'''Правило 2'''. Задавайте полигоны как можно большей площади, чтобы охватить как можно больше вариаций в пределах одного класса, не забывая при этом про '''Правило 1'''.&lt;br /&gt;
&lt;br /&gt;
[[File:Пример оцифровки эталонов.PNG|700px|thumb|center|Рис. 2. Пример оцифровки эталонов с заполнением атрибутивной таблицы]]&lt;br /&gt;
&lt;br /&gt;
==Импорт данных в модуль GRASS==&lt;br /&gt;
Для импорта данных необходимо создать новый набор данных GRASS, сделаем это с помощью графического интерфейса модуля GRASS для QGIS:&amp;lt;br /&amp;gt;&lt;br /&gt;
#создадим новый набор GRASS с помощью кнопки [[File:Кнопка11.PNG|22px]] на панели инструментов модуля GRASS.&lt;br /&gt;
# создадим новый район.&lt;br /&gt;
# зададим району проекцию, соответствующую проекции снимка.&lt;br /&gt;
# создадим новый район.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;'''ВАЖНО:'''&amp;lt;/span&amp;gt; Особо следует отметить, что проекция создаваемого района должна соответствовать проекции снимка и, соответственно, слоя эталонов. Охват района можно отредактировать позже.&lt;br /&gt;
&lt;br /&gt;
После появления сообщения об успешном создании нового набора, запустим инструменты GRASS (кнопка [[File:Кнопка1.PNG|22px]]).&lt;br /&gt;
&lt;br /&gt;
===Импорт и настройка растра===&lt;br /&gt;
В появившемся окне выбираем вкладку «Список модулей» и находим модуль '''in.gdal.qgis''' который импортирует в GRASS загруженные в проект QGIS растровые слои. Облегчить поиск среди множества модулей поможет фильтр: введем r.in – отобразятся различные инструменты для импорта растровых данных в GRASS.&lt;br /&gt;
&lt;br /&gt;
[[File:Dialogovoe okno.PNG|400px|thumb|center|Рис. 3. Диалоговое окно выбора модулей GRASS]]&lt;br /&gt;
&lt;br /&gt;
С помощью инструмента '''r.in.gdal.qgis''' можно импортировать в GRASS растр, который предстоит классифицировать.&lt;br /&gt;
&lt;br /&gt;
[[File:Диалоговое окно r.in.gdal.qgis1.png|700px|thumb|center|Рис. 4. Диалоговое окно r.in.gdal.qgis]]&lt;br /&gt;
&lt;br /&gt;
После импорта растра в GRASS он представляет собой отдельные слои: raster.1,raster.2,raster.3, в этом можно убедиться, посмотрев на хранящиеся в наборе GRASS растры на вкладке «браузер» инструментов GRASS.&lt;br /&gt;
&lt;br /&gt;
Объединим эти слои в один многоканальный растр, для этого в окне инструментов GRASS выбрав вкладку «Дерево модулей» и запускаем командную строку GRASS «shell – Оболочка GRASS» и выполняем следующую команду:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;i.group group=raster subgroup=raster input=raster.1,raster.2,raster.3,raster.4,raster.5,raster.6&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Данная команда с использованием модуля [http://grass.osgeo.org/grass64/manuals/i.group.html i.group] группирует 6 каналов Landsat в группу и подгруппу под названием raster.&lt;br /&gt;
&lt;br /&gt;
Подгоняем регион GRASS к размерам одного из слоев импортированного растра и устанавливаем пространственное разрешение. Для этого выполним команду:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;g.region rast=raster.1&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Данная операция необходима, чтобы выходной классифицированный растр имел тоже пространственное разрешение и тот же охват, что и исходный снимок ([http://grass.osgeo.org/grass64/manuals/g.region.html подробнее о модуле g.region]). Посмотреть параметры региона (охват, проекцию, пространственное разрешение и т.д. можно с помощью команды:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;g.region –p&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Примечание: Флаг –p команды g.region выводит на экран параметры региона.&lt;br /&gt;
&lt;br /&gt;
===Импорт векторного слоя===&lt;br /&gt;
С помощью инструмента '''v.in.ogr.qgis''' из списка модулей инструментов GRASS импортируем слой эталонов с заданным именем, например sig.&lt;br /&gt;
&lt;br /&gt;
Для работы со слоем эталонов в GRASS его необходимо преобразовать в растровый вид, для этого в командной строке GRASS выполним:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;v.to.rast in=sig out=sig use=attr col=type_num&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
расшифруем параметры команды v.to.rast:&lt;br /&gt;
* in = название исходного векторного слоя эталонов&lt;br /&gt;
* out = название растеризованного слоя эталонов&lt;br /&gt;
* use = attr чтение значений из атрибутивной колонки исходного векторного слоя&lt;br /&gt;
* col = название колонки куда мы вносили численный код класса (type_num)([http://grass.osgeo.org/grass64/manuals/v.to.rast.html подробнее о модуле v.to.rast]).&lt;br /&gt;
&lt;br /&gt;
==Классификация космического снимка==&lt;br /&gt;
Классификация растров в GRASS состоит из 2-х этапов: расчета первичной статистики и собственно классификации.&lt;br /&gt;
&lt;br /&gt;
Для расчета первичной статистики выполним:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;i.gensigset group=raster subgroup=raster sig=statistics training=sig&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Модуль [http://grass.osgeo.org/grass64/manuals/i.gensigset.html i.gensigset] производит расчет спектральной статистики по космическому снимку внутри эталонных полигонов, создавая так называемый файл сигнатур (положения классов в многомерном пространстве спектральных характеристик снимка) для классификации с использованием модуля [http://grass.osgeo.org/grass64/manuals/i.smap.html i.smap].&lt;br /&gt;
&lt;br /&gt;
Теперь произведем собственно классификацию с обучением, результатом ее является растровый слой классификации «''classification''»:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;i.smap group=raster subgroup=raster sig=statistics out=classification&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Можно окрасить выходной классифицированный растр, например в цветовом диапазоне red-yellow-blue с помощью модуля [http://grass.osgeo.org/grass64/manuals/r.colors.html r.colors]:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;r.colors classification color=ryb&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Загрузить классифицированный растр в проект QGIS можно с помощью кнопки [[File:Кнопка2.PNG|22px]]. При сравнении полученной первичной классификации со снимком мы можем найти места несоответствия классов классификации и ландшафтов. Эту проблему можно решить, увеличив количество эталонов для «проблемных» классов, размещая их в местах отнесенных не к тому классу. Можно задавать сколь угодно много эталонов для каждого класса объектов, увеличивая точность классификации до тех пор, пока ее точность не станет нас удовлетворять. Оценке точности классификации посвящена [http://gis-lab.info/qa/error-matrix.html отдельная статья].&lt;br /&gt;
&lt;br /&gt;
[[File:Rezultat classifikacyi.PNG|700px|thumb|center|Рис. 5. Результат классификации]]&lt;br /&gt;
&lt;br /&gt;
==Постобработка классифицированного снимка==&lt;br /&gt;
Постобработка является необязательным этапом классификации и может заключаться в фильтрации шумов или автоматической векторизации полученных результатов.&lt;br /&gt;
&lt;br /&gt;
Для фильтрации шумов выполним:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;r.neighbors input=classification output=classification_mode7 method=mode size=7&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Это модальный фильтр (method=mode) из набора фильтров модуля [http://grass.osgeo.org/grass64/manuals/r.neighbors.html r.neighbors] с размером скользящего окна равным 7 пикселям.&lt;br /&gt;
&lt;br /&gt;
[[File:Raschyot mody s oknom 1 piceley.PNG|700px|thumb|center|Рис. 6. Результат расчета моды с окном в 7 пикселей]]&lt;br /&gt;
&lt;br /&gt;
В заключение можно векторизовать отфильтрованный результат:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;r.to.vect -s input=classification_mode7 output= classification_mode7 feature=area&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Расшифруем использованные параметры для модуля [http://grass.osgeo.org/grass64/manuals/r.to.vect.html r.to.vect]:&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;-s&amp;lt;/code&amp;gt;  (smooth) флажок, сглаживающий ребра результирующих полигонов&amp;lt;br /&amp;gt;&lt;br /&gt;
*&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;input&amp;lt;/code&amp;gt; - имя входного файла&amp;lt;br /&amp;gt;&lt;br /&gt;
*&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;output&amp;lt;/code&amp;gt; - имя выходного файла&amp;lt;br /&amp;gt;&lt;br /&gt;
*&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;feature=area&amp;lt;/code&amp;gt; – определение типа выходного векторного слоя -полигон.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Rezultat vectorizacyi.PNG|700px|thumb|center|Рис. 7. Результат векторизации классифицированного растра после применения модального фильтра]]&lt;br /&gt;
&lt;br /&gt;
==Экспорт результатов классификации из GRASS==&lt;br /&gt;
Загрузить полученный векторизованный слой классификации из GRASS в QGIS можно с помощью кнопки  [[File:Кнопка4.PNG|22px]] панели инструментов GRASS. Далее, чтобы экспортировать слой из базы данных GRASS как шейп, в менеджере слоев, правым щелчком мыши щелкаем по загруженному в QGIS слою векторизованной классификации и выбираем пункт сохранить как шейп-файл. В разрабатываемой версии QGIS 1.9.0 master аналогичным образом можно сохранять и растровые слои.&lt;br /&gt;
&lt;br /&gt;
Также для экспорта результатов можно воспользоваться стандартными модулями GRASS: [http://grass.osgeo.org/grass64/manuals/v.out.ogr.html v.out.ogr] (для векторных слоев) и [http://grass.osgeo.org/grass64/manuals/r.out.gdal.html r.out.gdal] (для растров) которые можно использовать как из командной строки, так и через графический интерфейс модуля GRASS для QGIS.&lt;br /&gt;
&lt;br /&gt;
==Ссылки==&lt;br /&gt;
*[http://gis-lab.info/qa/grass-intro.html Начало работы с GRASS для Windows используя командную строку]&lt;br /&gt;
*[http://gis-lab.info/qa/grass-intro-gui.html Начало работы с GRASS через графический интерфейс wxPython]&lt;br /&gt;
*[http://grasswiki.osgeo.org/wiki/Image_classification GRASS-Wiki: Классификация изображений в GRASS]&lt;br /&gt;
*[http://gis-lab.info/qa/qgis-landsat-merge.html Как собрать и показать снимок Landsat из отдельных каналов в QGIS]&lt;br /&gt;
*[http://gis-lab.info/qa/landsat-bandcomb.html Интерпретация комбинаций каналов данных Landsat TM / ETM+]&lt;br /&gt;
*[http://gis-lab.info/qa/qgis-vector.html Создание и редактирование векторных слоев средствами QGIS]&lt;br /&gt;
*[http://gis-lab.info/qa/error-matrix.html Матрица ошибок и расчет показателей точности тематических карт]&lt;/div&gt;</summary>
		<author><name>User2724</name></author>
	</entry>
	<entry>
		<id>https://wiki.gis-lab.info/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:%D0%94%D0%B8%D0%B0%D0%BB%D0%BE%D0%B3%D0%BE%D0%B2%D0%BE%D0%B5_%D0%BE%D0%BA%D0%BD%D0%BE_r.in.gdal.qgis1.png&amp;diff=10326</id>
		<title>Файл:Диалоговое окно r.in.gdal.qgis1.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.gis-lab.info/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:%D0%94%D0%B8%D0%B0%D0%BB%D0%BE%D0%B3%D0%BE%D0%B2%D0%BE%D0%B5_%D0%BE%D0%BA%D0%BD%D0%BE_r.in.gdal.qgis1.png&amp;diff=10326"/>
		<updated>2013-02-17T12:21:44Z</updated>

		<summary type="html">&lt;p&gt;User2724: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>User2724</name></author>
	</entry>
	<entry>
		<id>https://wiki.gis-lab.info/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:%D0%94%D0%B8%D0%B0%D0%BB%D0%BE%D0%B3%D0%BE%D0%B2%D0%BE%D0%B5_%D0%BE%D0%BA%D0%BD%D0%BE_r.in.gdal.qgis.png&amp;diff=10325</id>
		<title>Файл:Диалоговое окно r.in.gdal.qgis.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.gis-lab.info/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:%D0%94%D0%B8%D0%B0%D0%BB%D0%BE%D0%B3%D0%BE%D0%B2%D0%BE%D0%B5_%D0%BE%D0%BA%D0%BD%D0%BE_r.in.gdal.qgis.png&amp;diff=10325"/>
		<updated>2013-02-17T12:21:13Z</updated>

		<summary type="html">&lt;p&gt;User2724: загружена новая версия «Файл:Диалоговое окно r.in.gdal.qgis.png»&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>User2724</name></author>
	</entry>
	<entry>
		<id>https://wiki.gis-lab.info/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:%D0%94%D0%B8%D0%B0%D0%BB%D0%BE%D0%B3%D0%BE%D0%B2%D0%BE%D0%B5_%D0%BE%D0%BA%D0%BD%D0%BE_r.in.gdal.qgis.png&amp;diff=10324</id>
		<title>Файл:Диалоговое окно r.in.gdal.qgis.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.gis-lab.info/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:%D0%94%D0%B8%D0%B0%D0%BB%D0%BE%D0%B3%D0%BE%D0%B2%D0%BE%D0%B5_%D0%BE%D0%BA%D0%BD%D0%BE_r.in.gdal.qgis.png&amp;diff=10324"/>
		<updated>2013-02-17T12:18:26Z</updated>

		<summary type="html">&lt;p&gt;User2724: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>User2724</name></author>
	</entry>
	<entry>
		<id>https://wiki.gis-lab.info/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:%D0%94%D0%B8%D0%B0%D0%BB%D0%BE%D0%B3%D0%BE%D0%B2%D0%BE%D0%B5_%D0%BE%D0%BA%D0%BD%D0%BE_GRASS.png&amp;diff=10323</id>
		<title>Файл:Диалоговое окно GRASS.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.gis-lab.info/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:%D0%94%D0%B8%D0%B0%D0%BB%D0%BE%D0%B3%D0%BE%D0%B2%D0%BE%D0%B5_%D0%BE%D0%BA%D0%BD%D0%BE_GRASS.png&amp;diff=10323"/>
		<updated>2013-02-17T12:15:56Z</updated>

		<summary type="html">&lt;p&gt;User2724: загружена новая версия «Файл:Диалоговое окно GRASS.png»&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>User2724</name></author>
	</entry>
	<entry>
		<id>https://wiki.gis-lab.info/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:%D0%94%D0%B8%D0%B0%D0%BB%D0%BE%D0%B3%D0%BE%D0%B2%D0%BE%D0%B5_%D0%BE%D0%BA%D0%BD%D0%BE_GRASS.png&amp;diff=10322</id>
		<title>Файл:Диалоговое окно GRASS.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.gis-lab.info/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:%D0%94%D0%B8%D0%B0%D0%BB%D0%BE%D0%B3%D0%BE%D0%B2%D0%BE%D0%B5_%D0%BE%D0%BA%D0%BD%D0%BE_GRASS.png&amp;diff=10322"/>
		<updated>2013-02-17T12:13:33Z</updated>

		<summary type="html">&lt;p&gt;User2724: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>User2724</name></author>
	</entry>
	<entry>
		<id>https://wiki.gis-lab.info/index.php?title=%D0%9A%D0%BB%D0%B0%D1%81%D1%81%D0%B8%D1%84%D0%B8%D0%BA%D0%B0%D1%86%D0%B8%D1%8F_%D0%BA%D0%BE%D1%81%D0%BC%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%BE%D0%B3%D0%BE_%D1%81%D0%BD%D0%B8%D0%BC%D0%BA%D0%B0_%D1%81_%D0%BE%D0%B1%D1%83%D1%87%D0%B5%D0%BD%D0%B8%D0%B5%D0%BC_%D1%81_%D0%BF%D0%BE%D0%BC%D0%BE%D1%89%D1%8C%D1%8E_QGIS_%D0%B8_GRASS&amp;diff=10321</id>
		<title>Классификация космического снимка с обучением с помощью QGIS и GRASS</title>
		<link rel="alternate" type="text/html" href="https://wiki.gis-lab.info/index.php?title=%D0%9A%D0%BB%D0%B0%D1%81%D1%81%D0%B8%D1%84%D0%B8%D0%BA%D0%B0%D1%86%D0%B8%D1%8F_%D0%BA%D0%BE%D1%81%D0%BC%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%BE%D0%B3%D0%BE_%D1%81%D0%BD%D0%B8%D0%BC%D0%BA%D0%B0_%D1%81_%D0%BE%D0%B1%D1%83%D1%87%D0%B5%D0%BD%D0%B8%D0%B5%D0%BC_%D1%81_%D0%BF%D0%BE%D0%BC%D0%BE%D1%89%D1%8C%D1%8E_QGIS_%D0%B8_GRASS&amp;diff=10321"/>
		<updated>2013-02-17T12:11:40Z</updated>

		<summary type="html">&lt;p&gt;User2724: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Статья|Черновик}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;ann&amp;quot;&amp;gt;В статье рассматривается алгоритм классификации с обучением в ГИС GRASS с использованием графического интерфейса QGIS (модуль GRASS) и командной строки GRASS.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Начало работы с GRASS ГИС через командную строку и через собственный графический интерфейс рассмотрено в соответствующих статьях [1, 2]. В данной статье будет использована связка GRASS и QGIS которые интегрированы посредством модуля GRASS для QGIS.&lt;br /&gt;
&lt;br /&gt;
==Методы классификации в GRASS==&lt;br /&gt;
[http://grasswiki.osgeo.org/wiki/Image_classification В GRASS реализовано несколько алгоритмов классификации]: один алгоритм без обучения и три - с обучением:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; width=&amp;quot;80%&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! !! радиометрическая&amp;lt;BR&amp;gt;без обучения !! радиометрическая&amp;lt;BR&amp;gt;с обучением&amp;lt;BR&amp;gt;вариант 1 !! радиометрическая&amp;lt;BR&amp;gt;с обучением&amp;lt;BR&amp;gt;вариант 2 !! радиометрическая и геометрическая&amp;lt;BR&amp;gt;с обучением&lt;br /&gt;
|-style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| '''расчет статистики'''&lt;br /&gt;
|| [http://grass.osgeo.org/grass64/manuals/i.cluster.html i.cluster]&lt;br /&gt;
|| [http://grass.osgeo.org/grass64/manuals/i.class.html i.class]&lt;br /&gt;
|| [http://grass.osgeo.org/grass64/manuals/i.gensig.html i.gensig]&lt;br /&gt;
|| [http://grass.osgeo.org/grass64/manuals/i.gensigset.html i.gensigset]&lt;br /&gt;
|-style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| '''классификация'''&lt;br /&gt;
|| [http://grass.osgeo.org/grass64/manuals/i.maxlik.html i.maxlik]&lt;br /&gt;
|| [http://grass.osgeo.org/grass64/manuals/i.maxlik.html i.maxlik]&lt;br /&gt;
|| [http://grass.osgeo.org/grass64/manuals/i.maxlik.html i.maxlik]&lt;br /&gt;
|| [http://grass.osgeo.org/grass64/manuals/i.smap.html i.smap]&lt;br /&gt;
|-style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| '''примечания'''&lt;br /&gt;
|| базируется на автоматически рассчитанной статистике изображения&lt;br /&gt;
|| требует оцифровки тренировочных полигонов&lt;br /&gt;
|| требует оцифровки тренировочных полигонов&lt;br /&gt;
|| требует оцифровки тренировочных полигонов&lt;br /&gt;
|}&lt;br /&gt;
 &lt;br /&gt;
Алгоритм классификации без обучения базируется на автоматической кластеризации объектов имеющих сходные спектральные характеристики. В результате, объекты имеющие сходные спектральные характеристики будут определены в один класс, а число таких классов задается пользователем. Данный подход может не пренести к удовлетворительному результату в случае, если совершенно разные объекты (например болота и возделываемые земли) имеют сходные, хотя и отличающиеся спектральные характеристики поскольку в результате автоматической классификации будут отнесены к одному классу.&lt;br /&gt;
&lt;br /&gt;
Суть метода классификации с обучением (supervised classification) заключается в том, что пользователь сам определяет, какие пиксели с какими спектральными значениями попадут в тот или иной класс объектов. Это достигается путем создания набора эталонов – пространственных выделов (полигонов), для которых класс установлен на основе полевых исследований или по тематическим картам.&lt;br /&gt;
&lt;br /&gt;
==Визуализация космического снимка==&lt;br /&gt;
Рассмотрим алгоритм управляемой классификации на примере космического снимка Landsat-5 окрестностей города Ханты-Мансийска (рис. 1).&lt;br /&gt;
На первом шаге необходимо визуализировать космический снимок таким образом, чтобы хорошо различались объекты, которые мы хотим классифицировать. Для сборки и визуализации космического снимка можно использовать инструментарий QGIS ([http://gis-lab.info/qa/qgis-landsat-merge.html подробнее о сборке снимков в QGIS]). В случае классификации растительного покрова, лучше использовать инфракрасный диапазон, например, для Landsat часто используют сочетание 4, 5 и 3- го каналов ([http://gis-lab.info/qa/landsat-bandcomb.html подробнее о комбинациях каналов Landsat]). Для классификации мы будем использовать все слои Landsat, кроме термального (т.е. 1, 2, 3, 4, 5 и 7).&lt;br /&gt;
[[File:Окрестности г. Ханты-Мансийска.PNG|700px|thumb|center|Рис. 1. Окрестности г. Ханты-Мансийска. Съемка Landsat-5 за 23 июля 2007 года, комбинация каналов 4-5-3]]&lt;br /&gt;
&lt;br /&gt;
==Создание слоя эталонов==&lt;br /&gt;
В QGIS создадим новый полигональный слой с именем signature. В данном слое необходимо создать целочисленную атрибутивную колонку, в нашем случае, это будет колонка type_num, в которую мы будем записывать численный код класса объектов ([http://gis-lab.info/qa/qgis-vector.html Подробнее о создании и редактировании векторных слоев в QGIS]).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;'''ВАЖНО:'''&amp;lt;/span&amp;gt; создаваемый слой должен быть в той же проекции, что и снимок.&lt;br /&gt;
&lt;br /&gt;
Отредактируем слой эталонов, оцифровывая полигоны в центре характерных выделов. При оцифровке следует придерживаться двух правил:&lt;br /&gt;
&lt;br /&gt;
*'''Правило 1'''. Оцифровываемый полигон по возможности должен захватывать только пикселы относящиеся к одному классу. Если вы оцифровываете эталонный полигон для леса, то в него не должно входить посторонних пикселов, не относящихся к лесу.&lt;br /&gt;
&lt;br /&gt;
*'''Правило 2'''. Задавайте полигоны как можно большей площади, чтобы охватить как можно больше вариаций в пределах одного класса, не забывая при этом про '''Правило 1'''.&lt;br /&gt;
&lt;br /&gt;
[[File:Пример оцифровки эталонов.PNG|700px|thumb|center|Рис. 2. Пример оцифровки эталонов с заполнением атрибутивной таблицы]]&lt;br /&gt;
&lt;br /&gt;
==Импорт данных в модуль GRASS==&lt;br /&gt;
Для импорта данных необходимо создать новый набор данных GRASS, сделаем это с помощью графического интерфейса модуля GRASS для QGIS:&amp;lt;br /&amp;gt;&lt;br /&gt;
#создадим новый набор GRASS с помощью кнопки [[File:Кнопка11.PNG|22px]] на панели инструментов модуля GRASS.&lt;br /&gt;
# создадим новый район.&lt;br /&gt;
# зададим району проекцию, соответствующую проекции снимка.&lt;br /&gt;
# создадим новый район.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;'''ВАЖНО:'''&amp;lt;/span&amp;gt; Особо следует отметить, что проекция создаваемого района должна соответствовать проекции снимка и, соответственно, слоя эталонов. Охват района можно отредактировать позже.&lt;br /&gt;
&lt;br /&gt;
После появления сообщения об успешном создании нового набора, запустим инструменты GRASS (кнопка [[File:Кнопка1.PNG|22px]]).&lt;br /&gt;
&lt;br /&gt;
===Импорт и настройка растра===&lt;br /&gt;
В появившемся окне выбираем вкладку «Список модулей» и находим модуль '''in.gdal.qgis''' который импортирует в GRASS загруженные в проект QGIS растровые слои. Облегчить поиск среди множества модулей поможет фильтр: введем r.in – отобразятся различные инструменты для импорта растровых данных в GRASS.&lt;br /&gt;
&lt;br /&gt;
[[File:Dialogovoe okno.PNG|400px|thumb|center|Рис. 3. Диалоговое окно выбора модулей GRASS]]&lt;br /&gt;
&lt;br /&gt;
С помощью инструмента '''r.in.gdal.qgis''' можно импортировать в GRASS растр, который предстоит классифицировать.&lt;br /&gt;
&lt;br /&gt;
[[File:Диалоговое окно GRASS10.png|700px|thumb|center|Рис. 4. Диалоговое окно r.in.gdal.qgis]]&lt;br /&gt;
&lt;br /&gt;
После импорта растра в GRASS он представляет собой отдельные слои: raster.1,raster.2,raster.3, в этом можно убедиться, посмотрев на хранящиеся в наборе GRASS растры на вкладке «браузер» инструментов GRASS.&lt;br /&gt;
&lt;br /&gt;
Объединим эти слои в один многоканальный растр, для этого в окне инструментов GRASS выбрав вкладку «Дерево модулей» и запускаем командную строку GRASS «shell – Оболочка GRASS» и выполняем следующую команду:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;i.group group=raster subgroup=raster input=raster.1,raster.2,raster.3,raster.4,raster.5,raster.6&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Данная команда с использованием модуля [http://grass.osgeo.org/grass64/manuals/i.group.html i.group] группирует 6 каналов Landsat в группу и подгруппу под названием raster.&lt;br /&gt;
&lt;br /&gt;
Подгоняем регион GRASS к размерам одного из слоев импортированного растра и устанавливаем пространственное разрешение. Для этого выполним команду:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;g.region rast=raster.1&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Данная операция необходима, чтобы выходной классифицированный растр имел тоже пространственное разрешение и тот же охват, что и исходный снимок ([http://grass.osgeo.org/grass64/manuals/g.region.html подробнее о модуле g.region]). Посмотреть параметры региона (охват, проекцию, пространственное разрешение и т.д. можно с помощью команды:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;g.region –p&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Примечание: Флаг –p команды g.region выводит на экран параметры региона.&lt;br /&gt;
&lt;br /&gt;
===Импорт векторного слоя===&lt;br /&gt;
С помощью инструмента '''v.in.ogr.qgis''' из списка модулей инструментов GRASS импортируем слой эталонов с заданным именем, например sig.&lt;br /&gt;
&lt;br /&gt;
Для работы со слоем эталонов в GRASS его необходимо преобразовать в растровый вид, для этого в командной строке GRASS выполним:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;v.to.rast in=sig out=sig use=attr col=type_num&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
расшифруем параметры команды v.to.rast:&lt;br /&gt;
* in = название исходного векторного слоя эталонов&lt;br /&gt;
* out = название растеризованного слоя эталонов&lt;br /&gt;
* use = attr чтение значений из атрибутивной колонки исходного векторного слоя&lt;br /&gt;
* col = название колонки куда мы вносили численный код класса (type_num)([http://grass.osgeo.org/grass64/manuals/v.to.rast.html подробнее о модуле v.to.rast]).&lt;br /&gt;
&lt;br /&gt;
==Классификация космического снимка==&lt;br /&gt;
Классификация растров в GRASS состоит из 2-х этапов: расчета первичной статистики и собственно классификации.&lt;br /&gt;
&lt;br /&gt;
Для расчета первичной статистики выполним:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;i.gensigset group=raster subgroup=raster sig=statistics training=sig&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Модуль [http://grass.osgeo.org/grass64/manuals/i.gensigset.html i.gensigset] производит расчет спектральной статистики по космическому снимку внутри эталонных полигонов, создавая так называемый файл сигнатур (положения классов в многомерном пространстве спектральных характеристик снимка) для классификации с использованием модуля [http://grass.osgeo.org/grass64/manuals/i.smap.html i.smap].&lt;br /&gt;
&lt;br /&gt;
Теперь произведем собственно классификацию с обучением, результатом ее является растровый слой классификации «''classification''»:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;i.smap group=raster subgroup=raster sig=statistics out=classification&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Можно окрасить выходной классифицированный растр, например в цветовом диапазоне red-yellow-blue с помощью модуля [http://grass.osgeo.org/grass64/manuals/r.colors.html r.colors]:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;r.colors classification color=ryb&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Загрузить классифицированный растр в проект QGIS можно с помощью кнопки [[File:Кнопка2.PNG|22px]]. При сравнении полученной первичной классификации со снимком мы можем найти места несоответствия классов классификации и ландшафтов. Эту проблему можно решить, увеличив количество эталонов для «проблемных» классов, размещая их в местах отнесенных не к тому классу. Можно задавать сколь угодно много эталонов для каждого класса объектов, увеличивая точность классификации до тех пор, пока ее точность не станет нас удовлетворять. Оценке точности классификации посвящена [http://gis-lab.info/qa/error-matrix.html отдельная статья].&lt;br /&gt;
&lt;br /&gt;
[[File:Rezultat classifikacyi.PNG|700px|thumb|center|Рис. 5. Результат классификации]]&lt;br /&gt;
&lt;br /&gt;
==Постобработка классифицированного снимка==&lt;br /&gt;
Постобработка является необязательным этапом классификации и может заключаться в фильтрации шумов или автоматической векторизации полученных результатов.&lt;br /&gt;
&lt;br /&gt;
Для фильтрации шумов выполним:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;r.neighbors input=classification output=classification_mode7 method=mode size=7&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Это модальный фильтр (method=mode) из набора фильтров модуля [http://grass.osgeo.org/grass64/manuals/r.neighbors.html r.neighbors] с размером скользящего окна равным 7 пикселям.&lt;br /&gt;
&lt;br /&gt;
[[File:Raschyot mody s oknom 1 piceley.PNG|700px|thumb|center|Рис. 6. Результат расчета моды с окном в 7 пикселей]]&lt;br /&gt;
&lt;br /&gt;
В заключение можно векторизовать отфильтрованный результат:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;r.to.vect -s input=classification_mode7 output= classification_mode7 feature=area&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Расшифруем использованные параметры для модуля [http://grass.osgeo.org/grass64/manuals/r.to.vect.html r.to.vect]:&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;-s&amp;lt;/code&amp;gt;  (smooth) флажок, сглаживающий ребра результирующих полигонов&amp;lt;br /&amp;gt;&lt;br /&gt;
*&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;input&amp;lt;/code&amp;gt; - имя входного файла&amp;lt;br /&amp;gt;&lt;br /&gt;
*&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;output&amp;lt;/code&amp;gt; - имя выходного файла&amp;lt;br /&amp;gt;&lt;br /&gt;
*&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;feature=area&amp;lt;/code&amp;gt; – определение типа выходного векторного слоя -полигон.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Rezultat vectorizacyi.PNG|700px|thumb|center|Рис. 7. Результат векторизации классифицированного растра после применения модального фильтра]]&lt;br /&gt;
&lt;br /&gt;
==Экспорт результатов классификации из GRASS==&lt;br /&gt;
Загрузить полученный векторизованный слой классификации из GRASS в QGIS можно с помощью кнопки  [[File:Кнопка4.PNG|22px]] панели инструментов GRASS. Далее, чтобы экспортировать слой из базы данных GRASS как шейп, в менеджере слоев, правым щелчком мыши щелкаем по загруженному в QGIS слою векторизованной классификации и выбираем пункт сохранить как шейп-файл. В разрабатываемой версии QGIS 1.9.0 master аналогичным образом можно сохранять и растровые слои.&lt;br /&gt;
&lt;br /&gt;
Также для экспорта результатов можно воспользоваться стандартными модулями GRASS: [http://grass.osgeo.org/grass64/manuals/v.out.ogr.html v.out.ogr] (для векторных слоев) и [http://grass.osgeo.org/grass64/manuals/r.out.gdal.html r.out.gdal] (для растров) которые можно использовать как из командной строки, так и через графический интерфейс модуля GRASS для QGIS.&lt;br /&gt;
&lt;br /&gt;
==Ссылки==&lt;br /&gt;
*[http://gis-lab.info/qa/grass-intro.html Начало работы с GRASS для Windows используя командную строку]&lt;br /&gt;
*[http://gis-lab.info/qa/grass-intro-gui.html Начало работы с GRASS через графический интерфейс wxPython]&lt;br /&gt;
*[http://grasswiki.osgeo.org/wiki/Image_classification GRASS-Wiki: Классификация изображений в GRASS]&lt;br /&gt;
*[http://gis-lab.info/qa/qgis-landsat-merge.html Как собрать и показать снимок Landsat из отдельных каналов в QGIS]&lt;br /&gt;
*[http://gis-lab.info/qa/landsat-bandcomb.html Интерпретация комбинаций каналов данных Landsat TM / ETM+]&lt;br /&gt;
*[http://gis-lab.info/qa/qgis-vector.html Создание и редактирование векторных слоев средствами QGIS]&lt;br /&gt;
*[http://gis-lab.info/qa/error-matrix.html Матрица ошибок и расчет показателей точности тематических карт]&lt;/div&gt;</summary>
		<author><name>User2724</name></author>
	</entry>
	<entry>
		<id>https://wiki.gis-lab.info/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:%D0%94%D0%B8%D0%B0%D0%BB%D0%BE%D0%B3%D0%BE%D0%B2%D0%BE%D0%B5_%D0%BE%D0%BA%D0%BD%D0%BE_GRASS10.png&amp;diff=10320</id>
		<title>Файл:Диалоговое окно GRASS10.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.gis-lab.info/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:%D0%94%D0%B8%D0%B0%D0%BB%D0%BE%D0%B3%D0%BE%D0%B2%D0%BE%D0%B5_%D0%BE%D0%BA%D0%BD%D0%BE_GRASS10.png&amp;diff=10320"/>
		<updated>2013-02-17T12:09:41Z</updated>

		<summary type="html">&lt;p&gt;User2724: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>User2724</name></author>
	</entry>
	<entry>
		<id>https://wiki.gis-lab.info/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:%D0%94%D0%B8%D0%B0%D0%BB%D0%BE%D0%B3%D0%BE%D0%B2%D0%BE%D0%B5_%D0%BE%D0%BA%D0%BD%D0%BE_GRASS.jpeg&amp;diff=10319</id>
		<title>Файл:Диалоговое окно GRASS.jpeg</title>
		<link rel="alternate" type="text/html" href="https://wiki.gis-lab.info/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:%D0%94%D0%B8%D0%B0%D0%BB%D0%BE%D0%B3%D0%BE%D0%B2%D0%BE%D0%B5_%D0%BE%D0%BA%D0%BD%D0%BE_GRASS.jpeg&amp;diff=10319"/>
		<updated>2013-02-17T12:03:27Z</updated>

		<summary type="html">&lt;p&gt;User2724: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>User2724</name></author>
	</entry>
	<entry>
		<id>https://wiki.gis-lab.info/index.php?title=%D0%9E%D0%B1%D1%81%D1%83%D0%B6%D0%B4%D0%B5%D0%BD%D0%B8%D0%B5_%D1%83%D1%87%D0%B0%D1%81%D1%82%D0%BD%D0%B8%D0%BA%D0%B0:User2724&amp;diff=9779</id>
		<title>Обсуждение участника:User2724</title>
		<link rel="alternate" type="text/html" href="https://wiki.gis-lab.info/index.php?title=%D0%9E%D0%B1%D1%81%D1%83%D0%B6%D0%B4%D0%B5%D0%BD%D0%B8%D0%B5_%D1%83%D1%87%D0%B0%D1%81%D1%82%D0%BD%D0%B8%D0%BA%D0%B0:User2724&amp;diff=9779"/>
		<updated>2013-01-19T09:06:19Z</updated>

		<summary type="html">&lt;p&gt;User2724: Начало работы в GRASS ГИС через графический интерфейс QGIS&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Начало работы в GRASS ГИС через графический интерфейс QGIS ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;ann&amp;quot;&amp;gt;В статье рассматривается алгоритм классификации с обучением в ГИС GRASS с использованием графического интерфейса QGIS (модуль GRASS) и командной строки GRASS.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
В статье рассматривается алгоритм загрузки данных в GRASS ГИС с использованием графического интерфейса QGIS (модуль GRASS).&lt;br /&gt;
&lt;br /&gt;
Работать в GRASS ГИС можно с помощью командной строки GRASS [1], через графический интерфейс wxPython [2] или без явного запуска GRASS, используя его возможности в программных скриптах. В случае, если основные работы над проектом производятся в QGIS, можно получить доступ к инструментарию GRASS не покидая QGIS посредством модуля GRASS. В данном случае, работа с GRASS будет состоять из следующих основных шагов:&lt;br /&gt;
&lt;br /&gt;
*загрузка данных в QGIS;&lt;br /&gt;
&lt;br /&gt;
*настройка рабочей среды GRASS (создание базы данных, региона и набора);&lt;br /&gt;
&lt;br /&gt;
*импорт данных в GRASS*&lt;br /&gt;
&lt;br /&gt;
После выполнения этих шагов мы получаем доступ к богатейшему арсеналу инструментов GRASS существенно дополняющих возможности QGIS: проверка топологии векторных слоев, мощные инструменты работы с растровыми изображениями, включающими различные алгоритмы классификации, фильтрации и т.д.&lt;br /&gt;
&lt;br /&gt;
==Загрузка данных в QGIS==&lt;br /&gt;
&lt;br /&gt;
В качестве демонстрации алгоритма загрузки данных в GRASS, используем векторный слой административных границ и космический снимок MODIS из набора geosample [3]. Загрузим соответствующие слои и увеличим охват карты до границ этих слоев. Данные геосемпла находятся в географической системе координат. При загрузке снимка MODIS QGIS появится окно выбора проекций, где нужно выбрать систему координат WGS84.&lt;br /&gt;
&lt;br /&gt;
[[File:111.jpg|700px|thumb|center|Рис. 1. Векторный слой административных границ и космический снимок MODIS из набора geosample ]]&lt;br /&gt;
&lt;br /&gt;
==Создание и настройка рабочей среды GRASS==&lt;br /&gt;
&lt;br /&gt;
Подключение модуля GRASS происходит следующим образом:&lt;br /&gt;
&lt;br /&gt;
На главной панели QGIS выбираем вкладку Модули/Управление модулями – поставить флажок напротив GRASS. Появляется новая панель инструментов (GRASS):&lt;br /&gt;
&lt;br /&gt;
[[File:2.png|3000px|thumb|center|Рис. 2. Панель инструментов GRASS]]&lt;br /&gt;
&lt;br /&gt;
Задаем каталог для базы данных GRASS, для этого на панели инструментов GRASS нажимаем кнопку «Новый набор»: [[File:3.png|28px]]&lt;br /&gt;
&lt;br /&gt;
Появится диалоговое окно создания базы данных GRASS. В нем нужно указать указываем путь где будет находиться (или уже находится) база данных GRASS, например D:/LESSONS/GRASS. Нажимаем Next.&lt;br /&gt;
&lt;br /&gt;
[[File:4.png|700px|thumb|center|Рис. 3. Диалоговое окно создания базы данных GRASS]]&lt;br /&gt;
&lt;br /&gt;
В появившемся окне вводим название района GRASS, например: geosample. Нажимаем Next:&lt;br /&gt;
&lt;br /&gt;
[[File:5.png|700px|thumb|center|Рис. 4. Диалоговое окно создания района GRASS]]&lt;br /&gt;
&lt;br /&gt;
В окне выбора проекции указываем необходимую проекцию: поскольку данные геосемпла находятся в географической системе координат, необходимо выбрать WGS84:&lt;br /&gt;
&lt;br /&gt;
[[File:6.png|700px|thumb|center|Рис. 5. Диалоговое окно выбора проекции]]&lt;br /&gt;
&lt;br /&gt;
Далее появится окно установки охвата региона, нажмем кнопку «установить текущие границы QGIS», границы региона будут подогнаны под текущий охват QGIS.&lt;br /&gt;
&lt;br /&gt;
[[File:7.png|700px|thumb|center|Рис. 6. Диалоговое окно выбора границ созданного региона]]&lt;br /&gt;
&lt;br /&gt;
Указываем имя нового набора, например geosample. Нажимаем Next:&lt;br /&gt;
&lt;br /&gt;
[[File:8.png|700px|thumb|center|Рис. 7. Диалоговое окно создания нового набора]]&lt;br /&gt;
&lt;br /&gt;
Появляется окно с перечислением всех заданных параметров, в случае, если нас все устраивает, нажимаем кнопку Finish:&lt;br /&gt;
&lt;br /&gt;
[[File:9.png|700px|thumb|center|Рис. 8. Диалоговое окно с перечислением всех заданных параметров]]&lt;br /&gt;
&lt;br /&gt;
Должно появиться сообщение, что новый набор успешно создан и открыт как текущий набор:&lt;br /&gt;
&lt;br /&gt;
[[File:10.png|450px|thumb|center|Рис. 9. Сообщение  об успешном создании нового набора]]&lt;br /&gt;
&lt;br /&gt;
==Импорт данных в GRASS==&lt;br /&gt;
&lt;br /&gt;
===Импорт векторных данных===&lt;br /&gt;
&lt;br /&gt;
Для импортирования векторного слоя в модуль GRASS на панели инструментов  кнопку “открыть инструменты GRASS”: [[File:12.png|35px]]&lt;br /&gt;
&lt;br /&gt;
В появившемся окне в строке «Фильтр» пишем название модуля v.in.ogr.qgis&lt;br /&gt;
&lt;br /&gt;
[[File:13.png|700px|thumb|center|Рис. 10. Диалоговое окно выбора модулей GRASS для импорта векторных данных]]&lt;br /&gt;
&lt;br /&gt;
Выбирая данную функцию мы импортируем заданный вектор в модуль GRASS.&lt;br /&gt;
&lt;br /&gt;
===Импорт растровых данных===&lt;br /&gt;
&lt;br /&gt;
Для импортирования растрового слоя в модуль GRASS на панели инструментов  кнопку “открыть инструменты GRASS”: [[File:12.png|35px]]&lt;br /&gt;
&lt;br /&gt;
В появившемся окне в строке «Фильтр» пишем название модулья r.in.gdal.qgis&lt;br /&gt;
 &lt;br /&gt;
[[File:14.png|700px|thumb|center|Рис. 11. Диалоговое окно выбора модулей GRASS для импорта растровых данных]]&lt;br /&gt;
&lt;br /&gt;
Выбирая данную функцию мы импортируем заданный растр в модуль GRASS.&lt;br /&gt;
&lt;br /&gt;
Поскольку привязка снимка MODIS из набора геосемпла находится во внешнем файле и не распознается GRASS, необходимо поставить галочку «override projection» (изменить проекцию растра на проекцию установленную для региона GRASS).&lt;br /&gt;
&lt;br /&gt;
[[File:15.png|350px|thumb|center|Рис. 12. Диалоговое окно для настройки параметров загруженного растра]]&lt;br /&gt;
&lt;br /&gt;
После загрузки растра в GRASS он представлен в виде 3-х отдельных слоев (красного, зеленого и синего каналов), в чем можно убедиться, открыв браузер GRASS:&lt;br /&gt;
&lt;br /&gt;
[[File:16.png|350px|thumb|center|Рис. 13. Диалоговое окно для просмотра браузера]]&lt;br /&gt;
&lt;br /&gt;
Операции с растрами в GRASS производятся без физического объединения слоев в композиты, они объединяются логически с помощью команды i.group [4]. Тем не менее, можно создать RGB-композит для визуализации в QGIS посредством модуля r.composite [5].&lt;br /&gt;
&lt;br /&gt;
==Ссылки==&lt;br /&gt;
*[http://gis-lab.info/qa/grass-intro.html Начало работы с GRASS для Windows используя командную строку]&lt;br /&gt;
*[http://gis-lab.info/qa/grass-intro-gui.html Начало работы с GRASS через графический интерфейс wxPython]&lt;br /&gt;
*[http://http://gis-lab.info/qa/geosample.html Geosample: Открытый набор геоданных для различного ПО ГИС]&lt;br /&gt;
*[http://http://grass.osgeo.org/grass64/manuals/i.group.html i.group модуль Грасс для создания и редактирования групп и подгрупп растровых слоев]&lt;br /&gt;
*[http://http://grass.osgeo.org/grass64/manuals/r.composite.html r.composite – модуль GRASS для визуализации RGB композитов]&lt;/div&gt;</summary>
		<author><name>User2724</name></author>
	</entry>
	<entry>
		<id>https://wiki.gis-lab.info/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:16-grass.png&amp;diff=9778</id>
		<title>Файл:16-grass.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.gis-lab.info/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:16-grass.png&amp;diff=9778"/>
		<updated>2013-01-19T08:54:33Z</updated>

		<summary type="html">&lt;p&gt;User2724: загружена новая версия «Файл:16.png»&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Предполагаемое стандартное отклонение шума для данных SRTM, западная Австралия 119.0E 33.6S. Квадрат - область покрытая деревьями с более высокой отражающей способностью и ,следовательно, меньшим уровнем шума, чем на окружающей очищенной территории.&lt;/div&gt;</summary>
		<author><name>User2724</name></author>
	</entry>
	<entry>
		<id>https://wiki.gis-lab.info/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:15.png&amp;diff=9777</id>
		<title>Файл:15.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.gis-lab.info/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:15.png&amp;diff=9777"/>
		<updated>2013-01-19T08:48:18Z</updated>

		<summary type="html">&lt;p&gt;User2724: загружена новая версия «Файл:15.png»&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>User2724</name></author>
	</entry>
	<entry>
		<id>https://wiki.gis-lab.info/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:14.png&amp;diff=9776</id>
		<title>Файл:14.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.gis-lab.info/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:14.png&amp;diff=9776"/>
		<updated>2013-01-19T08:42:34Z</updated>

		<summary type="html">&lt;p&gt;User2724: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>User2724</name></author>
	</entry>
	<entry>
		<id>https://wiki.gis-lab.info/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:13.png&amp;diff=9775</id>
		<title>Файл:13.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.gis-lab.info/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:13.png&amp;diff=9775"/>
		<updated>2013-01-19T08:31:41Z</updated>

		<summary type="html">&lt;p&gt;User2724: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>User2724</name></author>
	</entry>
	<entry>
		<id>https://wiki.gis-lab.info/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:12.png&amp;diff=9774</id>
		<title>Файл:12.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.gis-lab.info/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:12.png&amp;diff=9774"/>
		<updated>2013-01-19T08:29:41Z</updated>

		<summary type="html">&lt;p&gt;User2724: загружена новая версия «Файл:12.png»&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>User2724</name></author>
	</entry>
	<entry>
		<id>https://wiki.gis-lab.info/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:10-grass.png&amp;diff=9773</id>
		<title>Файл:10-grass.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.gis-lab.info/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:10-grass.png&amp;diff=9773"/>
		<updated>2013-01-19T08:20:58Z</updated>

		<summary type="html">&lt;p&gt;User2724: загружена новая версия «Файл:10.png»&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>User2724</name></author>
	</entry>
	<entry>
		<id>https://wiki.gis-lab.info/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:9.png&amp;diff=9772</id>
		<title>Файл:9.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.gis-lab.info/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:9.png&amp;diff=9772"/>
		<updated>2013-01-19T08:18:12Z</updated>

		<summary type="html">&lt;p&gt;User2724: загружена новая версия «Файл:9.png»&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>User2724</name></author>
	</entry>
	<entry>
		<id>https://wiki.gis-lab.info/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:8.png&amp;diff=9771</id>
		<title>Файл:8.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.gis-lab.info/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:8.png&amp;diff=9771"/>
		<updated>2013-01-19T08:15:25Z</updated>

		<summary type="html">&lt;p&gt;User2724: загружена новая версия «Файл:8.png»&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>User2724</name></author>
	</entry>
	<entry>
		<id>https://wiki.gis-lab.info/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:7.png&amp;diff=9770</id>
		<title>Файл:7.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.gis-lab.info/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:7.png&amp;diff=9770"/>
		<updated>2013-01-19T08:12:25Z</updated>

		<summary type="html">&lt;p&gt;User2724: загружена новая версия «Файл:7.png»&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>User2724</name></author>
	</entry>
	<entry>
		<id>https://wiki.gis-lab.info/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:6.png&amp;diff=9769</id>
		<title>Файл:6.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.gis-lab.info/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:6.png&amp;diff=9769"/>
		<updated>2013-01-19T08:10:03Z</updated>

		<summary type="html">&lt;p&gt;User2724: загружена новая версия «Файл:6.png»&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>User2724</name></author>
	</entry>
	<entry>
		<id>https://wiki.gis-lab.info/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:5.png&amp;diff=9768</id>
		<title>Файл:5.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.gis-lab.info/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:5.png&amp;diff=9768"/>
		<updated>2013-01-19T08:06:22Z</updated>

		<summary type="html">&lt;p&gt;User2724: загружена новая версия «Файл:5.png»&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>User2724</name></author>
	</entry>
	<entry>
		<id>https://wiki.gis-lab.info/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:4.png&amp;diff=9767</id>
		<title>Файл:4.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.gis-lab.info/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:4.png&amp;diff=9767"/>
		<updated>2013-01-19T08:02:07Z</updated>

		<summary type="html">&lt;p&gt;User2724: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>User2724</name></author>
	</entry>
	<entry>
		<id>https://wiki.gis-lab.info/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:3.png&amp;diff=9766</id>
		<title>Файл:3.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.gis-lab.info/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:3.png&amp;diff=9766"/>
		<updated>2013-01-19T08:00:06Z</updated>

		<summary type="html">&lt;p&gt;User2724: загружена новая версия «Файл:3.png»&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>User2724</name></author>
	</entry>
	<entry>
		<id>https://wiki.gis-lab.info/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:2.png&amp;diff=9765</id>
		<title>Файл:2.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.gis-lab.info/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:2.png&amp;diff=9765"/>
		<updated>2013-01-19T07:52:36Z</updated>

		<summary type="html">&lt;p&gt;User2724: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>User2724</name></author>
	</entry>
	<entry>
		<id>https://wiki.gis-lab.info/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:111.jpg&amp;diff=9764</id>
		<title>Файл:111.jpg</title>
		<link rel="alternate" type="text/html" href="https://wiki.gis-lab.info/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:111.jpg&amp;diff=9764"/>
		<updated>2013-01-19T07:42:13Z</updated>

		<summary type="html">&lt;p&gt;User2724: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>User2724</name></author>
	</entry>
	<entry>
		<id>https://wiki.gis-lab.info/index.php?title=%D0%9A%D0%BB%D0%B0%D1%81%D1%81%D0%B8%D1%84%D0%B8%D0%BA%D0%B0%D1%86%D0%B8%D1%8F_%D0%BA%D0%BE%D1%81%D0%BC%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%BE%D0%B3%D0%BE_%D1%81%D0%BD%D0%B8%D0%BC%D0%BA%D0%B0_%D1%81_%D0%BE%D0%B1%D1%83%D1%87%D0%B5%D0%BD%D0%B8%D0%B5%D0%BC_%D1%81_%D0%BF%D0%BE%D0%BC%D0%BE%D1%89%D1%8C%D1%8E_QGIS_%D0%B8_GRASS&amp;diff=8983</id>
		<title>Классификация космического снимка с обучением с помощью QGIS и GRASS</title>
		<link rel="alternate" type="text/html" href="https://wiki.gis-lab.info/index.php?title=%D0%9A%D0%BB%D0%B0%D1%81%D1%81%D0%B8%D1%84%D0%B8%D0%BA%D0%B0%D1%86%D0%B8%D1%8F_%D0%BA%D0%BE%D1%81%D0%BC%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%BE%D0%B3%D0%BE_%D1%81%D0%BD%D0%B8%D0%BC%D0%BA%D0%B0_%D1%81_%D0%BE%D0%B1%D1%83%D1%87%D0%B5%D0%BD%D0%B8%D0%B5%D0%BC_%D1%81_%D0%BF%D0%BE%D0%BC%D0%BE%D1%89%D1%8C%D1%8E_QGIS_%D0%B8_GRASS&amp;diff=8983"/>
		<updated>2012-12-16T15:39:19Z</updated>

		<summary type="html">&lt;p&gt;User2724: /* Классификация космического снимка */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Классификация космического снимка в GRASS GIS с обучением==&lt;br /&gt;
В статье рассматривается алгоритм классификации с обучением в ГИС GRASS с использованием графического интерфейса QGIS (модуль GRASS) и командной строки GRASS.&lt;br /&gt;
&lt;br /&gt;
Начало работы с GRASS ГИС через командную строку и через собственный графический интерфейс рассмотрено в соответствующих статьях [1, 2]. В данной статье будет использована связка GRASS и QGIS которые интегрированы посредством модуля GRASS для QGIS.&lt;br /&gt;
&lt;br /&gt;
Суть метода управляемой классификации (supervised classification) заключается в том, что пользователь сам определяет, какие пиксели с какими спектральными значениями попадут в тот или иной класс объектов. Это достигается путем создания набора эталонов – пространственных выделов (полигонов), для которых класс установлен на основе полевых исследований или по тематическим картам. При необходимости, пользователь может улучшить классификацию путем создания дополнительных эталонов.&lt;br /&gt;
&lt;br /&gt;
Рассмотрим алгоритм управляемой классификации на примере космического снимка Landsat-5 окрестностей города Ханты-Мансийска (рис. 1).&lt;br /&gt;
[[File:Окрестности г. Ханты-Мансийска.PNG|700px|thumb|center|Рис. 1. Окрестности г. Ханты-Мансийска. Съемка Landsat-5 за 23 июля 2007 года, комбинация каналов 4-5-3]]&lt;br /&gt;
&lt;br /&gt;
==Визуализация космического снимка==&lt;br /&gt;
На первом шаге необходимо визуализировать космический снимок таким образом, чтобы хорошо различались объекты, которые мы хотим классифицировать. Для сборки и визуализации космического снимка можно использовать инструментарий QGIS [3]. В случае классификации растительного покрова, лучше использовать инфракрасный диапазон, например, для Landsat часто используют сочетание 4, 5 и 3- го каналов [4]. Для классификации мы будем использовать все слои Landsat, кроме термального (т.е. 1, 2, 3, 4, 5 и 7).&lt;br /&gt;
&lt;br /&gt;
==Создание слоя эталонов==&lt;br /&gt;
В QGIS создадим новый полигональный слой с именем signature. В данном слое необходимо создать целочисленную атрибутивную колонку, в нашем случае, это будет колонка type_num, в которую мы будем записывать численный код класса объектов. (Подробнее о создании и редактировании векторных слоев в QGIS см. [5]).&lt;br /&gt;
&lt;br /&gt;
ВАЖНО: создаваемый слой должен быть в той же проекции, что и снимок.&lt;br /&gt;
&lt;br /&gt;
Отредактируем слой эталонов, оцифровывая полигоны в центре характерных выделов. При оцифровке следует придерживаться двух правил:&lt;br /&gt;
&lt;br /&gt;
'''Правило 1'''. Оцифровываемый полигон по возможности должен захватывать только пикселы относящиеся к одному классу. Если вы оцифровываете эталонный полигон для леса, то в него не должно входить посторонних пикселов, не относящихся к лесу.&lt;br /&gt;
&lt;br /&gt;
'''Правило 2'''. Задавайте полигоны как можно большей площади, чтобы охватить как можно больше вариаций в пределах одного класса, не забывая при этом про '''Правило 1'''.&lt;br /&gt;
&lt;br /&gt;
[[File:Пример оцифровки эталонов.PNG|700px|thumb|center|Рис. 2. Пример оцифровки эталонов с заполнением атрибутивной таблицы]]&lt;br /&gt;
&lt;br /&gt;
==Импорт данных в модуль GRASS==&lt;br /&gt;
Для импорта данных необходимо создать новый набор данных GRASS, сделаем это с помощью графического интерфейса модуля GRASS для QGIS:&amp;lt;br /&amp;gt;&lt;br /&gt;
#создадим новый набор GRASS с помощью кнопки [[File:Кнопка11.PNG|22px]] на панели инструментов модуля GRASS.&lt;br /&gt;
# создадим новый район.&lt;br /&gt;
# зададим району проекцию, соответствующую проекции снимка.&lt;br /&gt;
# создадим новый район.&lt;br /&gt;
&lt;br /&gt;
'''ВАЖНО:''' Особо следует отметить, что проекция создаваемого района должна соответствовать проекции снимка и, соответственно, слоя эталонов. Охват района можно отредактировать позже.&lt;br /&gt;
&lt;br /&gt;
После появления сообщения об успешном создании нового набора, запустим инструменты GRASS (кнопка [[File:Кнопка1.PNG|22px]]).&lt;br /&gt;
&lt;br /&gt;
===Импорт и настройка растра===&lt;br /&gt;
В появившемся окне выбираем вкладку «Список модулей» и находим модуль '''in.gdal.qgis''' который импортирует в GRASS загруженные в проект QGIS растровые слои. Облегчить поиск среди множества модулей поможет фильтр: введем r.in – отобразятся различные инструменты для импорта растровых данных в GRASS.&lt;br /&gt;
&lt;br /&gt;
С помощью инструмента '''r.in.gdal.qgis''' можно импортировать в GRASS растр, который предстоит классифицировать.&lt;br /&gt;
[[File:Dialogovoe okno.PNG|400px|thumb|center|Рис. 3. Диалоговое окно r.in.gdal.qgis]]&lt;br /&gt;
&lt;br /&gt;
После импорта растра в GRASS он представляет собой отдельные слои: raster.1, raster.2, raster.3, в этом можно убедиться, посмотрев на хранящиеся в наборе GRASS растры на вкладке «браузер» инструментов GRASS.&lt;br /&gt;
&lt;br /&gt;
Объединим эти слои в один многоканальный растр, для этого в окне инструментов GRASS выбрав вкладку «Дерево модулей» и запускаем командную строку GRASS «shell – Оболочка GRASS» и выполняем следующую команду:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:Silver&amp;quot;&amp;gt;i.group group=raster subgroup=raster input=raster.1,raster.2,raster.3, raster.4, raster.5, raster.6&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Данная команда группирует 6 каналов Landsat в группу и подгруппу под названием raster. (Подробнее в 6).&lt;br /&gt;
&lt;br /&gt;
Подгоняем регион GRASS к размерам одного из слоев импортированного растра и устанавливаем пространственное разрешение. Для этого выполним команду:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:Silver&amp;quot;&amp;gt;g.region rast=raster.1=ryb&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Данная операция необходима, чтобы выходной классифицированный растр имел тоже пространственное разрешение и тот же охват, что и исходный снимок. (Подробнее в 7). Посмотреть параметры региона (охват, проекцию, пространственное разрешение и т.д. можно с помощью команды:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:Silver&amp;quot;&amp;gt;g.region –p&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Флаг –p команды g.region выводит на экран параметры региона.&lt;br /&gt;
&lt;br /&gt;
===Импорт векторного слоя===&lt;br /&gt;
С помощью инструмента '''v.in.ogr.qgis''' из списка модулей инструментов GRASS импортируем слой эталонов с заданным именем, например sig.&lt;br /&gt;
&lt;br /&gt;
Для работы со слоем эталонов в GRASS его необходимо преобразовать в растровый вид, для этого в командной строке GRASS выполним:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:Silver&amp;quot;&amp;gt;v.to.rast in=sig out=sig use=attr col=type_num&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
расшифруем параметры команды v.to.rast:&lt;br /&gt;
* in = название исходного векторного слоя эталонов&lt;br /&gt;
* out = название растеризованного слоя эталонов&lt;br /&gt;
* use = attr чтение значений из атрибутивной колонки исходного векторного слоя&lt;br /&gt;
* col = название колонки куда мы вносили численный код класса (type_num)(Подробнее в 8).&lt;br /&gt;
&lt;br /&gt;
==Классификация космического снимка==&lt;br /&gt;
Классификация растров в GRASS состоит из 2-х этапов: расчета первичной статистики и собственно классификации.&lt;br /&gt;
&lt;br /&gt;
Для расчета первичной статистики выполним:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:Silver&amp;quot;&amp;gt;i.gensigset group=raster subgroup=raster sig=statistics training=sig&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Модуль &amp;lt;span style=&amp;quot;background-color:Silver&amp;quot;&amp;gt;i.gensigset&amp;lt;/span&amp;gt; (Подробнее в 9) производит расчет спектральной статистики по космическому снимку внутри эталонных полигонов, создавая так называемый файл сигнатур (положения классов в многомерном пространстве спектральных характеристик снимка) для классификации с использованием модуля &amp;lt;span style=&amp;quot;background-color:Silver&amp;quot;&amp;gt;i.smap&amp;lt;/span&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Теперь произведем собственно классификацию с обучением, результатом ее является растровый слой классификации «''classification''» (Подробнее в 10):&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:Silver&amp;quot;&amp;gt;i.smap group=raster subgroup=raster sig=statistics out=classification&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Можно окрасить выходной классифицированный растр, например в цветовом диапазоне red-yellow-blue (Подробнее в статье 11):&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:Silver&amp;quot;&amp;gt;r.colors class1 color=ryb&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Загрузить классифицированный растр в проект QGIS можно с помощью кнопки [[File:Кнопка2.PNG|22px]]. При сравнении полученной первичной классификации со снимком мы можем найти места несоответствия классов классификации и ландшафтов. Эту проблему можно решить, увеличив количество эталонов для «проблемных» классов, размещая их в местах отнесенных не к тому классу. Можно задавать сколь угодно много эталонов для каждого класса объектов, увеличивая точность классификации до тех пор, пока ее точность не станет нас удовлетворять. Оценке точности классификации посвящена отдельная статья [10].&lt;br /&gt;
&lt;br /&gt;
[[File:Rezultat classifikacyi.PNG|700px|thumb|center|Рис. 4. Результат классификации]]&lt;br /&gt;
&lt;br /&gt;
==Постобработка классифицированного снимка==&lt;br /&gt;
Постобработка является необязательным этапом классификации и может заключаться в фильтрации шумов или автоматической векторизации полученных результатов.&lt;br /&gt;
&lt;br /&gt;
Для фильтрации шумов выполним:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:Silver&amp;quot;&amp;gt;r.neighbors input=classification output=classification_mode7 method=mode size=7&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Это модальный фильтр (method=mode) из набора фильтров модуля &amp;lt;span style=&amp;quot;background-color:Silver&amp;quot;&amp;gt;r.neighbors&amp;lt;/span&amp;gt; с размером скользящего окна равным 7 пикселям (Подробнее в 11).&lt;br /&gt;
&lt;br /&gt;
[[File:Raschyot mody s oknom 1 piceley.PNG|700px|thumb|center|Рис.5. Результат расчета моды с окном в 7 пикселей]]&lt;br /&gt;
&lt;br /&gt;
В заключение можно векторизовать отфильтрованный результат:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:Silver&amp;quot;&amp;gt;r.to.vect -s input=classification_mode7 output= classification_mode7 feature=area&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
расшифруем параметры команды &amp;lt;span style=&amp;quot;background-color:Silver&amp;quot;&amp;gt;r.to.vect&amp;lt;/span&amp;gt;:&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:Silver&amp;quot;&amp;gt;-s –&amp;lt;/span&amp;gt; (smooth) флажок, сглаживающий ребра результирующих полигонов&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:Silver&amp;quot;&amp;gt;input&amp;lt;/span&amp;gt; - имя входного файла&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:Silver&amp;quot;&amp;gt;output&amp;lt;/span&amp;gt; - имя выходного файла&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:Silver&amp;quot;&amp;gt;feature=area&amp;lt;/span&amp;gt; – определение типа выходного векторного слоя -полигон.(Подробнее в 12).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Rezultat vectorizacyi.PNG|700px|thumb|center|Рис. 6. Результат векторизации классифицированного растра после применения модального фильтра]]&lt;br /&gt;
&lt;br /&gt;
==Экспорт результатов классификации из GRASS==&lt;br /&gt;
Загрузить полученный векторизованный слой классификации из GRASS в QGIS можно с помощью кнопки  [[File:Кнопка4.PNG|22px]]. Далее, чтобы экспортировать слой из базы данных GRASS как шейп, в менеджере слоев правым щелчком мыши по загруженному в QGIS слою и выбираем пункт сохранить как шейп-файл. В разрабатываемой версии QGIS 1.9.0 master аналогичным образом можно сохранять и растровые слои.&lt;br /&gt;
&lt;br /&gt;
Также для экспорта результатов можно воспользоваться стандартными модулями грасс: &amp;lt;span style=&amp;quot;background-color:Silver&amp;quot;&amp;gt;v.out.ogr&amp;lt;/span&amp;gt; (для векторных слоев) и &amp;lt;span style=&amp;quot;background-color:Silver&amp;quot;&amp;gt;r.out.gdal&amp;lt;/span&amp;gt; (для растров) которые можно использовать как из командной строки, так и через графический интерфейс модуля GRASS для QGIS.&lt;br /&gt;
&lt;br /&gt;
==Ссылки==&lt;br /&gt;
# Начало работы с GRASS для Windows используя командную строку [http://gis-lab.info/qa/grass-intro.html]&lt;br /&gt;
# Начало работы с GRASS через графический интерфейс wxPython [http://gis-lab.info/qa/grass-intro-gui.html]&lt;br /&gt;
# Как собрать и показать снимок Landsat из отдельных каналов в QGIS [http://gis-lab.info/qa/qgis-landsat-merge.html]&lt;br /&gt;
# Интерпретация комбинаций каналов данных Landsat TM / ETM+ [http://gis-lab.info/qa/landsat-bandcomb.html]&lt;br /&gt;
# Создание и редактирование векторных слоев средствами QGIS [http://gis-lab.info/qa/qgis-vector.html]&lt;br /&gt;
# i.group - модуль Грасс для создания и редактирования групп и подгрупп растровых слоев [http://grass.osgeo.org/grass64/manuals/i.group.html]&lt;br /&gt;
# g.region - модуль Грасс для управления параметрами региона (охват, пространственное разрешение и т.д.) [http://grass.osgeo.org/grass64/manuals/g.region.html]&lt;br /&gt;
# v.to.rast region - модуль Грасс для растеризации векторных слоев [http://grass.osgeo.org/grass64/manuals/v.to.rast.html]&lt;br /&gt;
# i.gensigset - модуль Грасс для расчета статистики по растру [http://grass.osgeo.org/grass64/manuals/i.gensigset.html]&lt;br /&gt;
# Матрица ошибок и расчет показателей точности тематических карт [http://gis-lab.info/qa/error-matrix.html]&lt;br /&gt;
# r.neighbors - набор фильтров скользящего окна для Грасс [http://grass.osgeo.org/grass64/manuals/r.neighbors.html]&lt;br /&gt;
# r.to.vect модуль Грасс для преобразования растровых данных в векторные [http://grass.osgeo.org/grass64/manuals/r.to.vect.html]&lt;/div&gt;</summary>
		<author><name>User2724</name></author>
	</entry>
	<entry>
		<id>https://wiki.gis-lab.info/index.php?title=%D0%9A%D0%BB%D0%B0%D1%81%D1%81%D0%B8%D1%84%D0%B8%D0%BA%D0%B0%D1%86%D0%B8%D1%8F_%D0%BA%D0%BE%D1%81%D0%BC%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%BE%D0%B3%D0%BE_%D1%81%D0%BD%D0%B8%D0%BC%D0%BA%D0%B0_%D1%81_%D0%BE%D0%B1%D1%83%D1%87%D0%B5%D0%BD%D0%B8%D0%B5%D0%BC_%D1%81_%D0%BF%D0%BE%D0%BC%D0%BE%D1%89%D1%8C%D1%8E_QGIS_%D0%B8_GRASS&amp;diff=8982</id>
		<title>Классификация космического снимка с обучением с помощью QGIS и GRASS</title>
		<link rel="alternate" type="text/html" href="https://wiki.gis-lab.info/index.php?title=%D0%9A%D0%BB%D0%B0%D1%81%D1%81%D0%B8%D1%84%D0%B8%D0%BA%D0%B0%D1%86%D0%B8%D1%8F_%D0%BA%D0%BE%D1%81%D0%BC%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%BE%D0%B3%D0%BE_%D1%81%D0%BD%D0%B8%D0%BC%D0%BA%D0%B0_%D1%81_%D0%BE%D0%B1%D1%83%D1%87%D0%B5%D0%BD%D0%B8%D0%B5%D0%BC_%D1%81_%D0%BF%D0%BE%D0%BC%D0%BE%D1%89%D1%8C%D1%8E_QGIS_%D0%B8_GRASS&amp;diff=8982"/>
		<updated>2012-12-16T15:34:10Z</updated>

		<summary type="html">&lt;p&gt;User2724: /* Классификация космического снимка в GRASS GIS с обучением */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Классификация космического снимка в GRASS GIS с обучением==&lt;br /&gt;
В статье рассматривается алгоритм классификации с обучением в ГИС GRASS с использованием графического интерфейса QGIS (модуль GRASS) и командной строки GRASS.&lt;br /&gt;
&lt;br /&gt;
Начало работы с GRASS ГИС через командную строку и через собственный графический интерфейс рассмотрено в соответствующих статьях [1, 2]. В данной статье будет использована связка GRASS и QGIS которые интегрированы посредством модуля GRASS для QGIS.&lt;br /&gt;
&lt;br /&gt;
Суть метода управляемой классификации (supervised classification) заключается в том, что пользователь сам определяет, какие пиксели с какими спектральными значениями попадут в тот или иной класс объектов. Это достигается путем создания набора эталонов – пространственных выделов (полигонов), для которых класс установлен на основе полевых исследований или по тематическим картам. При необходимости, пользователь может улучшить классификацию путем создания дополнительных эталонов.&lt;br /&gt;
&lt;br /&gt;
Рассмотрим алгоритм управляемой классификации на примере космического снимка Landsat-5 окрестностей города Ханты-Мансийска (рис. 1).&lt;br /&gt;
[[File:Окрестности г. Ханты-Мансийска.PNG|700px|thumb|center|Рис. 1. Окрестности г. Ханты-Мансийска. Съемка Landsat-5 за 23 июля 2007 года, комбинация каналов 4-5-3]]&lt;br /&gt;
&lt;br /&gt;
==Визуализация космического снимка==&lt;br /&gt;
На первом шаге необходимо визуализировать космический снимок таким образом, чтобы хорошо различались объекты, которые мы хотим классифицировать. Для сборки и визуализации космического снимка можно использовать инструментарий QGIS [3]. В случае классификации растительного покрова, лучше использовать инфракрасный диапазон, например, для Landsat часто используют сочетание 4, 5 и 3- го каналов [4]. Для классификации мы будем использовать все слои Landsat, кроме термального (т.е. 1, 2, 3, 4, 5 и 7).&lt;br /&gt;
&lt;br /&gt;
==Создание слоя эталонов==&lt;br /&gt;
В QGIS создадим новый полигональный слой с именем signature. В данном слое необходимо создать целочисленную атрибутивную колонку, в нашем случае, это будет колонка type_num, в которую мы будем записывать численный код класса объектов. (Подробнее о создании и редактировании векторных слоев в QGIS см. [5]).&lt;br /&gt;
&lt;br /&gt;
ВАЖНО: создаваемый слой должен быть в той же проекции, что и снимок.&lt;br /&gt;
&lt;br /&gt;
Отредактируем слой эталонов, оцифровывая полигоны в центре характерных выделов. При оцифровке следует придерживаться двух правил:&lt;br /&gt;
&lt;br /&gt;
'''Правило 1'''. Оцифровываемый полигон по возможности должен захватывать только пикселы относящиеся к одному классу. Если вы оцифровываете эталонный полигон для леса, то в него не должно входить посторонних пикселов, не относящихся к лесу.&lt;br /&gt;
&lt;br /&gt;
'''Правило 2'''. Задавайте полигоны как можно большей площади, чтобы охватить как можно больше вариаций в пределах одного класса, не забывая при этом про '''Правило 1'''.&lt;br /&gt;
&lt;br /&gt;
[[File:Пример оцифровки эталонов.PNG|700px|thumb|center|Рис. 2. Пример оцифровки эталонов с заполнением атрибутивной таблицы]]&lt;br /&gt;
&lt;br /&gt;
==Импорт данных в модуль GRASS==&lt;br /&gt;
Для импорта данных необходимо создать новый набор данных GRASS, сделаем это с помощью графического интерфейса модуля GRASS для QGIS:&amp;lt;br /&amp;gt;&lt;br /&gt;
#создадим новый набор GRASS с помощью кнопки [[File:Кнопка11.PNG|22px]] на панели инструментов модуля GRASS.&lt;br /&gt;
# создадим новый район.&lt;br /&gt;
# зададим району проекцию, соответствующую проекции снимка.&lt;br /&gt;
# создадим новый район.&lt;br /&gt;
&lt;br /&gt;
'''ВАЖНО:''' Особо следует отметить, что проекция создаваемого района должна соответствовать проекции снимка и, соответственно, слоя эталонов. Охват района можно отредактировать позже.&lt;br /&gt;
&lt;br /&gt;
После появления сообщения об успешном создании нового набора, запустим инструменты GRASS (кнопка [[File:Кнопка1.PNG|22px]]).&lt;br /&gt;
&lt;br /&gt;
===Импорт и настройка растра===&lt;br /&gt;
В появившемся окне выбираем вкладку «Список модулей» и находим модуль '''in.gdal.qgis''' который импортирует в GRASS загруженные в проект QGIS растровые слои. Облегчить поиск среди множества модулей поможет фильтр: введем r.in – отобразятся различные инструменты для импорта растровых данных в GRASS.&lt;br /&gt;
&lt;br /&gt;
С помощью инструмента '''r.in.gdal.qgis''' можно импортировать в GRASS растр, который предстоит классифицировать.&lt;br /&gt;
[[File:Dialogovoe okno.PNG|400px|thumb|center|Рис. 3. Диалоговое окно r.in.gdal.qgis]]&lt;br /&gt;
&lt;br /&gt;
После импорта растра в GRASS он представляет собой отдельные слои: raster.1, raster.2, raster.3, в этом можно убедиться, посмотрев на хранящиеся в наборе GRASS растры на вкладке «браузер» инструментов GRASS.&lt;br /&gt;
&lt;br /&gt;
Объединим эти слои в один многоканальный растр, для этого в окне инструментов GRASS выбрав вкладку «Дерево модулей» и запускаем командную строку GRASS «shell – Оболочка GRASS» и выполняем следующую команду:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:Silver&amp;quot;&amp;gt;i.group group=raster subgroup=raster input=raster.1,raster.2,raster.3, raster.4, raster.5, raster.6&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Данная команда группирует 6 каналов Landsat в группу и подгруппу под названием raster. (Подробнее в 6).&lt;br /&gt;
&lt;br /&gt;
Подгоняем регион GRASS к размерам одного из слоев импортированного растра и устанавливаем пространственное разрешение. Для этого выполним команду:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:Silver&amp;quot;&amp;gt;g.region rast=raster.1=ryb&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Данная операция необходима, чтобы выходной классифицированный растр имел тоже пространственное разрешение и тот же охват, что и исходный снимок. (Подробнее в 7). Посмотреть параметры региона (охват, проекцию, пространственное разрешение и т.д. можно с помощью команды:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:Silver&amp;quot;&amp;gt;g.region –p&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Флаг –p команды g.region выводит на экран параметры региона.&lt;br /&gt;
&lt;br /&gt;
===Импорт векторного слоя===&lt;br /&gt;
С помощью инструмента '''v.in.ogr.qgis''' из списка модулей инструментов GRASS импортируем слой эталонов с заданным именем, например sig.&lt;br /&gt;
&lt;br /&gt;
Для работы со слоем эталонов в GRASS его необходимо преобразовать в растровый вид, для этого в командной строке GRASS выполним:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:Silver&amp;quot;&amp;gt;v.to.rast in=sig out=sig use=attr col=type_num&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
расшифруем параметры команды v.to.rast:&lt;br /&gt;
* in = название исходного векторного слоя эталонов&lt;br /&gt;
* out = название растеризованного слоя эталонов&lt;br /&gt;
* use = attr чтение значений из атрибутивной колонки исходного векторного слоя&lt;br /&gt;
* col = название колонки куда мы вносили численный код класса (type_num)(Подробнее в 8).&lt;br /&gt;
&lt;br /&gt;
==Классификация космического снимка==&lt;br /&gt;
Классификация растров в GRASS состоит из 2-х этапов: расчета первичной статистики и собственно классификации.&lt;br /&gt;
&lt;br /&gt;
Для расчета первичной статистики выполним:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:Silver&amp;quot;&amp;gt;i.gensigset group=raster subgroup=raster sig=statistics training=sig&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Модуль &amp;lt;span style=&amp;quot;background-color:Silver&amp;quot;&amp;gt;i.gensigset&amp;lt;/span&amp;gt; (Подробнее в 9) производит расчет спектральной статистики по космическому снимку внутри эталонных полигонов, создавая так называемый файл сигнатур (положения классов в многомерном пространстве спектральных характеристик снимка) для классификации с использованием модуля &amp;lt;span style=&amp;quot;background-color:Silver&amp;quot;&amp;gt;i.smap&amp;lt;/span&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Теперь произведем собственно классификацию с обучением, результатом ее является растровый слой классификации «''classification''» (Подробнее в 10):&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:Silver&amp;quot;&amp;gt;i.smap group=raster subgroup=raster sig=statistics out=classification&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Можно окрасить выходной классифицированный растр, например в цветовом диапазоне red-yellow-blue (Подробнее&amp;lt;ref&amp;gt;заглавие=r.neighbors набор фильтров скользящего окна для Грасс|ссылка=http://grass.osgeo.org/grass64/manuals/r.neighbors.html &amp;lt;/ref&amp;gt;):&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:Silver&amp;quot;&amp;gt;r.colors class1 color=ryb&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Загрузить классифицированный растр в проект QGIS можно с помощью кнопки [[File:Кнопка2.PNG|22px]]. При сравнении полученной первичной классификации со снимком мы можем найти места несоответствия классов классификации и ландшафтов. Эту проблему можно решить, увеличив количество эталонов для «проблемных» классов, размещая их в местах отнесенных не к тому классу. Можно задавать сколь угодно много эталонов для каждого класса объектов, увеличивая точность классификации до тех пор, пока ее точность не станет нас удовлетворять. Оценке точности классификации посвящена отдельная статья [10].&lt;br /&gt;
&lt;br /&gt;
[[File:Rezultat classifikacyi.PNG|700px|thumb|center|Рис. 4. Результат классификации]]&lt;br /&gt;
&lt;br /&gt;
==Постобработка классифицированного снимка==&lt;br /&gt;
Постобработка является необязательным этапом классификации и может заключаться в фильтрации шумов или автоматической векторизации полученных результатов.&lt;br /&gt;
&lt;br /&gt;
Для фильтрации шумов выполним:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:Silver&amp;quot;&amp;gt;r.neighbors input=classification output=classification_mode7 method=mode size=7&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Это модальный фильтр (method=mode) из набора фильтров модуля &amp;lt;span style=&amp;quot;background-color:Silver&amp;quot;&amp;gt;r.neighbors&amp;lt;/span&amp;gt; с размером скользящего окна равным 7 пикселям (Подробнее в 11).&lt;br /&gt;
&lt;br /&gt;
[[File:Raschyot mody s oknom 1 piceley.PNG|700px|thumb|center|Рис.5. Результат расчета моды с окном в 7 пикселей]]&lt;br /&gt;
&lt;br /&gt;
В заключение можно векторизовать отфильтрованный результат:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:Silver&amp;quot;&amp;gt;r.to.vect -s input=classification_mode7 output= classification_mode7 feature=area&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
расшифруем параметры команды &amp;lt;span style=&amp;quot;background-color:Silver&amp;quot;&amp;gt;r.to.vect&amp;lt;/span&amp;gt;:&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:Silver&amp;quot;&amp;gt;-s –&amp;lt;/span&amp;gt; (smooth) флажок, сглаживающий ребра результирующих полигонов&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:Silver&amp;quot;&amp;gt;input&amp;lt;/span&amp;gt; - имя входного файла&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:Silver&amp;quot;&amp;gt;output&amp;lt;/span&amp;gt; - имя выходного файла&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:Silver&amp;quot;&amp;gt;feature=area&amp;lt;/span&amp;gt; – определение типа выходного векторного слоя -полигон.(Подробнее в 12).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Rezultat vectorizacyi.PNG|700px|thumb|center|Рис. 6. Результат векторизации классифицированного растра после применения модального фильтра]]&lt;br /&gt;
&lt;br /&gt;
==Экспорт результатов классификации из GRASS==&lt;br /&gt;
Загрузить полученный векторизованный слой классификации из GRASS в QGIS можно с помощью кнопки  [[File:Кнопка4.PNG|22px]]. Далее, чтобы экспортировать слой из базы данных GRASS как шейп, в менеджере слоев правым щелчком мыши по загруженному в QGIS слою и выбираем пункт сохранить как шейп-файл. В разрабатываемой версии QGIS 1.9.0 master аналогичным образом можно сохранять и растровые слои.&lt;br /&gt;
&lt;br /&gt;
Также для экспорта результатов можно воспользоваться стандартными модулями грасс: &amp;lt;span style=&amp;quot;background-color:Silver&amp;quot;&amp;gt;v.out.ogr&amp;lt;/span&amp;gt; (для векторных слоев) и &amp;lt;span style=&amp;quot;background-color:Silver&amp;quot;&amp;gt;r.out.gdal&amp;lt;/span&amp;gt; (для растров) которые можно использовать как из командной строки, так и через графический интерфейс модуля GRASS для QGIS.&lt;br /&gt;
&lt;br /&gt;
==Ссылки==&lt;br /&gt;
# Начало работы с GRASS для Windows используя командную строку [http://gis-lab.info/qa/grass-intro.html]&lt;br /&gt;
# Начало работы с GRASS через графический интерфейс wxPython [http://gis-lab.info/qa/grass-intro-gui.html]&lt;br /&gt;
# Как собрать и показать снимок Landsat из отдельных каналов в QGIS [http://gis-lab.info/qa/qgis-landsat-merge.html]&lt;br /&gt;
# Интерпретация комбинаций каналов данных Landsat TM / ETM+ [http://gis-lab.info/qa/landsat-bandcomb.html]&lt;br /&gt;
# Создание и редактирование векторных слоев средствами QGIS [http://gis-lab.info/qa/qgis-vector.html]&lt;br /&gt;
# i.group - модуль Грасс для создания и редактирования групп и подгрупп растровых слоев [http://grass.osgeo.org/grass64/manuals/i.group.html]&lt;br /&gt;
# g.region - модуль Грасс для управления параметрами региона (охват, пространственное разрешение и т.д.) [http://grass.osgeo.org/grass64/manuals/g.region.html]&lt;br /&gt;
# v.to.rast region - модуль Грасс для растеризации векторных слоев [http://grass.osgeo.org/grass64/manuals/v.to.rast.html]&lt;br /&gt;
# i.gensigset - модуль Грасс для расчета статистики по растру [http://grass.osgeo.org/grass64/manuals/i.gensigset.html]&lt;br /&gt;
# Матрица ошибок и расчет показателей точности тематических карт [http://gis-lab.info/qa/error-matrix.html]&lt;br /&gt;
# r.neighbors - набор фильтров скользящего окна для Грасс [http://grass.osgeo.org/grass64/manuals/r.neighbors.html]&lt;br /&gt;
# r.to.vect модуль Грасс для преобразования растровых данных в векторные [http://grass.osgeo.org/grass64/manuals/r.to.vect.html]&lt;/div&gt;</summary>
		<author><name>User2724</name></author>
	</entry>
	<entry>
		<id>https://wiki.gis-lab.info/index.php?title=%D0%9A%D0%BB%D0%B0%D1%81%D1%81%D0%B8%D1%84%D0%B8%D0%BA%D0%B0%D1%86%D0%B8%D1%8F_%D0%BA%D0%BE%D1%81%D0%BC%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%BE%D0%B3%D0%BE_%D1%81%D0%BD%D0%B8%D0%BC%D0%BA%D0%B0_%D1%81_%D0%BE%D0%B1%D1%83%D1%87%D0%B5%D0%BD%D0%B8%D0%B5%D0%BC_%D1%81_%D0%BF%D0%BE%D0%BC%D0%BE%D1%89%D1%8C%D1%8E_QGIS_%D0%B8_GRASS&amp;diff=8981</id>
		<title>Классификация космического снимка с обучением с помощью QGIS и GRASS</title>
		<link rel="alternate" type="text/html" href="https://wiki.gis-lab.info/index.php?title=%D0%9A%D0%BB%D0%B0%D1%81%D1%81%D0%B8%D1%84%D0%B8%D0%BA%D0%B0%D1%86%D0%B8%D1%8F_%D0%BA%D0%BE%D1%81%D0%BC%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%BE%D0%B3%D0%BE_%D1%81%D0%BD%D0%B8%D0%BC%D0%BA%D0%B0_%D1%81_%D0%BE%D0%B1%D1%83%D1%87%D0%B5%D0%BD%D0%B8%D0%B5%D0%BC_%D1%81_%D0%BF%D0%BE%D0%BC%D0%BE%D1%89%D1%8C%D1%8E_QGIS_%D0%B8_GRASS&amp;diff=8981"/>
		<updated>2012-12-16T15:10:30Z</updated>

		<summary type="html">&lt;p&gt;User2724: /* Классификация космического снимка в GRASS GIS с обучением */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Классификация космического снимка в GRASS GIS с обучением==&lt;br /&gt;
В статье рассматривается алгоритм классификации с обучением в ГИС GRASS с использованием графического интерфейса QGIS (модуль GRASS) и командной строки GRASS.&lt;br /&gt;
&lt;br /&gt;
Начало работы с GRASS ГИС через командную строку и через собственный графический интерфейс рассмотрено в соответствующих статьях [1,2]. В данной статье будет использована связка GRASS и QGIS которые интегрированы посредством модуля GRASS для QGIS.&lt;br /&gt;
&lt;br /&gt;
Суть метода управляемой классификации (supervised classification) заключается в том, что пользователь сам определяет, какие пиксели с какими спектральными значениями попадут в тот или иной класс объектов. Это достигается путем создания набора эталонов – пространственных выделов (полигонов), для которых класс установлен на основе полевых исследований или по тематическим картам. При необходимости, пользователь может улучшить классификацию путем создания дополнительных эталонов.&lt;br /&gt;
&lt;br /&gt;
Рассмотрим алгоритм управляемой классификации на примере космического снимка Landsat-5 окрестностей города Ханты-Мансийска (рис. 1).&lt;br /&gt;
[[File:Окрестности г. Ханты-Мансийска.PNG|700px|thumb|center|Рис. 1. Окрестности г. Ханты-Мансийска. Съемка Landsat-5 за 23 июля 2007 года, комбинация каналов 4-5-3]]&lt;br /&gt;
&lt;br /&gt;
==Визуализация космического снимка==&lt;br /&gt;
На первом шаге необходимо визуализировать космический снимок таким образом, чтобы хорошо различались объекты, которые мы хотим классифицировать. Для сборки и визуализации космического снимка можно использовать инструментарий QGIS [3]. В случае классификации растительного покрова, лучше использовать инфракрасный диапазон, например, для Landsat часто используют сочетание 4, 5 и 3- го каналов [4]. Для классификации мы будем использовать все слои Landsat, кроме термального (т.е. 1, 2, 3, 4, 5 и 7).&lt;br /&gt;
&lt;br /&gt;
==Создание слоя эталонов==&lt;br /&gt;
В QGIS создадим новый полигональный слой с именем signature. В данном слое необходимо создать целочисленную атрибутивную колонку, в нашем случае, это будет колонка type_num, в которую мы будем записывать численный код класса объектов. (Подробнее о создании и редактировании векторных слоев в QGIS см. [5]).&lt;br /&gt;
&lt;br /&gt;
ВАЖНО: создаваемый слой должен быть в той же проекции, что и снимок.&lt;br /&gt;
&lt;br /&gt;
Отредактируем слой эталонов, оцифровывая полигоны в центре характерных выделов. При оцифровке следует придерживаться двух правил:&lt;br /&gt;
&lt;br /&gt;
'''Правило 1'''. Оцифровываемый полигон по возможности должен захватывать только пикселы относящиеся к одному классу. Если вы оцифровываете эталонный полигон для леса, то в него не должно входить посторонних пикселов, не относящихся к лесу.&lt;br /&gt;
&lt;br /&gt;
'''Правило 2'''. Задавайте полигоны как можно большей площади, чтобы охватить как можно больше вариаций в пределах одного класса, не забывая при этом про '''Правило 1'''.&lt;br /&gt;
&lt;br /&gt;
[[File:Пример оцифровки эталонов.PNG|700px|thumb|center|Рис. 2. Пример оцифровки эталонов с заполнением атрибутивной таблицы]]&lt;br /&gt;
&lt;br /&gt;
==Импорт данных в модуль GRASS==&lt;br /&gt;
Для импорта данных необходимо создать новый набор данных GRASS, сделаем это с помощью графического интерфейса модуля GRASS для QGIS:&amp;lt;br /&amp;gt;&lt;br /&gt;
#создадим новый набор GRASS с помощью кнопки [[File:Кнопка11.PNG|22px]] на панели инструментов модуля GRASS.&lt;br /&gt;
# создадим новый район.&lt;br /&gt;
# зададим району проекцию, соответствующую проекции снимка.&lt;br /&gt;
# создадим новый район.&lt;br /&gt;
&lt;br /&gt;
'''ВАЖНО:''' Особо следует отметить, что проекция создаваемого района должна соответствовать проекции снимка и, соответственно, слоя эталонов. Охват района можно отредактировать позже.&lt;br /&gt;
&lt;br /&gt;
После появления сообщения об успешном создании нового набора, запустим инструменты GRASS (кнопка [[File:Кнопка1.PNG|22px]]).&lt;br /&gt;
&lt;br /&gt;
===Импорт и настройка растра===&lt;br /&gt;
В появившемся окне выбираем вкладку «Список модулей» и находим модуль '''in.gdal.qgis''' который импортирует в GRASS загруженные в проект QGIS растровые слои. Облегчить поиск среди множества модулей поможет фильтр: введем r.in – отобразятся различные инструменты для импорта растровых данных в GRASS.&lt;br /&gt;
&lt;br /&gt;
С помощью инструмента '''r.in.gdal.qgis''' можно импортировать в GRASS растр, который предстоит классифицировать.&lt;br /&gt;
[[File:Dialogovoe okno.PNG|400px|thumb|center|Рис. 3. Диалоговое окно r.in.gdal.qgis]]&lt;br /&gt;
&lt;br /&gt;
После импорта растра в GRASS он представляет собой отдельные слои: raster.1, raster.2, raster.3, в этом можно убедиться, посмотрев на хранящиеся в наборе GRASS растры на вкладке «браузер» инструментов GRASS.&lt;br /&gt;
&lt;br /&gt;
Объединим эти слои в один многоканальный растр, для этого в окне инструментов GRASS выбрав вкладку «Дерево модулей» и запускаем командную строку GRASS «shell – Оболочка GRASS» и выполняем следующую команду:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:Silver&amp;quot;&amp;gt;i.group group=raster subgroup=raster input=raster.1,raster.2,raster.3, raster.4, raster.5, raster.6&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Данная команда группирует 6 каналов Landsat в группу и подгруппу под названием raster. (Подробнее в 6).&lt;br /&gt;
&lt;br /&gt;
Подгоняем регион GRASS к размерам одного из слоев импортированного растра и устанавливаем пространственное разрешение. Для этого выполним команду:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:Silver&amp;quot;&amp;gt;g.region rast=raster.1=ryb&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Данная операция необходима, чтобы выходной классифицированный растр имел тоже пространственное разрешение и тот же охват, что и исходный снимок. (Подробнее в 7). Посмотреть параметры региона (охват, проекцию, пространственное разрешение и т.д. можно с помощью команды:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:Silver&amp;quot;&amp;gt;g.region –p&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Флаг –p команды g.region выводит на экран параметры региона.&lt;br /&gt;
&lt;br /&gt;
===Импорт векторного слоя===&lt;br /&gt;
С помощью инструмента '''v.in.ogr.qgis''' из списка модулей инструментов GRASS импортируем слой эталонов с заданным именем, например sig.&lt;br /&gt;
&lt;br /&gt;
Для работы со слоем эталонов в GRASS его необходимо преобразовать в растровый вид, для этого в командной строке GRASS выполним:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:Silver&amp;quot;&amp;gt;v.to.rast in=sig out=sig use=attr col=type_num&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
расшифруем параметры команды v.to.rast:&lt;br /&gt;
* in = название исходного векторного слоя эталонов&lt;br /&gt;
* out = название растеризованного слоя эталонов&lt;br /&gt;
* use = attr чтение значений из атрибутивной колонки исходного векторного слоя&lt;br /&gt;
* col = название колонки куда мы вносили численный код класса (type_num)(Подробнее в 8).&lt;br /&gt;
&lt;br /&gt;
==Классификация космического снимка==&lt;br /&gt;
Классификация растров в GRASS состоит из 2-х этапов: расчета первичной статистики и собственно классификации.&lt;br /&gt;
&lt;br /&gt;
Для расчета первичной статистики выполним:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:Silver&amp;quot;&amp;gt;i.gensigset group=raster subgroup=raster sig=statistics training=sig&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Модуль &amp;lt;span style=&amp;quot;background-color:Silver&amp;quot;&amp;gt;i.gensigset&amp;lt;/span&amp;gt; (Подробнее в 9) производит расчет спектральной статистики по космическому снимку внутри эталонных полигонов, создавая так называемый файл сигнатур (положения классов в многомерном пространстве спектральных характеристик снимка) для классификации с использованием модуля &amp;lt;span style=&amp;quot;background-color:Silver&amp;quot;&amp;gt;i.smap&amp;lt;/span&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Теперь произведем собственно классификацию с обучением, результатом ее является растровый слой классификации «''classification''» (Подробнее в 10):&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:Silver&amp;quot;&amp;gt;i.smap group=raster subgroup=raster sig=statistics out=classification&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Можно окрасить выходной классифицированный растр, например в цветовом диапазоне red-yellow-blue (Подробнее&amp;lt;ref&amp;gt;заглавие=r.neighbors набор фильтров скользящего окна для Грасс|ссылка=http://grass.osgeo.org/grass64/manuals/r.neighbors.html &amp;lt;/ref&amp;gt;):&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:Silver&amp;quot;&amp;gt;r.colors class1 color=ryb&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Загрузить классифицированный растр в проект QGIS можно с помощью кнопки [[File:Кнопка2.PNG|22px]]. При сравнении полученной первичной классификации со снимком мы можем найти места несоответствия классов классификации и ландшафтов. Эту проблему можно решить, увеличив количество эталонов для «проблемных» классов, размещая их в местах отнесенных не к тому классу. Можно задавать сколь угодно много эталонов для каждого класса объектов, увеличивая точность классификации до тех пор, пока ее точность не станет нас удовлетворять. Оценке точности классификации посвящена отдельная статья [10].&lt;br /&gt;
&lt;br /&gt;
[[File:Rezultat classifikacyi.PNG|700px|thumb|center|Рис. 4. Результат классификации]]&lt;br /&gt;
&lt;br /&gt;
==Постобработка классифицированного снимка==&lt;br /&gt;
Постобработка является необязательным этапом классификации и может заключаться в фильтрации шумов или автоматической векторизации полученных результатов.&lt;br /&gt;
&lt;br /&gt;
Для фильтрации шумов выполним:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:Silver&amp;quot;&amp;gt;r.neighbors input=classification output=classification_mode7 method=mode size=7&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Это модальный фильтр (method=mode) из набора фильтров модуля &amp;lt;span style=&amp;quot;background-color:Silver&amp;quot;&amp;gt;r.neighbors&amp;lt;/span&amp;gt; с размером скользящего окна равным 7 пикселям (Подробнее в 11).&lt;br /&gt;
&lt;br /&gt;
[[File:Raschyot mody s oknom 1 piceley.PNG|700px|thumb|center|Рис.5. Результат расчета моды с окном в 7 пикселей]]&lt;br /&gt;
&lt;br /&gt;
В заключение можно векторизовать отфильтрованный результат:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:Silver&amp;quot;&amp;gt;r.to.vect -s input=classification_mode7 output= classification_mode7 feature=area&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
расшифруем параметры команды &amp;lt;span style=&amp;quot;background-color:Silver&amp;quot;&amp;gt;r.to.vect&amp;lt;/span&amp;gt;:&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:Silver&amp;quot;&amp;gt;-s –&amp;lt;/span&amp;gt; (smooth) флажок, сглаживающий ребра результирующих полигонов&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:Silver&amp;quot;&amp;gt;input&amp;lt;/span&amp;gt; - имя входного файла&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:Silver&amp;quot;&amp;gt;output&amp;lt;/span&amp;gt; - имя выходного файла&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:Silver&amp;quot;&amp;gt;feature=area&amp;lt;/span&amp;gt; – определение типа выходного векторного слоя -полигон.(Подробнее в 12).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Rezultat vectorizacyi.PNG|700px|thumb|center|Рис. 6. Результат векторизации классифицированного растра после применения модального фильтра]]&lt;br /&gt;
&lt;br /&gt;
==Экспорт результатов классификации из GRASS==&lt;br /&gt;
Загрузить полученный векторизованный слой классификации из GRASS в QGIS можно с помощью кнопки  [[File:Кнопка4.PNG|22px]]. Далее, чтобы экспортировать слой из базы данных GRASS как шейп, в менеджере слоев правым щелчком мыши по загруженному в QGIS слою и выбираем пункт сохранить как шейп-файл. В разрабатываемой версии QGIS 1.9.0 master аналогичным образом можно сохранять и растровые слои.&lt;br /&gt;
&lt;br /&gt;
Также для экспорта результатов можно воспользоваться стандартными модулями грасс: &amp;lt;span style=&amp;quot;background-color:Silver&amp;quot;&amp;gt;v.out.ogr&amp;lt;/span&amp;gt; (для векторных слоев) и &amp;lt;span style=&amp;quot;background-color:Silver&amp;quot;&amp;gt;r.out.gdal&amp;lt;/span&amp;gt; (для растров) которые можно использовать как из командной строки, так и через графический интерфейс модуля GRASS для QGIS.&lt;br /&gt;
&lt;br /&gt;
==Ссылки==&lt;br /&gt;
# Начало работы с GRASS для Windows используя командную строку [http://gis-lab.info/qa/grass-intro.html]&lt;br /&gt;
# Начало работы с GRASS через графический интерфейс wxPython [http://gis-lab.info/qa/grass-intro-gui.html]&lt;br /&gt;
# Как собрать и показать снимок Landsat из отдельных каналов в QGIS [http://gis-lab.info/qa/qgis-landsat-merge.html]&lt;br /&gt;
# Интерпретация комбинаций каналов данных Landsat TM / ETM+ [http://gis-lab.info/qa/landsat-bandcomb.html]&lt;br /&gt;
# Создание и редактирование векторных слоев средствами QGIS [http://gis-lab.info/qa/qgis-vector.html]&lt;br /&gt;
# i.group - модуль Грасс для создания и редактирования групп и подгрупп растровых слоев [http://grass.osgeo.org/grass64/manuals/i.group.html]&lt;br /&gt;
# g.region - модуль Грасс для управления параметрами региона (охват, пространственное разрешение и т.д.) [http://grass.osgeo.org/grass64/manuals/g.region.html]&lt;br /&gt;
# v.to.rast region - модуль Грасс для растеризации векторных слоев [http://grass.osgeo.org/grass64/manuals/v.to.rast.html]&lt;br /&gt;
# i.gensigset - модуль Грасс для расчета статистики по растру [http://grass.osgeo.org/grass64/manuals/i.gensigset.html]&lt;br /&gt;
# Матрица ошибок и расчет показателей точности тематических карт [http://gis-lab.info/qa/error-matrix.html]&lt;br /&gt;
# r.neighbors - набор фильтров скользящего окна для Грасс [http://grass.osgeo.org/grass64/manuals/r.neighbors.html]&lt;br /&gt;
# r.to.vect модуль Грасс для преобразования растровых данных в векторные [http://grass.osgeo.org/grass64/manuals/r.to.vect.html]&lt;/div&gt;</summary>
		<author><name>User2724</name></author>
	</entry>
	<entry>
		<id>https://wiki.gis-lab.info/index.php?title=%D0%9A%D0%BB%D0%B0%D1%81%D1%81%D0%B8%D1%84%D0%B8%D0%BA%D0%B0%D1%86%D0%B8%D1%8F_%D0%BA%D0%BE%D1%81%D0%BC%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%BE%D0%B3%D0%BE_%D1%81%D0%BD%D0%B8%D0%BC%D0%BA%D0%B0_%D1%81_%D0%BE%D0%B1%D1%83%D1%87%D0%B5%D0%BD%D0%B8%D0%B5%D0%BC_%D1%81_%D0%BF%D0%BE%D0%BC%D0%BE%D1%89%D1%8C%D1%8E_QGIS_%D0%B8_GRASS&amp;diff=8980</id>
		<title>Классификация космического снимка с обучением с помощью QGIS и GRASS</title>
		<link rel="alternate" type="text/html" href="https://wiki.gis-lab.info/index.php?title=%D0%9A%D0%BB%D0%B0%D1%81%D1%81%D0%B8%D1%84%D0%B8%D0%BA%D0%B0%D1%86%D0%B8%D1%8F_%D0%BA%D0%BE%D1%81%D0%BC%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%BE%D0%B3%D0%BE_%D1%81%D0%BD%D0%B8%D0%BC%D0%BA%D0%B0_%D1%81_%D0%BE%D0%B1%D1%83%D1%87%D0%B5%D0%BD%D0%B8%D0%B5%D0%BC_%D1%81_%D0%BF%D0%BE%D0%BC%D0%BE%D1%89%D1%8C%D1%8E_QGIS_%D0%B8_GRASS&amp;diff=8980"/>
		<updated>2012-12-16T15:09:38Z</updated>

		<summary type="html">&lt;p&gt;User2724: Новая страница: «==Классификация космического снимка в GRASS GIS с обучением== В статье рассматривается алгор…»&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Классификация космического снимка в GRASS GIS с обучением==&lt;br /&gt;
В статье рассматривается алгоритм классификации с обучением в ГИС GRASS с использованием графического интерфейса QGIS (модуль GRASS) и командной строки GRASS.&lt;br /&gt;
&lt;br /&gt;
Начало работы с GRASS ГИС через командную строку и через собственный графический интерфейс рассмотрено в соответствующих статьях [1,2].В данной статье будет использована связка GRASS и QGIS которые интегрированы посредством модуля GRASS для QGIS.&lt;br /&gt;
&lt;br /&gt;
Суть метода управляемой классификации (supervised classification) заключается в том, что пользователь сам определяет, какие пиксели с какими спектральными значениями попадут в тот или иной класс объектов. Это достигается путем создания набора эталонов – пространственных выделов (полигонов), для которых класс установлен на основе полевых исследований или по тематическим картам. При необходимости, пользователь может улучшить классификацию путем создания дополнительных эталонов.&lt;br /&gt;
&lt;br /&gt;
Рассмотрим алгоритм управляемой классификации на примере космического снимка Landsat-5 окрестностей города Ханты-Мансийска (рис. 1).&lt;br /&gt;
[[File:Окрестности г. Ханты-Мансийска.PNG|700px|thumb|center|Рис. 1. Окрестности г. Ханты-Мансийска. Съемка Landsat-5 за 23 июля 2007 года, комбинация каналов 4-5-3]]&lt;br /&gt;
&lt;br /&gt;
==Визуализация космического снимка==&lt;br /&gt;
На первом шаге необходимо визуализировать космический снимок таким образом, чтобы хорошо различались объекты, которые мы хотим классифицировать. Для сборки и визуализации космического снимка можно использовать инструментарий QGIS [3]. В случае классификации растительного покрова, лучше использовать инфракрасный диапазон, например, для Landsat часто используют сочетание 4, 5 и 3- го каналов [4]. Для классификации мы будем использовать все слои Landsat, кроме термального (т.е. 1, 2, 3, 4, 5 и 7).&lt;br /&gt;
&lt;br /&gt;
==Создание слоя эталонов==&lt;br /&gt;
В QGIS создадим новый полигональный слой с именем signature. В данном слое необходимо создать целочисленную атрибутивную колонку, в нашем случае, это будет колонка type_num, в которую мы будем записывать численный код класса объектов. (Подробнее о создании и редактировании векторных слоев в QGIS см. [5]).&lt;br /&gt;
&lt;br /&gt;
ВАЖНО: создаваемый слой должен быть в той же проекции, что и снимок.&lt;br /&gt;
&lt;br /&gt;
Отредактируем слой эталонов, оцифровывая полигоны в центре характерных выделов. При оцифровке следует придерживаться двух правил:&lt;br /&gt;
&lt;br /&gt;
'''Правило 1'''. Оцифровываемый полигон по возможности должен захватывать только пикселы относящиеся к одному классу. Если вы оцифровываете эталонный полигон для леса, то в него не должно входить посторонних пикселов, не относящихся к лесу.&lt;br /&gt;
&lt;br /&gt;
'''Правило 2'''. Задавайте полигоны как можно большей площади, чтобы охватить как можно больше вариаций в пределах одного класса, не забывая при этом про '''Правило 1'''.&lt;br /&gt;
&lt;br /&gt;
[[File:Пример оцифровки эталонов.PNG|700px|thumb|center|Рис. 2. Пример оцифровки эталонов с заполнением атрибутивной таблицы]]&lt;br /&gt;
&lt;br /&gt;
==Импорт данных в модуль GRASS==&lt;br /&gt;
Для импорта данных необходимо создать новый набор данных GRASS, сделаем это с помощью графического интерфейса модуля GRASS для QGIS:&amp;lt;br /&amp;gt;&lt;br /&gt;
#создадим новый набор GRASS с помощью кнопки [[File:Кнопка11.PNG|22px]] на панели инструментов модуля GRASS.&lt;br /&gt;
# создадим новый район.&lt;br /&gt;
# зададим району проекцию, соответствующую проекции снимка.&lt;br /&gt;
# создадим новый район.&lt;br /&gt;
&lt;br /&gt;
'''ВАЖНО:''' Особо следует отметить, что проекция создаваемого района должна соответствовать проекции снимка и, соответственно, слоя эталонов. Охват района можно отредактировать позже.&lt;br /&gt;
&lt;br /&gt;
После появления сообщения об успешном создании нового набора, запустим инструменты GRASS (кнопка [[File:Кнопка1.PNG|22px]]).&lt;br /&gt;
&lt;br /&gt;
===Импорт и настройка растра===&lt;br /&gt;
В появившемся окне выбираем вкладку «Список модулей» и находим модуль '''in.gdal.qgis''' который импортирует в GRASS загруженные в проект QGIS растровые слои. Облегчить поиск среди множества модулей поможет фильтр: введем r.in – отобразятся различные инструменты для импорта растровых данных в GRASS.&lt;br /&gt;
&lt;br /&gt;
С помощью инструмента '''r.in.gdal.qgis''' можно импортировать в GRASS растр, который предстоит классифицировать.&lt;br /&gt;
[[File:Dialogovoe okno.PNG|400px|thumb|center|Рис. 3. Диалоговое окно r.in.gdal.qgis]]&lt;br /&gt;
&lt;br /&gt;
После импорта растра в GRASS он представляет собой отдельные слои: raster.1, raster.2, raster.3, в этом можно убедиться, посмотрев на хранящиеся в наборе GRASS растры на вкладке «браузер» инструментов GRASS.&lt;br /&gt;
&lt;br /&gt;
Объединим эти слои в один многоканальный растр, для этого в окне инструментов GRASS выбрав вкладку «Дерево модулей» и запускаем командную строку GRASS «shell – Оболочка GRASS» и выполняем следующую команду:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:Silver&amp;quot;&amp;gt;i.group group=raster subgroup=raster input=raster.1,raster.2,raster.3, raster.4, raster.5, raster.6&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Данная команда группирует 6 каналов Landsat в группу и подгруппу под названием raster. (Подробнее в 6).&lt;br /&gt;
&lt;br /&gt;
Подгоняем регион GRASS к размерам одного из слоев импортированного растра и устанавливаем пространственное разрешение. Для этого выполним команду:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:Silver&amp;quot;&amp;gt;g.region rast=raster.1=ryb&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Данная операция необходима, чтобы выходной классифицированный растр имел тоже пространственное разрешение и тот же охват, что и исходный снимок. (Подробнее в 7). Посмотреть параметры региона (охват, проекцию, пространственное разрешение и т.д. можно с помощью команды:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:Silver&amp;quot;&amp;gt;g.region –p&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Флаг –p команды g.region выводит на экран параметры региона.&lt;br /&gt;
&lt;br /&gt;
===Импорт векторного слоя===&lt;br /&gt;
С помощью инструмента '''v.in.ogr.qgis''' из списка модулей инструментов GRASS импортируем слой эталонов с заданным именем, например sig.&lt;br /&gt;
&lt;br /&gt;
Для работы со слоем эталонов в GRASS его необходимо преобразовать в растровый вид, для этого в командной строке GRASS выполним:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:Silver&amp;quot;&amp;gt;v.to.rast in=sig out=sig use=attr col=type_num&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
расшифруем параметры команды v.to.rast:&lt;br /&gt;
* in = название исходного векторного слоя эталонов&lt;br /&gt;
* out = название растеризованного слоя эталонов&lt;br /&gt;
* use = attr чтение значений из атрибутивной колонки исходного векторного слоя&lt;br /&gt;
* col = название колонки куда мы вносили численный код класса (type_num)(Подробнее в 8).&lt;br /&gt;
&lt;br /&gt;
==Классификация космического снимка==&lt;br /&gt;
Классификация растров в GRASS состоит из 2-х этапов: расчета первичной статистики и собственно классификации.&lt;br /&gt;
&lt;br /&gt;
Для расчета первичной статистики выполним:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:Silver&amp;quot;&amp;gt;i.gensigset group=raster subgroup=raster sig=statistics training=sig&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Модуль &amp;lt;span style=&amp;quot;background-color:Silver&amp;quot;&amp;gt;i.gensigset&amp;lt;/span&amp;gt; (Подробнее в 9) производит расчет спектральной статистики по космическому снимку внутри эталонных полигонов, создавая так называемый файл сигнатур (положения классов в многомерном пространстве спектральных характеристик снимка) для классификации с использованием модуля &amp;lt;span style=&amp;quot;background-color:Silver&amp;quot;&amp;gt;i.smap&amp;lt;/span&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Теперь произведем собственно классификацию с обучением, результатом ее является растровый слой классификации «''classification''» (Подробнее в 10):&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:Silver&amp;quot;&amp;gt;i.smap group=raster subgroup=raster sig=statistics out=classification&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Можно окрасить выходной классифицированный растр, например в цветовом диапазоне red-yellow-blue (Подробнее&amp;lt;ref&amp;gt;заглавие=r.neighbors набор фильтров скользящего окна для Грасс|ссылка=http://grass.osgeo.org/grass64/manuals/r.neighbors.html &amp;lt;/ref&amp;gt;):&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:Silver&amp;quot;&amp;gt;r.colors class1 color=ryb&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Загрузить классифицированный растр в проект QGIS можно с помощью кнопки [[File:Кнопка2.PNG|22px]]. При сравнении полученной первичной классификации со снимком мы можем найти места несоответствия классов классификации и ландшафтов. Эту проблему можно решить, увеличив количество эталонов для «проблемных» классов, размещая их в местах отнесенных не к тому классу. Можно задавать сколь угодно много эталонов для каждого класса объектов, увеличивая точность классификации до тех пор, пока ее точность не станет нас удовлетворять. Оценке точности классификации посвящена отдельная статья [10].&lt;br /&gt;
&lt;br /&gt;
[[File:Rezultat classifikacyi.PNG|700px|thumb|center|Рис. 4. Результат классификации]]&lt;br /&gt;
&lt;br /&gt;
==Постобработка классифицированного снимка==&lt;br /&gt;
Постобработка является необязательным этапом классификации и может заключаться в фильтрации шумов или автоматической векторизации полученных результатов.&lt;br /&gt;
&lt;br /&gt;
Для фильтрации шумов выполним:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:Silver&amp;quot;&amp;gt;r.neighbors input=classification output=classification_mode7 method=mode size=7&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Это модальный фильтр (method=mode) из набора фильтров модуля &amp;lt;span style=&amp;quot;background-color:Silver&amp;quot;&amp;gt;r.neighbors&amp;lt;/span&amp;gt; с размером скользящего окна равным 7 пикселям (Подробнее в 11).&lt;br /&gt;
&lt;br /&gt;
[[File:Raschyot mody s oknom 1 piceley.PNG|700px|thumb|center|Рис.5. Результат расчета моды с окном в 7 пикселей]]&lt;br /&gt;
&lt;br /&gt;
В заключение можно векторизовать отфильтрованный результат:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:Silver&amp;quot;&amp;gt;r.to.vect -s input=classification_mode7 output= classification_mode7 feature=area&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
расшифруем параметры команды &amp;lt;span style=&amp;quot;background-color:Silver&amp;quot;&amp;gt;r.to.vect&amp;lt;/span&amp;gt;:&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:Silver&amp;quot;&amp;gt;-s –&amp;lt;/span&amp;gt; (smooth) флажок, сглаживающий ребра результирующих полигонов&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:Silver&amp;quot;&amp;gt;input&amp;lt;/span&amp;gt; - имя входного файла&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:Silver&amp;quot;&amp;gt;output&amp;lt;/span&amp;gt; - имя выходного файла&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:Silver&amp;quot;&amp;gt;feature=area&amp;lt;/span&amp;gt; – определение типа выходного векторного слоя -полигон.(Подробнее в 12).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Rezultat vectorizacyi.PNG|700px|thumb|center|Рис. 6. Результат векторизации классифицированного растра после применения модального фильтра]]&lt;br /&gt;
&lt;br /&gt;
==Экспорт результатов классификации из GRASS==&lt;br /&gt;
Загрузить полученный векторизованный слой классификации из GRASS в QGIS можно с помощью кнопки  [[File:Кнопка4.PNG|22px]]. Далее, чтобы экспортировать слой из базы данных GRASS как шейп, в менеджере слоев правым щелчком мыши по загруженному в QGIS слою и выбираем пункт сохранить как шейп-файл. В разрабатываемой версии QGIS 1.9.0 master аналогичным образом можно сохранять и растровые слои.&lt;br /&gt;
&lt;br /&gt;
Также для экспорта результатов можно воспользоваться стандартными модулями грасс: &amp;lt;span style=&amp;quot;background-color:Silver&amp;quot;&amp;gt;v.out.ogr&amp;lt;/span&amp;gt; (для векторных слоев) и &amp;lt;span style=&amp;quot;background-color:Silver&amp;quot;&amp;gt;r.out.gdal&amp;lt;/span&amp;gt; (для растров) которые можно использовать как из командной строки, так и через графический интерфейс модуля GRASS для QGIS.&lt;br /&gt;
&lt;br /&gt;
==Ссылки==&lt;br /&gt;
# Начало работы с GRASS для Windows используя командную строку [http://gis-lab.info/qa/grass-intro.html]&lt;br /&gt;
# Начало работы с GRASS через графический интерфейс wxPython [http://gis-lab.info/qa/grass-intro-gui.html]&lt;br /&gt;
# Как собрать и показать снимок Landsat из отдельных каналов в QGIS [http://gis-lab.info/qa/qgis-landsat-merge.html]&lt;br /&gt;
# Интерпретация комбинаций каналов данных Landsat TM / ETM+ [http://gis-lab.info/qa/landsat-bandcomb.html]&lt;br /&gt;
# Создание и редактирование векторных слоев средствами QGIS [http://gis-lab.info/qa/qgis-vector.html]&lt;br /&gt;
# i.group - модуль Грасс для создания и редактирования групп и подгрупп растровых слоев [http://grass.osgeo.org/grass64/manuals/i.group.html]&lt;br /&gt;
# g.region - модуль Грасс для управления параметрами региона (охват, пространственное разрешение и т.д.) [http://grass.osgeo.org/grass64/manuals/g.region.html]&lt;br /&gt;
# v.to.rast region - модуль Грасс для растеризации векторных слоев [http://grass.osgeo.org/grass64/manuals/v.to.rast.html]&lt;br /&gt;
# i.gensigset - модуль Грасс для расчета статистики по растру [http://grass.osgeo.org/grass64/manuals/i.gensigset.html]&lt;br /&gt;
# Матрица ошибок и расчет показателей точности тематических карт [http://gis-lab.info/qa/error-matrix.html]&lt;br /&gt;
# r.neighbors - набор фильтров скользящего окна для Грасс [http://grass.osgeo.org/grass64/manuals/r.neighbors.html]&lt;br /&gt;
# r.to.vect модуль Грасс для преобразования растровых данных в векторные [http://grass.osgeo.org/grass64/manuals/r.to.vect.html]&lt;/div&gt;</summary>
		<author><name>User2724</name></author>
	</entry>
	<entry>
		<id>https://wiki.gis-lab.info/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:%D0%9A%D0%BD%D0%BE%D0%BF%D0%BA%D0%B04.PNG&amp;diff=8979</id>
		<title>Файл:Кнопка4.PNG</title>
		<link rel="alternate" type="text/html" href="https://wiki.gis-lab.info/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:%D0%9A%D0%BD%D0%BE%D0%BF%D0%BA%D0%B04.PNG&amp;diff=8979"/>
		<updated>2012-12-16T14:48:40Z</updated>

		<summary type="html">&lt;p&gt;User2724: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>User2724</name></author>
	</entry>
	<entry>
		<id>https://wiki.gis-lab.info/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:Rezultat_vectorizacyi.PNG&amp;diff=8978</id>
		<title>Файл:Rezultat vectorizacyi.PNG</title>
		<link rel="alternate" type="text/html" href="https://wiki.gis-lab.info/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:Rezultat_vectorizacyi.PNG&amp;diff=8978"/>
		<updated>2012-12-16T14:42:10Z</updated>

		<summary type="html">&lt;p&gt;User2724: загружена новая версия «Файл:Rezultat vectorizacyi.PNG»&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>User2724</name></author>
	</entry>
	<entry>
		<id>https://wiki.gis-lab.info/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:Raschyot_mody_s_oknom_1_piceley.PNG&amp;diff=8977</id>
		<title>Файл:Raschyot mody s oknom 1 piceley.PNG</title>
		<link rel="alternate" type="text/html" href="https://wiki.gis-lab.info/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:Raschyot_mody_s_oknom_1_piceley.PNG&amp;diff=8977"/>
		<updated>2012-12-16T14:36:47Z</updated>

		<summary type="html">&lt;p&gt;User2724: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>User2724</name></author>
	</entry>
	<entry>
		<id>https://wiki.gis-lab.info/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:Rezultat_classifikacyi.PNG&amp;diff=8976</id>
		<title>Файл:Rezultat classifikacyi.PNG</title>
		<link rel="alternate" type="text/html" href="https://wiki.gis-lab.info/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:Rezultat_classifikacyi.PNG&amp;diff=8976"/>
		<updated>2012-12-16T14:32:03Z</updated>

		<summary type="html">&lt;p&gt;User2724: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>User2724</name></author>
	</entry>
	<entry>
		<id>https://wiki.gis-lab.info/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:%D0%9A%D0%BD%D0%BE%D0%BF%D0%BA%D0%B02.PNG&amp;diff=8975</id>
		<title>Файл:Кнопка2.PNG</title>
		<link rel="alternate" type="text/html" href="https://wiki.gis-lab.info/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:%D0%9A%D0%BD%D0%BE%D0%BF%D0%BA%D0%B02.PNG&amp;diff=8975"/>
		<updated>2012-12-16T14:30:17Z</updated>

		<summary type="html">&lt;p&gt;User2724: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>User2724</name></author>
	</entry>
	<entry>
		<id>https://wiki.gis-lab.info/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:Dialogovoe_okno.PNG&amp;diff=8974</id>
		<title>Файл:Dialogovoe okno.PNG</title>
		<link rel="alternate" type="text/html" href="https://wiki.gis-lab.info/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:Dialogovoe_okno.PNG&amp;diff=8974"/>
		<updated>2012-12-16T13:53:59Z</updated>

		<summary type="html">&lt;p&gt;User2724: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>User2724</name></author>
	</entry>
	<entry>
		<id>https://wiki.gis-lab.info/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:%D0%9A%D0%BD%D0%BE%D0%BF%D0%BA%D0%B01.PNG&amp;diff=8973</id>
		<title>Файл:Кнопка1.PNG</title>
		<link rel="alternate" type="text/html" href="https://wiki.gis-lab.info/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:%D0%9A%D0%BD%D0%BE%D0%BF%D0%BA%D0%B01.PNG&amp;diff=8973"/>
		<updated>2012-12-16T13:43:49Z</updated>

		<summary type="html">&lt;p&gt;User2724: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>User2724</name></author>
	</entry>
	<entry>
		<id>https://wiki.gis-lab.info/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:%D0%9A%D0%BD%D0%BE%D0%BF%D0%BA%D0%B011.PNG&amp;diff=8972</id>
		<title>Файл:Кнопка11.PNG</title>
		<link rel="alternate" type="text/html" href="https://wiki.gis-lab.info/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:%D0%9A%D0%BD%D0%BE%D0%BF%D0%BA%D0%B011.PNG&amp;diff=8972"/>
		<updated>2012-12-16T13:33:06Z</updated>

		<summary type="html">&lt;p&gt;User2724: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>User2724</name></author>
	</entry>
	<entry>
		<id>https://wiki.gis-lab.info/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:%D0%9A%D0%BD%D0%BE%D0%BF%D0%BA%D0%B0.PNG&amp;diff=8971</id>
		<title>Файл:Кнопка.PNG</title>
		<link rel="alternate" type="text/html" href="https://wiki.gis-lab.info/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:%D0%9A%D0%BD%D0%BE%D0%BF%D0%BA%D0%B0.PNG&amp;diff=8971"/>
		<updated>2012-12-16T13:16:21Z</updated>

		<summary type="html">&lt;p&gt;User2724: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>User2724</name></author>
	</entry>
	<entry>
		<id>https://wiki.gis-lab.info/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:Rezultat_vectorizacyi.PNG&amp;diff=8970</id>
		<title>Файл:Rezultat vectorizacyi.PNG</title>
		<link rel="alternate" type="text/html" href="https://wiki.gis-lab.info/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:Rezultat_vectorizacyi.PNG&amp;diff=8970"/>
		<updated>2012-12-16T13:00:04Z</updated>

		<summary type="html">&lt;p&gt;User2724: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>User2724</name></author>
	</entry>
	<entry>
		<id>https://wiki.gis-lab.info/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:Primer_ocifrovki_poligonov.PNG&amp;diff=8969</id>
		<title>Файл:Primer ocifrovki poligonov.PNG</title>
		<link rel="alternate" type="text/html" href="https://wiki.gis-lab.info/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:Primer_ocifrovki_poligonov.PNG&amp;diff=8969"/>
		<updated>2012-12-16T12:58:50Z</updated>

		<summary type="html">&lt;p&gt;User2724: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>User2724</name></author>
	</entry>
	<entry>
		<id>https://wiki.gis-lab.info/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:%D0%94%D0%B8%D0%B0%D0%BB%D0%BE%D0%B3%D0%BE%D0%B2%D0%BE%D0%B5_%D0%BE%D0%BA%D0%BD%D0%BE_r.in.gdal.qgis.PNG&amp;diff=8968</id>
		<title>Файл:Диалоговое окно r.in.gdal.qgis.PNG</title>
		<link rel="alternate" type="text/html" href="https://wiki.gis-lab.info/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:%D0%94%D0%B8%D0%B0%D0%BB%D0%BE%D0%B3%D0%BE%D0%B2%D0%BE%D0%B5_%D0%BE%D0%BA%D0%BD%D0%BE_r.in.gdal.qgis.PNG&amp;diff=8968"/>
		<updated>2012-12-16T12:44:32Z</updated>

		<summary type="html">&lt;p&gt;User2724: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>User2724</name></author>
	</entry>
	<entry>
		<id>https://wiki.gis-lab.info/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:%D0%9F%D1%80%D0%B8%D0%BC%D0%B5%D1%80_%D0%BE%D1%86%D0%B8%D1%84%D1%80%D0%BE%D0%B2%D0%BA%D0%B8_%D1%8D%D1%82%D0%B0%D0%BB%D0%BE%D0%BD%D0%BE%D0%B2.JPG&amp;diff=8967</id>
		<title>Файл:Пример оцифровки эталонов.JPG</title>
		<link rel="alternate" type="text/html" href="https://wiki.gis-lab.info/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:%D0%9F%D1%80%D0%B8%D0%BC%D0%B5%D1%80_%D0%BE%D1%86%D0%B8%D1%84%D1%80%D0%BE%D0%B2%D0%BA%D0%B8_%D1%8D%D1%82%D0%B0%D0%BB%D0%BE%D0%BD%D0%BE%D0%B2.JPG&amp;diff=8967"/>
		<updated>2012-12-16T12:39:05Z</updated>

		<summary type="html">&lt;p&gt;User2724: Пример оцифровки эталонов с заполнением атрибутивной таблицы&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Пример оцифровки эталонов с заполнением атрибутивной таблицы&lt;/div&gt;</summary>
		<author><name>User2724</name></author>
	</entry>
	<entry>
		<id>https://wiki.gis-lab.info/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:%D0%9F%D1%80%D0%B8%D0%BC%D0%B5%D1%80_%D0%BE%D1%86%D0%B8%D1%84%D1%80%D0%BE%D0%B2%D0%BA%D0%B8_%D1%8D%D1%82%D0%B0%D0%BB%D0%BE%D0%BD%D0%BE%D0%B2_2.PNG&amp;diff=8966</id>
		<title>Файл:Пример оцифровки эталонов 2.PNG</title>
		<link rel="alternate" type="text/html" href="https://wiki.gis-lab.info/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:%D0%9F%D1%80%D0%B8%D0%BC%D0%B5%D1%80_%D0%BE%D1%86%D0%B8%D1%84%D1%80%D0%BE%D0%B2%D0%BA%D0%B8_%D1%8D%D1%82%D0%B0%D0%BB%D0%BE%D0%BD%D0%BE%D0%B2_2.PNG&amp;diff=8966"/>
		<updated>2012-12-16T12:36:19Z</updated>

		<summary type="html">&lt;p&gt;User2724: оцифровки эталонов с заполнением атрибутивной таблицы&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;оцифровки эталонов с заполнением атрибутивной таблицы&lt;/div&gt;</summary>
		<author><name>User2724</name></author>
	</entry>
	<entry>
		<id>https://wiki.gis-lab.info/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:%D0%9F%D1%80%D0%B8%D0%BC%D0%B5%D1%80_%D0%BE%D1%86%D0%B8%D1%84%D1%80%D0%BE%D0%B2%D0%BA%D0%B8_%D1%8D%D1%82%D0%B0%D0%BB%D0%BE%D0%BD%D0%BE%D0%B2.PNG&amp;diff=8965</id>
		<title>Файл:Пример оцифровки эталонов.PNG</title>
		<link rel="alternate" type="text/html" href="https://wiki.gis-lab.info/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:%D0%9F%D1%80%D0%B8%D0%BC%D0%B5%D1%80_%D0%BE%D1%86%D0%B8%D1%84%D1%80%D0%BE%D0%B2%D0%BA%D0%B8_%D1%8D%D1%82%D0%B0%D0%BB%D0%BE%D0%BD%D0%BE%D0%B2.PNG&amp;diff=8965"/>
		<updated>2012-12-16T12:33:40Z</updated>

		<summary type="html">&lt;p&gt;User2724: загружена новая версия «Файл:Пример оцифровки эталонов.PNG»: пример_оцифровки_эталонов&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Пример оцифровки эталонов с заполнением атрибутивной таблицы&lt;/div&gt;</summary>
		<author><name>User2724</name></author>
	</entry>
	<entry>
		<id>https://wiki.gis-lab.info/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:%D0%9F%D1%80%D0%B8%D0%BC%D0%B5%D1%80_%D0%BE%D1%86%D0%B8%D1%84%D1%80%D0%BE%D0%B2%D0%BA%D0%B8_%D1%8D%D1%82%D0%B0%D0%BB%D0%BE%D0%BD%D0%BE%D0%B2.PNG&amp;diff=8964</id>
		<title>Файл:Пример оцифровки эталонов.PNG</title>
		<link rel="alternate" type="text/html" href="https://wiki.gis-lab.info/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:%D0%9F%D1%80%D0%B8%D0%BC%D0%B5%D1%80_%D0%BE%D1%86%D0%B8%D1%84%D1%80%D0%BE%D0%B2%D0%BA%D0%B8_%D1%8D%D1%82%D0%B0%D0%BB%D0%BE%D0%BD%D0%BE%D0%B2.PNG&amp;diff=8964"/>
		<updated>2012-12-16T12:32:42Z</updated>

		<summary type="html">&lt;p&gt;User2724: загружена новая версия «Файл:Пример оцифровки эталонов.PNG»&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Пример оцифровки эталонов с заполнением атрибутивной таблицы&lt;/div&gt;</summary>
		<author><name>User2724</name></author>
	</entry>
	<entry>
		<id>https://wiki.gis-lab.info/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:%D0%9F%D1%80%D0%B8%D0%BC%D0%B5%D1%80_%D0%BE%D1%86%D0%B8%D1%84%D1%80%D0%BE%D0%B2%D0%BA%D0%B8_%D1%8D%D1%82%D0%B0%D0%BB%D0%BE%D0%BD%D0%BE%D0%B2.PNG&amp;diff=8963</id>
		<title>Файл:Пример оцифровки эталонов.PNG</title>
		<link rel="alternate" type="text/html" href="https://wiki.gis-lab.info/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:%D0%9F%D1%80%D0%B8%D0%BC%D0%B5%D1%80_%D0%BE%D1%86%D0%B8%D1%84%D1%80%D0%BE%D0%B2%D0%BA%D0%B8_%D1%8D%D1%82%D0%B0%D0%BB%D0%BE%D0%BD%D0%BE%D0%B2.PNG&amp;diff=8963"/>
		<updated>2012-12-16T12:16:33Z</updated>

		<summary type="html">&lt;p&gt;User2724: загружена новая версия «Файл:Пример оцифровки эталонов.PNG»&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Пример оцифровки эталонов с заполнением атрибутивной таблицы&lt;/div&gt;</summary>
		<author><name>User2724</name></author>
	</entry>
	<entry>
		<id>https://wiki.gis-lab.info/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:%D0%9F%D1%80%D0%B8%D0%BC%D0%B5%D1%80_%D0%BE%D1%86%D0%B8%D1%84%D1%80%D0%BE%D0%B2%D0%BA%D0%B8_%D1%8D%D1%82%D0%B0%D0%BB%D0%BE%D0%BD%D0%BE%D0%B2.PNG&amp;diff=8962</id>
		<title>Файл:Пример оцифровки эталонов.PNG</title>
		<link rel="alternate" type="text/html" href="https://wiki.gis-lab.info/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:%D0%9F%D1%80%D0%B8%D0%BC%D0%B5%D1%80_%D0%BE%D1%86%D0%B8%D1%84%D1%80%D0%BE%D0%B2%D0%BA%D0%B8_%D1%8D%D1%82%D0%B0%D0%BB%D0%BE%D0%BD%D0%BE%D0%B2.PNG&amp;diff=8962"/>
		<updated>2012-12-16T12:13:25Z</updated>

		<summary type="html">&lt;p&gt;User2724: Пример оцифровки эталонов с заполнением атрибутивной таблицы&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Пример оцифровки эталонов с заполнением атрибутивной таблицы&lt;/div&gt;</summary>
		<author><name>User2724</name></author>
	</entry>
	<entry>
		<id>https://wiki.gis-lab.info/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:%D0%9E%D0%BA%D1%80%D0%B5%D1%81%D1%82%D0%BD%D0%BE%D1%81%D1%82%D0%B8_%D0%B3._%D0%A5%D0%B0%D0%BD%D1%82%D1%8B-%D0%9C%D0%B0%D0%BD%D1%81%D0%B8%D0%B9%D1%81%D0%BA%D0%B0.PNG&amp;diff=8961</id>
		<title>Файл:Окрестности г. Ханты-Мансийска.PNG</title>
		<link rel="alternate" type="text/html" href="https://wiki.gis-lab.info/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:%D0%9E%D0%BA%D1%80%D0%B5%D1%81%D1%82%D0%BD%D0%BE%D1%81%D1%82%D0%B8_%D0%B3._%D0%A5%D0%B0%D0%BD%D1%82%D1%8B-%D0%9C%D0%B0%D0%BD%D1%81%D0%B8%D0%B9%D1%81%D0%BA%D0%B0.PNG&amp;diff=8961"/>
		<updated>2012-12-16T11:54:43Z</updated>

		<summary type="html">&lt;p&gt;User2724: Окрестности г. Ханты-Мансийска. Съемка Landsat-5 за 23 июля 2007 года, комбинация каналов 4-5-3&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Окрестности г. Ханты-Мансийска. Съемка Landsat-5 за 23 июля 2007 года, комбинация каналов 4-5-3&lt;/div&gt;</summary>
		<author><name>User2724</name></author>
	</entry>
</feed>