Спектральные библиотеки в GRASS

Аватара пользователя
gimran
Гуру
Сообщения: 1902
Зарегистрирован: 07 июл 2010, 15:43
Репутация: 242
Откуда: Уфа

Спектральные библиотеки в GRASS

Сообщение gimran » 08 сен 2013, 16:25

Встретил спектральную библиотеку GIS-LAB для ENVI.
Появился вопрос, можно ли ее импортировать в GRASS и использовать?
Если да, то подскажите, пожалуйста, какие мануалы читать.
Заранее спасибо.

[ Сообщение с мобильного устройства ]

KolesovDmitry
Гуру
Сообщения: 810
Зарегистрирован: 22 авг 2007, 14:58
Репутация: 123
Откуда: Казань

Re: Спектральные библиотеки в GRASS

Сообщение KolesovDmitry » 09 сен 2013, 11:36

gimran писал(а):Встретил спектральную библиотеку GIS-LAB для ENVI.
Вероятно, речь идет об этой статье?
gimran писал(а):Появился вопрос, можно ли ее импортировать в GRASS и использовать?
Если да, то подскажите, пожалуйста, какие мануалы читать.
Если действительно речь идет о библиотеке из статьи, то никакого импорта не требуется -- это обычный текстовый файл, содержащий колонки с длиной волны и отражательной способностью. А уж с текстовым файлом можно сделать все, что душе угодно.

Если раскажите о том, какой метод для работы с библиотекой вы хотите реализовать, думаю, можно будет перевести его на "язык" GRASS.

Аватара пользователя
gimran
Гуру
Сообщения: 1902
Зарегистрирован: 07 июл 2010, 15:43
Репутация: 242
Откуда: Уфа

Re: Спектральные библиотеки в GRASS

Сообщение gimran » 09 сен 2013, 11:42

Да, Дмитрий, об этой статье и об этой базе данных: http://gis-lab.info/projects/spectra/

Порывшись в мануалах не нашел, как данные текстовые файлы загрузить в GRASS для дальнейшей классификации космоснимка на основе предзагруженных спектров отражения природных объектов.

Везде или автоматическая классификация, или классификация с учителем. Вариант как «загрузить несколько спектров природных объектов и по ним классифицировать» — не нашел.

KolesovDmitry
Гуру
Сообщения: 810
Зарегистрирован: 22 авг 2007, 14:58
Репутация: 123
Откуда: Казань

Re: Спектральные библиотеки в GRASS

Сообщение KolesovDmitry » 09 сен 2013, 21:03

gimran писал(а):Порывшись в мануалах не нашел, как данные текстовые файлы загрузить в GRASS для дальнейшей классификации космоснимка на основе предзагруженных спектров отражения природных объектов.
Я не знаю, есть ли специальные модули для классификации на основе библиотек, но, насколько я себе представляю, там очень простая логика работы, для реализации которой хватит растрового калькулятора. Вообще, похоже вопрос больше стоит о том, какой алгоритм классификации реализован в ENVI.

Предположим, что у нас есть два класса объектов A и B (если их больше, то на логику работы это не влияет, изменится лишь количество вычислений). Допустим у нас есть снимки в n диапазонах (1, 2, ..., n). Тогда из библиотеки извлекаются данные по отражательной способности каждого класса по каждому диапазону, в итоге имеем два массива (вектора) чисел:

Код: Выделить всё

a = (a1, a2, ... an)
b = (b1, b2, ... bn)
Берем точку на местности, ей соответствует n пикселей с каждого диапазона снимка

Код: Выделить всё

p = (p1, p2, ..., pn)
Вопрос: к какому классу отнести данную точку?
Ответ: к тому, до которого расстояние будет меньше. Значит, нужно сравнить расстояния d(a,p) и d(b,p)

И вот тут начинается наиболее интересное -- вопрос в том, как вычисляется расстояние. Способов огромное количество.

