скрипт по переименованию снимков Landsat 8

Программы и алгоритмы для обработки данных дистанционного зондирования: ERDAS, ENVI и другие.
Ответить
xen87
Активный участник
Сообщения: 168
Зарегистрирован: 08 апр 2009, 14:44
Репутация: 18
Откуда: Кострома

скрипт по переименованию снимков Landsat 8

Сообщение xen87 » 28 июл 2013, 20:56

При закачке снимков Landsat 8 столкнулся с проблемой, если раньше (Landsat 5,7) в названии файлов указывалось число и месяц съемки (типа l5173018_01820090904 - 4 сентября 2009), то теперь (Landsat 8 ) указывается только порядковый номер дня съемки (lc81720202013139lgn01 - 139 день).
Все бы ничего, но при различных исследованиях (скажем лесопатологических) важно знать сезон (месяц) съемки, а каждый раз вычислять его в уме (или на калькуляторе) по порядковому номеру дня съемки - дело не благодарное.
Решил написать небольшой скрипт на Python, позволяющий переименовывать файлы (именно файлы, а не папки) из вида LO81740192013153LGN00_B4.tif (153 день 2013) в вид LO817401902062013LGN00_B4.tif (2 июня 2013).
Скрипт просит указать каталог в котором находятся папки со снимками (напр. C:\Arhiv_snimkov\2014 - т.е. в папке 2014 лежат куча папок с Landsat 8, внутри которых скрипт и будет вести переименование файлов).

P.s. за код не ругайте, я только учусь ...
Вложения
date.py
файл переименования снимков Landsat 8
(3.03 КБ) 728 скачиваний
Последний раз редактировалось xen87 28 июл 2013, 22:27, всего редактировалось 1 раз.

Александр Мурый
Гуру
Сообщения: 5173
Зарегистрирован: 26 сен 2009, 16:26
Репутация: 792
Ваше звание: званий не имею
Откуда: Москва

Re: скрипт по переименованию снимков Landsat 8

Сообщение Александр Мурый » 28 июл 2013, 21:39

Позволю себе несколько замечаний:
— Файл скрипта в кодировке Windows-1251, а в начале указано "# -*- coding: utf-8 -*-"
— В исходном виде у меня (на линуксе) скрипт не работает, выдаёт следующее с аргументом в виде каталога или без него:
: Нет такого файла или каталога
Редактор материалов, модератор форума

Аватара пользователя
rhot
Гуру
Сообщения: 1727
Зарегистрирован: 25 янв 2011, 17:50
Репутация: 194
Ваше звание: доктор
Откуда: Архангельск

Re: скрипт по переименованию снимков Landsat 8

Сообщение rhot » 28 июл 2013, 21:49

у меня тоже не работает
___________(¯`·.¸(¯`·.¸ Scientia potentia est _/ {SILVA}:::{FOSS}:::{GIS} \_ Знание сила ¸.·´¯)¸.·´¯)___________

xen87
Активный участник
Сообщения: 168
Зарегистрирован: 08 апр 2009, 14:44
Репутация: 18
Откуда: Кострома

Re: скрипт по переименованию снимков Landsat 8

Сообщение xen87 » 28 июл 2013, 22:26

— Файл скрипта в кодировке Windows-1251, а в начале указано "# -*- coding: utf-8 -*-"
- грешен, исправил.
— В исходном виде у меня (на линуксе) скрипт не работает, выдаёт следующее с аргументом в виде каталога или без него:
: Нет такого файла или каталога
- так по русски и пишет?

Гм, а как выглядит путь к каталогу в котором хранятся папки со снимками?
Дело в том, что скрипту необходимо указывать путь где лежат разархивированные папки, а внутри папок файлы-снимки, которые скрипт переименовывает.
Скажем папки со снимками хранятся тут:
C:\Arhiv_snimkov\2013\тут лежит куча разархивированных папок(LC81720202013139LGN01, LC81760202013103LGN01, LO81740192013153LGN00 ...), а в них снимки
В скрипте указываем путь:
C:\Arhiv_snimkov\2013

Скрипт пробежится по папкам и изменить названия лежащих в них файлов.
"Левых" файлов в этих папках лучше не держать, ибо скрипт переименует и их.

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

Re: скрипт по переименованию снимков Landsat 8

Сообщение nadiopt » 29 июл 2013, 12:22

Илья, а я просто делю день съемки на 30, не так уж и сложно
ин гроссен фамилен нихт клювен клац клац

alexandr cherepanov
Гуру
Сообщения: 534
Зарегистрирован: 30 ноя 2006, 13:31
Репутация: 116
Откуда: Moscow

Re: скрипт по переименованию снимков Landsat 8

Сообщение alexandr cherepanov » 29 июл 2013, 14:30

