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

Атмосф. коррекция Landsat8_в GRASS (i.landsat.tour)

Добавлено: 02 ноя 2014, 05:29
Natalia Novoselova
Для меня это первый опыт работы с GRASS GIS, потому, логика еще не понятна.

В соседней теме нашла примерный алгоритм действий
viewtopic.php?f=29&t=16514#p114028

Для начала:
1.с помощью r.in.gdal импортирую файлы с каналами 1-11
в модуле i.landsat.tour вбиваю имя входного и выходного растра
1) Файлы импортируются через Файл - Импортироть растровые данные - Обычные форматы растра (r.in.gdal )
Оттуда сделала галочку на "Directory" - нашла в каталоге папку с Landsat8 (мне нужно только 2 канала - band4, band5, я записала их отдельно), при выборе данной папки - в окне появились оба канала.
Поставила две галочки на "Layer id" напротив каждого канала, нажала "Импортировать". Не знаю, правильно ли прошел процесс..

2)Но на втором шаге - вопрос. Как найти возможность сделать действия в модуле i.landsat.tour ? Как на него выйти?

Прошу прощения за простые, наверное, вопросы. Но у меня сразу конкретное задание, которое пытаюсь здесь сделать. И не знаю, как иначе начать работать (то есть где или через что узнать самые простые основы работы).
Также перевод команд (в моем изложении) может быть не совсем точным. Видимо, установка идет с зеркала и у меня установилось автоматом на порутугальском. Как поменять язык на английский пока не нашла

Re: Атмосф. коррекция Landsat8_в GRASS (i.landsat.tour)

Добавлено: 02 ноя 2014, 23:50
Natalia Novoselova
Мне кажется, что методом "научного тыка" эту задачу не решить.
Но читая мануал по модулю - тоже не понятно, как это делать.
http://grass.osgeo.org/grass64/manuals/ ... .toar.html


Нуждаюсь в совете - что читать, чтобы понять, как использовать модуль i.landsat.tour. Для меня это и первая задача в GRASS вообще (в общем, это нормально, думаю, сразу изучать с какой-то конкр задачи)


1. Я создала рабочую область через Location Wizard в котором выбрала "Read projection and datum terms from georeferenced data file". Чрез этот пункт я выбрала файл одного из каналов Ландсата (поскольку он ведь привязан). И всё, вроде бы, создалось успешно. В конце мне предложили создать новую mapaset и я ее (не зная зачем) создала.
2. Через
File - Import raster data - Common format input (r.in.gdal) выбрала директорий с двумя нужными для коррекции каналами, выбрала при этом
"Сохранять номера каналов вместо использования имен цветов каналов"
и
"Добавить импортированные слои в содержание"

(потому что так было в одой статье, не уверена, что мне это нужно)


И процесс импорта прошел успешно. Мне выдали запись:
(Sun Nov 02 18:25:13 2014)
r.in.gdal input=C:\GIS_RS_dados\CursoCampo2014_LANDSAT\Land8Picinguaba_b5_b4\LC82180762014032LGN00_B4.TIF output=LC82180762014032LGN00_B4 -k
Projection of input dataset and current location appear to match
r.in.gdal complete. Raster map <LC82180762014032LGN00_B4> created.
(Sun Nov 02 18:25:25 2014) Command finished (12 sec)
(Sun Nov 02 18:25:26 2014)
r.in.gdal input=C:\GIS_RS_dados\CursoCampo2014_LANDSAT\Land8Picinguaba_b5_b4\LC82180762014032LGN00_B5.TIF output=LC82180762014032LGN00_B5 -k
Projection of input dataset and current location appear to match
r.in.gdal complete. Raster map <LC82180762014032LGN00_B5> created.
(Sun Nov 02 18:25:54 2014) Command finished (28 sec)



Дальше что делать - не знаю совершенно. Подскажите, пож-та, следующие шаги. Или где и как можно их понять (что читать, чтобы разобраться)??
Опять таки, мануалы - заводят в конкретику, но не в ту, что помогает понять точно эти первые шаги. Опять это будет "научный тык". Но не вижу в нем реальной перспективы.
http://gis-lab.info/docs/grass/tutorial60/

Re: Атмосф. коррекция Landsat8_в GRASS (i.landsat.tour)