Не знаю почему, но мне кажется, что в ENVI используется угловое расстояние (может, слышал что-то краем уха), в этом случае, расстояние расчитывается при помощи косинуса угла между векторами (a,p) и (b,p). Чем больше косинус, тем меньше угол, т.е. тем ближе значения пикселя p к соответствующему классу.
Рассчитать косинус очень просто: находим скалярное произведение, потом делим его на длины векторов. В GRASS это легко проделывается в растровом калькуляторе.

Итак, пусть P1, P2, ..., Pn -- снимки, тогда в растровом калькуляторе получаем растр косинусов углов между вектором p и вектором a:

Код: Выделить всё

Ca = (P1*a1 + P2*a2 + ... + Pn*an)/(sqrt (a1*a1 + a2*a2 +...+ an*an) * sqrt(P1*P1 + P2*P2 +...+ Pn*Pn))
аналогично растр косинусов глов между вектором p и вектором b:

Код: Выделить всё

Ca = (P1*b1 + P2*b2 + ... + Pn*bn)/(sqrt (b1*b1 + b2*b2 +...+ bn*bn) * sqrt(P1*P1 + P2*P2 +...+ Pn*Pn))
Тогда пиксель отнесем к классу A, если cos(a,p) > cos(b,p). В растровом калькуляторе:
A = Ca > Cb
B = Cb > Ca
получаем два растра -- результаты классификации.

Если классов больше, то логика та же самая, только уравнений тоже прибавится.

Понятно, что расстояние можно считать по разному, вовсе не обязательно использовать косинусы. Так что главный вопрос -- какой метод вы выберете.

Аватара пользователя
gimran
Гуру
Сообщения: 1902
Зарегистрирован: 07 июл 2010, 15:43
Репутация: 242
Откуда: Уфа

Re: Спектральные библиотеки в GRASS

Сообщение gimran » 09 сен 2013, 21:25

Все это хорошо если рассматривать, скажем, расстояние между большими расстояниями между объектами, скажем, ель, сосна, осина и береза.
Я хочу на основе этих данных провести более сложный анализ, то есть добавить несколько тонов с одного снимка на одну породу - классы санитарного состояния.
Для корректного вычисления подобных классов требуется (имхо):
1) классификация по породам;
2) на основе имеющихся данных о реальных породах и их классах состояния по России, зная лесорастительные зоны, провести, а вернее начать сбор спектральных отражательных способностей при изменении классов категорий состояния (принаихудшем состоянии все породы практически смешиваются в один класс).
То есть фактически работа состоит из этапов выявления нижнего порога выявления каждой из пород, поскольку подобные расчеты не достаточно проработаны (научные изыскания велись по аэроснимкам визуально, до полноценных спектральных зависимостей метод не дожил из-за развала СССР и упадка данной темы исследований).

[ Сообщение с мобильного устройства ]

KolesovDmitry
Гуру
Сообщения: 810
Зарегистрирован: 22 авг 2007, 14:58
Репутация: 123
Откуда: Казань

Re: Спектральные библиотеки в GRASS

Сообщение KolesovDmitry » 10 сен 2013, 12:49

gimran писал(а):Все это хорошо если рассматривать, скажем, расстояние между большими расстояниями между объектами, скажем, ель, сосна, осина и береза.
Я хочу на основе этих данных провести более сложный анализ
Я сейчас любопытства ради пошарил в интернете, нашел учебник по ENVI, в котором описывается как раз метод спектрального угла. Так что ENVI вам тоже не помошник. Вообще, наверное, нужно сформулировать вопрос о методе работы в ваших условиях и задать его в ветке по ДЗЗ (поскольку GRASS тут вторичен -- главное определиться с методом анализа, и лишь затем с вопросом в каком ПО его реализовать).

Аватара пользователя
nadiopt
Гуру
Сообщения: 4744
Зарегистрирован: 29 янв 2009, 13:27
Репутация: 495
Ваше звание: хрюкало
Откуда: Санкт-Петербург
Контактная информация:

Re: Спектральные библиотеки в GRASS

Сообщение nadiopt » 10 сен 2013, 14:08

Тимур, в смешанном лесу разделить, скажем, березу и осину по спектральным признакам невозможно
ин гроссен фамилен нихт клювен клац клац

Аватара пользователя
gimran
Гуру
Сообщения: 1902
Зарегистрирован: 07 июл 2010, 15:43
Репутация: 242
Откуда: Уфа

Re: Спектральные библиотеки в GRASS

Сообщение gimran » 10 сен 2013, 15:49

Надежда, можно разделить снижение этой группы по категории состояния, а породу по составу выдела определить.

[ Сообщение с мобильного устройства ]

Аватара пользователя
nadiopt
Гуру
Сообщения: 4744
Зарегистрирован: 29 янв 2009, 13:27
Репутация: 495
Ваше звание: хрюкало
Откуда: Санкт-Петербург
Контактная информация:

Re: Спектральные библиотеки в GRASS

Сообщение nadiopt » 10 сен 2013, 20:29

хе-хе, размечтался, а если у тебя ЛУ мохнатого года, когда еще по хозяйствам писали, например, 4Е6Б и реально выдел березовый?
ин гроссен фамилен нихт клювен клац клац

Аватара пользователя
gimran
Гуру
Сообщения: 1902
Зарегистрирован: 07 июл 2010, 15:43
Репутация: 242
Откуда: Уфа

Re: Спектральные библиотеки в GRASS

Сообщение gimran » 10 сен 2013, 21:33

у меня самое "мохнатое" 1997 года

[ Сообщение с мобильного устройства ]

Аватара пользователя
nadiopt
Гуру
Сообщения: 4744
Зарегистрирован: 29 янв 2009, 13:27
Репутация: 495
Ваше звание: хрюкало
Откуда: Санкт-Петербург
Контактная информация:

Re: Спектральные библиотеки в GRASS

Сообщение nadiopt » 10 сен 2013, 21:39

ну мы же где-то выяснили, что честно по составу пишут с середины 90-х, запросто могли еще по-старому написать. к тому же в ТО пишут по запасу, а на снимках выходит скорее уж по проективному покрытию крон
ин гроссен фамилен нихт клювен клац клац

Аватара пользователя
gimran
Гуру
Сообщения: 1902
Зарегистрирован: 07 июл 2010, 15:43
Репутация: 242
Откуда: Уфа

Re: Спектральные библиотеки в GRASS

Сообщение gimran » 10 сен 2013, 22:20

Это демагогия :)
Вопрос был исключительно про ГРАСС и миниответ зачем оно мне :)

[ Сообщение с мобильного устройства ]

Аватара пользователя
nadiopt
Гуру
Сообщения: 4744
Зарегистрирован: 29 янв 2009, 13:27
Репутация: 495
Ваше звание: хрюкало
Откуда: Санкт-Петербург
Контактная информация:

Re: Спектральные библиотеки в GRASS

Сообщение nadiopt » 10 сен 2013, 22:23

нифига не демагогия, если задача нерешаема, то она и в грассе нерешаема
ин гроссен фамилен нихт клювен клац клац

Аватара пользователя
gimran
Гуру
Сообщения: 1902
Зарегистрирован: 07 июл 2010, 15:43
Репутация: 242
Откуда: Уфа

Re: Спектральные библиотеки в GRASS

Сообщение gimran » 10 сен 2013, 23:24

Меня интересует конкретный функционал, а отдельные извращения над ним это уже мои сугубо личные проблемы :)
А базу данных спектральную интересно сравнить с фактическим результатом, потому что одно дело дешифровывать аэроснимки по существующей утвержденной методике, а другое пытаться компенсировать плохой масштаб упомянутым выше способом.

[ Сообщение с мобильного устройства ]

Аватара пользователя
nadiopt
Гуру
Сообщения: 4744
Зарегистрирован: 29 янв 2009, 13:27
Репутация: 495
Ваше звание: хрюкало
Откуда: Санкт-Петербург
Контактная информация:

Re: Спектральные библиотеки в GRASS

Сообщение nadiopt » 11 сен 2013, 12:21

чем бы дитя не тешилось...
ин гроссен фамилен нихт клювен клац клац

Ответить

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

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

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