Не понятно зачем вообще исходники переименовывать, все равно их собирать вот собранный и называть как хочется. Day of month или Day of year это всего лишь вопрос привычки. А так наверное лучше сразу в статью оформлять или заметку.

Hatt
Участник
Сообщения: 73
Зарегистрирован: 16 янв 2012, 07:26
Репутация: 8
Откуда: Москва

Re: скрипт по переименованию снимков Landsat 8

Сообщение Hatt » 29 июл 2013, 14:49

Вопрос немного в сторону. Никто ещё не задумывался о скрипте не по переименованию Ландсат 8, а по переформированию его файла метаданных под "старый" формат, чтобы, например, в допятых ENVI работать с ним напрямую? Правда, мои задумывания о нём из-за "плановых" работ (ну и почти забытых навыков, если уж откровенно) пока крайне фрагментарны... Или, может, вообще отговорите от такой затеи, ведь сверяться с файлом, если очень понадобится, не так сложно:)
Или (вдруг!) он уже существует и активно распространяется операторами спутника и производителями ПО:)?
Карты предоставляются на условиях «Как есть». Не предоставляется никаких явных или подразумеваемых гарантий нахождения конкретным пользователем конкретной ёлки. Местоположение ёлок может изменяться без уведомления.

xen87
Активный участник
Сообщения: 168
Зарегистрирован: 08 апр 2009, 14:44
Репутация: 18
Откуда: Кострома

Re: скрипт по переименованию снимков Landsat 8

Сообщение xen87 » 29 июл 2013, 16:42

nadiopt писал(а):Илья, а я просто делю день съемки на 30, не так уж и сложно
Да я же не спорю :D Ну захотелось попробовать автоматизировать данный процесс ...
alexandr cherepanov писал(а): Не понятно зачем вообще исходники переименовывать, все равно их собирать вот собранный и называть как хочется.
Да можно не только исходники переименовывать. Я делаю так:
1. качаю снимки (имеющиеся за 2013 год)
2. разархивирую их каждый в свою папку сохраняя название папок по умолчанию (важно, чтобы названия папок не изменялись, ибо из них скрипт и берет информацию для наименования файлов)
3. синтезирую многоканальный композит (Layer stack) и сохраняю его по старому адресу с именем, близки к оригинальному
4. удаляю в папках лишние файлы (т.е. одноканальные изображения, если они более не нужны - но это не обязательно)
5. запускаю скрипт на переименование, который переименовывает оставшиеся в папках файлы
alexandr cherepanov писал(а):
Day of month или Day of year это всего лишь вопрос привычки.
- да, Вы правы, но иногда и потребности.
Hatt писал(а):
Вопрос немного в сторону. Никто ещё не задумывался о скрипте не по переименованию Ландсат 8, а по переформированию его файла метаданных под "старый" формат, чтобы, например, в допятых ENVI работать с ним напрямую? Правда, мои задумывания о нём из-за "плановых" работ (ну и почти забытых навыков, если уж откровенно) пока крайне фрагментарны... Или, может, вообще отговорите от такой затеи, ведь сверяться с файлом, если очень понадобится, не так сложно:)
Или (вдруг!) он уже существует и активно распространяется операторами спутника и производителями ПО:)?
- простите, я с ENVI не работал, поэтому комментировать не могу.

alexandr cherepanov
Гуру
Сообщения: 534
Зарегистрирован: 30 ноя 2006, 13:31
Репутация: 116
Откуда: Moscow

Re: скрипт по переименованию снимков Landsat 8

Сообщение alexandr cherepanov » 29 июл 2013, 21:31

Раз уж отошли от темы.
Hatt писал(а):Вопрос немного в сторону. Никто ещё не задумывался о скрипте не по переименованию Ландсат 8, а по переформированию его файла метаданных под "старый" формат, чтобы, например, в допятых ENVI работать с ним напрямую? Правда, мои задумывания о нём из-за "плановых" работ (ну и почти забытых навыков, если уж откровенно) пока крайне фрагментарны... Или, может, вообще отговорите от такой затеи, ведь сверяться с файлом, если очень понадобится, не так сложно:)
C 8 простое переструктурирование метаданных не прокатит, если писать поддержку для старых версиях, то придется с нуля. Я уже поднимал данный вопрос, но особой заинтересованности не увидел. Новые данные - новая версия :) . А вот для 5,7 после смены метаданных, это вполне рабочий вариант, но опять же скорее всего придется переименовывать и некоторые файлы, но это надо пробовать. Но какое-то это не благодарное занятие :roll: ETMMetadataUpdates
Hatt писал(а):Или (вдруг!) он уже существует и активно распространяется операторами спутника и производителями ПО:)?
А зачем им это? Поддержки в старой версии точно не будет, да и в новой непонятно насколько хорошо она сейчас реализована. Sp3 даже не глядел, особенно учитывая отзывы, что в классике нет поддержки.

Ответить

Вернуться в «Обработка ДДЗ»

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

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