Добавлено: 03 ноя 2014, 00:24
Ariki
У нас в России сейчас праздники, вряд ли много народа сидит на гис-лабе.
Перед праздниками решал ту же задачу. Для меня это тоже первый опыт с GRASS, и я скажу вам, что метод тыка здесь не очень подходит, прежде чем что-то сделать, нужно читать хотя бы вики по конкретному инструменту. Но у меня получилось.
В общем, принцип следующий. В GRASS всё обычно делается через консоль, но есть возможность использовать GUI. Запускаете GRASS (в моём случае командой grass64 -text), программа у вас спросит имена созданных вами location и mapset. После этого вы можете запускать команды из командной строки. Если наберёте, например, i.landsat.toar --help , то получите подсказку по параметрам этого инструмента. Если наберёте i.landsat.toar без параметров, то откроется диалоговое окно. Дальше уже можно разобраться самостоятельно. Но сначала всё-таки почитайте учебник. Иначе вы так и не будете понимать, что делаете.

Re: Атмосф. коррекция Landsat8_в GRASS (i.landsat.tour)

Добавлено: 03 ноя 2014, 02:52
Natalia Novoselova
Ariki писал(а): Если наберёте, например, i.landsat.toar --help , то получите подсказку по параметрам этого инструмента. Если наберёте i.landsat.toar без параметров, то откроется диалоговое окно. Дальше уже можно разобраться самостоятельно.
Спасибо! Благодаря этой информации - я продвинулась дальше. И повторила и поняла действия темы, на которую ссылаюсь в начале этой темы.
Однако, как и Юля там, зашла в тот же.. тупик?.. Получила 10 (из 11) вроде бы откорректированных файлов (по крайней мере он долго считал). Но выходные растры имеют 0 байт объема. И не открываются в ENVI (если пробовать их открывать прямо из папки ...grassdata\Myproject\Mymapaset\cell

Вот принтскрин получившихся папкок по этому адресу
Изображение

И вот диалог программы после пересчета всего (в спойлере):
Спойлер
(Sun Nov 02 21:24:17 2014)
i.landsat.toar input_prefix=LC82180762014032LGN00_B output_prefix=LC82180762014032LGN00_Bcor metfile=C:\GIS_RS_dados\CursoCampo2014_LANDSAT\Land8PicingFev2014_ALL\LC82180762014032LGN00_MTL.txt
WARNING: ESUN evaluated from REFLECTANCE_MAXIMUM_BAND
Calculating...
WARNING: Raster map <LC82180762014032LGN00_B1> not found
Writing reflectance of <LC82180762014032LGN00_B2> to <LC82180762014032LGN00_Bcor2>...
Writing reflectance of <LC82180762014032LGN00_B3> to <LC82180762014032LGN00_Bcor3>...
WARNING: 'cell/LC82180762014032LGN00_B4' was found in more mapsets (also found in <PERMANENT>)
WARNING: Using <LC82180762014032LGN00_B4@mapaset2nov2014>
Writing reflectance of <LC82180762014032LGN00_B4> to <LC82180762014032LGN00_Bcor4>...
Writing reflectance of <LC82180762014032LGN00_B5> to <LC82180762014032LGN00_Bcor5>...
Writing reflectance of <LC82180762014032LGN00_B6> to <LC82180762014032LGN00_Bcor6>...
Writing reflectance of <LC82180762014032LGN00_B7> to <LC82180762014032LGN00_Bcor7>...
Writing reflectance of <LC82180762014032LGN00_B8> to <LC82180762014032LGN00_Bcor8>...
Writing reflectance of <LC82180762014032LGN00_B9> to <LC82180762014032LGN00_Bcor9>...
Writing temperature of <LC82180762014032LGN00_B10> to <LC82180762014032LGN00_Bcor10>...
Writing temperature of <LC82180762014032LGN00_B11> to <LC82180762014032LGN00_Bcor11>...
(Sun Nov 02 21:35:55 2014) Command finished (11 min 38 sec)

Итого, модуль свою работу окончил. Но - почему файлы весят 0 байт? И (если вдруг они правильны) как их использовать дальше (в другом софте)? Или не правильно получилось?

Re: Атмосф. коррекция Landsat8_в GRASS (i.landsat.tour)

Добавлено: 03 ноя 2014, 10:03
bolotoved
Natalia Novoselova писал(а):открывать прямо из папки ...
В GRASS файлы находятся в очень специфичном виде и работать с ними можно только через GRASS, вообще крайне не рекомендуется лазить в папки GRASS и что-то там менять напрямую.
Чтобы работать с растрами GRASS в других программах, их нужно от туда экспортировать, например в TIF с помощью модуля r.out.gdal.

Re: Атмосф. коррекция Landsat8_в GRASS (i.landsat.tour)

Добавлено: 03 ноя 2014, 15:36
Natalia Novoselova
bolotoved писал(а):
Natalia Novoselova писал(а):открывать прямо из папки ...
В GRASS файлы находятся в очень специфичном виде и работать с ними можно только через GRASS, вообще крайне не рекомендуется лазить в папки GRASS и что-то там менять напрямую.
Чтобы работать с растрами GRASS в других программах, их нужно от туда экспортировать, например в TIF с помощью модуля r.out.gdal.

Спасибо!
Моя конечная цель в данном случае - расчет NDVI.
Делала "как могла".
Почему-то не получилось провести расчет в растровом калькуляторе в ArcGIS (хотя, вроде бы, все было правильно). Делала расчет в ENVI 5.0

1) Экспортировала полученные после обработки в GRASS модулем i.landsat.tour итоговые растры по каналам 4 и 5 через File - Export raster map - Common export format [r.out.gdal]
2) Открыла в ENVI оба растра
3) Через инструмент Layer Stacking сохранила оба канала в один файл
4) В ENVI через Band Math посчитала по формуле (float(B1)-B2)/(float(B1)+B2), где
B1 - band5 (NIR)
B2 - band4 (Red)
5)Полученный результат через ENVI сохранила как Tiff, и уже этот файл открыла в ArcGIS (где веду проект)

