скрипт по переименованию снимков Landsat 8
-
- Активный участник
- Сообщения: 168
- Зарегистрирован: 08 апр 2009, 14:44
- Репутация: 18
- Откуда: Кострома
скрипт по переименованию снимков Landsat 8
При закачке снимков 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. за код не ругайте, я только учусь ...
Все бы ничего, но при различных исследованиях (скажем лесопатологических) важно знать сезон (месяц) съемки, а каждый раз вычислять его в уме (или на калькуляторе) по порядковому номеру дня съемки - дело не благодарное.
Решил написать небольшой скрипт на 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
Позволю себе несколько замечаний:
— Файл скрипта в кодировке Windows-1251, а в начале указано "# -*- coding: utf-8 -*-"
— В исходном виде у меня (на линуксе) скрипт не работает, выдаёт следующее с аргументом в виде каталога или без него:
— Файл скрипта в кодировке Windows-1251, а в начале указано "# -*- coding: utf-8 -*-"
— В исходном виде у меня (на линуксе) скрипт не работает, выдаёт следующее с аргументом в виде каталога или без него:
: Нет такого файла или каталога
Редактор материалов, модератор форума
- rhot
- Гуру
- Сообщения: 1727
- Зарегистрирован: 25 янв 2011, 17:50
- Репутация: 194
- Ваше звание: доктор
- Откуда: Архангельск
Re: скрипт по переименованию снимков Landsat 8
у меня тоже не работает
___________(¯`·.¸(¯`·.¸ Scientia potentia est _/ {SILVA}:::{FOSS}:::{GIS} \_ Знание сила ¸.·´¯)¸.·´¯)___________
-
- Активный участник
- Сообщения: 168
- Зарегистрирован: 08 апр 2009, 14:44
- Репутация: 18
- Откуда: Кострома
Re: скрипт по переименованию снимков Landsat 8
- грешен, исправил.— Файл скрипта в кодировке 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
Илья, а я просто делю день съемки на 30, не так уж и сложно
ин гроссен фамилен нихт клювен клац клац
-
- Гуру
- Сообщения: 534
- Зарегистрирован: 30 ноя 2006, 13:31
- Репутация: 116
- Откуда: Moscow
Re: скрипт по переименованию снимков Landsat 8
Не понятно зачем вообще исходники переименовывать, все равно их собирать вот собранный и называть как хочется. Day of month или Day of year это всего лишь вопрос привычки. А так наверное лучше сразу в статью оформлять или заметку.
-
- Участник
- Сообщения: 73
- Зарегистрирован: 16 янв 2012, 07:26
- Репутация: 8
- Откуда: Москва
Re: скрипт по переименованию снимков Landsat 8
Вопрос немного в сторону. Никто ещё не задумывался о скрипте не по переименованию Ландсат 8, а по переформированию его файла метаданных под "старый" формат, чтобы, например, в допятых ENVI работать с ним напрямую? Правда, мои задумывания о нём из-за "плановых" работ (ну и почти забытых навыков, если уж откровенно) пока крайне фрагментарны... Или, может, вообще отговорите от такой затеи, ведь сверяться с файлом, если очень понадобится, не так сложно:)
Или (вдруг!) он уже существует и активно распространяется операторами спутника и производителями ПО:)?
Или (вдруг!) он уже существует и активно распространяется операторами спутника и производителями ПО:)?
Карты предоставляются на условиях «Как есть». Не предоставляется никаких явных или подразумеваемых гарантий нахождения конкретным пользователем конкретной ёлки. Местоположение ёлок может изменяться без уведомления.
-
- Активный участник
- Сообщения: 168
- Зарегистрирован: 08 апр 2009, 14:44
- Репутация: 18
- Откуда: Кострома
Re: скрипт по переименованию снимков Landsat 8
Да я же не спорюnadiopt писал(а):Илья, а я просто делю день съемки на 30, не так уж и сложно

Да можно не только исходники переименовывать. Я делаю так:alexandr cherepanov писал(а): Не понятно зачем вообще исходники переименовывать, все равно их собирать вот собранный и называть как хочется.
1. качаю снимки (имеющиеся за 2013 год)
2. разархивирую их каждый в свою папку сохраняя название папок по умолчанию (важно, чтобы названия папок не изменялись, ибо из них скрипт и берет информацию для наименования файлов)
3. синтезирую многоканальный композит (Layer stack) и сохраняю его по старому адресу с именем, близки к оригинальному
4. удаляю в папках лишние файлы (т.е. одноканальные изображения, если они более не нужны - но это не обязательно)
5. запускаю скрипт на переименование, который переименовывает оставшиеся в папках файлы
- да, Вы правы, но иногда и потребности.alexandr cherepanov писал(а):
Day of month или Day of year это всего лишь вопрос привычки.
- простите, я с ENVI не работал, поэтому комментировать не могу.Hatt писал(а):
Вопрос немного в сторону. Никто ещё не задумывался о скрипте не по переименованию Ландсат 8, а по переформированию его файла метаданных под "старый" формат, чтобы, например, в допятых ENVI работать с ним напрямую? Правда, мои задумывания о нём из-за "плановых" работ (ну и почти забытых навыков, если уж откровенно) пока крайне фрагментарны... Или, может, вообще отговорите от такой затеи, ведь сверяться с файлом, если очень понадобится, не так сложно:)
Или (вдруг!) он уже существует и активно распространяется операторами спутника и производителями ПО:)?
-
- Гуру
- Сообщения: 534
- Зарегистрирован: 30 ноя 2006, 13:31
- Репутация: 116
- Откуда: Moscow
Re: скрипт по переименованию снимков Landsat 8
Раз уж отошли от темы.
. А вот для 5,7 после смены метаданных, это вполне рабочий вариант, но опять же скорее всего придется переименовывать и некоторые файлы, но это надо пробовать. Но какое-то это не благодарное занятие
ETMMetadataUpdates
C 8 простое переструктурирование метаданных не прокатит, если писать поддержку для старых версиях, то придется с нуля. Я уже поднимал данный вопрос, но особой заинтересованности не увидел. Новые данные - новая версияHatt писал(а):Вопрос немного в сторону. Никто ещё не задумывался о скрипте не по переименованию Ландсат 8, а по переформированию его файла метаданных под "старый" формат, чтобы, например, в допятых ENVI работать с ним напрямую? Правда, мои задумывания о нём из-за "плановых" работ (ну и почти забытых навыков, если уж откровенно) пока крайне фрагментарны... Или, может, вообще отговорите от такой затеи, ведь сверяться с файлом, если очень понадобится, не так сложно:)


А зачем им это? Поддержки в старой версии точно не будет, да и в новой непонятно насколько хорошо она сейчас реализована. Sp3 даже не глядел, особенно учитывая отзывы, что в классике нет поддержки.Hatt писал(а):Или (вдруг!) он уже существует и активно распространяется операторами спутника и производителями ПО:)?
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость