Общее описание ASTER GDEM

Программы и алгоритмы для обработки данных дистанционного зондирования: ERDAS, ENVI и другие.
Andrey Zhukov
Гуру
Сообщения: 838
Зарегистрирован: 10 дек 2009, 23:24
Репутация: 169
Ваше звание: старик-гисовик
Откуда: Москва
Контактная информация:

Re: Общее описание ASTER GDEM

Сообщение Andrey Zhukov » 11 фев 2015, 18:39

Замучился с выкачиванием больших заказов с пулдира (битые архивы порой получаются), набросал скрипт на питоне для засасывания:

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

import urllib, os, datetime, time, re
def get_aster(aster_link, aster_folder):
    aster_page = urllib.urlopen(aster_link)
    aster_text = aster_page.read()
    aster_names = re.findall('>A.*.zip<', aster_text)
    for aster_name in aster_names:
        aster_name = aster_name.strip("<>")
        timestamp = datetime.datetime.fromtimestamp(time.time()).strftime('%Y-%m-%d %H:%M:%S: ')
        aster_in = aster_link + aster_name
        aster_out = os.path.join(aster_folder, aster_name)
        print timestamp + "Processing " + aster_out,
        try:
            open_link = urllib.urlopen(aster_in)
            if os.path.exists(aster_out):
                print "File already exists."
            elif open_link.getcode() == 200:
                open_aster = open_link.read()
                write_aster = open(aster_out, "wb")
                write_aster.write(open_aster)
                write_aster.close()
                print "Done."
            else:
                print "Link error:" + open_link.getcode()
        except Exception as e:
            print "Some errors occurred:"
            print e
aster_link - страничка PullDir.
aster_folder - куда сохранять файлы.
Вдруг кому пригодится.

Ответить

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

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

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