Результаты сравнения одного набора представила в этом посте(там у меня вопрос, потому дала в виде таблицы)


* * *
Но вообще, хотелось бы всё научиться делать в GRASS. А каким модулем можно посчитать NDVI сразу в GRASS?
В черновике статьи об этом говорится о том, что нужно задавать границы.. не поняла этот момент. Может, проще можно?


* * *
О результатах атм. коррекции GRASS. Кажется потенциально проблемным тот момент, что при импорте исходных каналов в установки модуля i.landsat.tour - я указала для всех 11 каналов одно название для input и одно для output растра. А софт сам уже присвоил им номера. На которые я и ориентировалась, когда рассчитывала сама NDVI. Проблемой мне кажется то, что у меня нет уверенности, что софт не "перепутал" номера каналов (то есть что я за каналы 4 и 5 не использовала какие-то другие). Что вы об этом думаете? Или можно как-то задавать каналы в модуль иначе? Например, изначально я хотела задать только эти два (4 и 5), но он почему-то так не хотел и требовал все 11.

Re: Атмосф. коррекция Landsat8_в GRASS (i.landsat.tour)

Добавлено: 03 ноя 2014, 16:35
nadiopt
Грасс - такая штука, что если в нем делается что-то одно, то лучше бы и все остальное делать в нем же

Re: Атмосф. коррекция Landsat8_в GRASS (i.landsat.tour)

Добавлено: 03 ноя 2014, 17:01
Natalia Novoselova
nadiopt писал(а):Грасс - такая штука, что если в нем делается что-то одно, то лучше бы и все остальное делать в нем же

Вообще, это немного странно слышать, GRASS себя позиционирует как один из лучших и мощных открытых ГИС-ДЗЗ софтов. Очевидно, что конвертироваться всё должно на уровне? Или в чем причина?

Потом, я не против (как сказала). Если разберусь как. Только когда какой-то способ найден, мотивация биться снижается. Но если мне немного помогут (подскажут, каким модулем можно посчитать NDVI, или где искать содержание всех модулей?) то я сделаю здесь. Очень стремлюсь освоить открытый софт. Будет получаться, остальную мою работу буду переносить на открытый софт. Ее у меня много и разной, диапазон всё расширяется..

Даже интересно сравнить потом результаты (это про NDVI).

Товарищи, буду признательна за совет по расчету NDVI в GRASS!

Re: Атмосф. коррекция Landsat8_в GRASS (i.landsat.tour)

Добавлено: 03 ноя 2014, 17:14
nadiopt
так а есть же черновик в Вики от Юлии Озарян
вот что нагуглилось: http://www.envinfo.uee.kyoto-u.ac.jp/us ... ss1_e.html

Re: Атмосф. коррекция Landsat8_в GRASS (i.landsat.tour)

Добавлено: 03 ноя 2014, 17:53
xen87
Товарищи, буду признательна за совет по расчету NDVI в GRASS!
Открываете калькулятор растров (в GUI это так: raster -> raster map calculator [r.mapcalc]) и считаете ...
В черновике статьи об этом говорится о том, что нужно задавать границы..
- речь о том, что предварительно необходимо установить регион (охват, экстент) для которого необходимо произвести какие-либо действия, напр. расчет NDVI. Подразумеваю, что сейчас в вашем проекте регион настроен на всю сцену Ландсат, т.е. расчет индекса с помощью калькулятора растров будет произведен на сцену Ландсата. В случае, если необходимо посчитать индекс на какой-то другой участок местности, то необходимо установить (настроить) регион на данное место.
Регион устанавливается во вкладке - "Settings -> Регион -> установить регион [g.region]"
На гис-лабе есть хороший мануал, посвященный базовым понятиям и принципам работы в GRASS - http://gis-lab.info/docs/grass/tutorial60/ - почитайте, ну очень интересно и познавательно :-)
Совет - используете относительно новый и более "дружелюбный" интерфейс GRASS (wxPython) - он проще для начального освоения программы.
Удачи!

Re: Атмосф. коррекция Landsat8_в GRASS (i.landsat.tour)

Добавлено: 03 ноя 2014, 18:05
Natalia Novoselova
Спасибо, попробую разобраться (посчитать через растровый калькулятор)
xen87 писал(а):[ В случае, если необходимо посчитать индекс на какой-то другой участок местности, то необходимо установить (настроить) регион на данное место.
Регион устанавливается во вкладке - "Settings ->

Не очень понятна логика. Он ведь должен считать просто по задаваемым ему каналам и параметрам этих каналов. Зачем отдельно указывать еще регион?

Тот самый момент непонимания новой логики.

Re: Атмосф. коррекция Landsat8_в GRASS (i.landsat.tour)

Добавлено: 03 ноя 2014, 18:09
nadiopt
а наверное это пережиток не очень мощных машин, когда целый снимок считать было долго

Re: Атмосф. коррекция Landsat8_в GRASS (i.landsat.tour)

Добавлено: 03 ноя 2014, 18:40
rhot
nadiopt писал(а):а наверное это пережиток не очень мощных машин, когда целый снимок считать было долго
И ничего это не пережиток, а нормальный подход к ресурсозатратным (в плане оперативной памяти) операциям.
Зачем мне считать всю сцену, если мне нужно 10 на 20 км?

Re: Атмосф. коррекция Landsat8_в GRASS (i.landsat.tour)

Добавлено: 03 ноя 2014, 19:47
Natalia Novoselova
rhot писал(а):
nadiopt писал(а):а наверное это пережиток не очень мощных машин, когда целый снимок считать было долго
И ничего это не пережиток, а нормальный подход к ресурсозатратным (в плане оперативной памяти) операциям.
Зачем мне считать всю сцену, если мне нужно 10 на 20 км?

Теперь логика понятна! Эта операция, видимо, не обязательна или рода вспомогательной (не делать лишнего).
Из черновика статьи было понимание, что это обязательный шаг. Оттого не было понятно, зачем он был нужен (до этого подгружался полностью канал снимка). Да и такого нет в Энви, например. Оттого не привычно.

Re: Атмосф. коррекция Landsat8_в GRASS (i.landsat.tour)

Добавлено: 17 ноя 2014, 13:02
KolesovDmitry
Natalia Novoselova писал(а):Эта операция, видимо, не обязательна или рода вспомогательной (не делать лишнего).
Из черновика статьи было понимание, что это обязательный шаг.
Это и есть обязательный шаг. Все вычисления на растрах ВСЕГДА производятся в расчетном окне (регионе в терминологии GRASS), который задает охват и разрешение выходного растра. Если вы не устанавливали регион перед работой, значит, будет использован тот, который вы задавали в последний раз. Ну, а если ваш старый регион лежит в стороне от ваших данных -- ССЗБ.