нужна помощь по скрипту Python

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

нужна помощь по скрипту Python

Сообщение nadiopt » 16 дек 2016, 15:23

друзья, помогите пожалуйста
я сделала в ArcGis Model Builder простую цепочку обработки растра (Mod17, продуктивность экосистем). Сами Модисы я пакетно вытянула из hdf снапом, все бы хорошо, но там значение nodata выставлено 32677, и вся квадратная сцена заполняется этим условным нулем.
Цепочка рекласс (превращаем все кроме 32677 в ноль) - экстракт ноль - субстракт маской 0.
модел билдер мне нарисовал вот такой скрипт

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

# -*- coding: utf-8 -*-
# ---------------------------------------------------------------------------
# modis.py
# Created on: 2016-12-16 14:24:05.00000
#   (generated by ArcGIS/ModelBuilder)
# Description: 
# ---------------------------------------------------------------------------

# Import arcpy module
import arcpy

# Check out any necessary licenses
arcpy.CheckOutExtension("spatial")


# Local variables:
MOD17A3H_A2014001_h06v03_006_2015295055312_tif = "New Group Layer\\MOD17A3H.A2014001.h06v03.006.2015295055312.tif"
MOD17A3H_A2014001_h06v03_006_2015295055312_tif__2_ = "New Group Layer\\MOD17A3H.A2014001.h06v03.006.2015295055312.tif"
rMOD17A3H_A2014001_h06v03_006_2015295055312_tif = "D:\\work\\prod\\out_new\\2014\\2014_out\\rMOD17A3H.A2014001.h06v03.006.2015295055312.tif"
eMOD17A3H_A2014001_h06v03_006_2015295055312_tif = "D:\\work\\prod\\out_new\\2014\\2014_out\\eMOD17A3H.A2014001.h06v03.006.2015295055312.tif"
v_MOD17A3H_A2014001_h06v03_006_2015295055312_tif = "D:\\work\\prod\\out_new\\2014\\2014_out\\_MOD17A3H.A2014001.h06v03.006.2015295055312.tif"

# Process: Reclassify
arcpy.gp.Reclassify_sa(MOD17A3H_A2014001_h06v03_006_2015295055312_tif, "Value", "32767 1", rMOD17A3H_A2014001_h06v03_006_2015295055312_tif, "DATA")

# Process: Extract by Attributes
arcpy.gp.ExtractByAttributes_sa(rMOD17A3H_A2014001_h06v03_006_2015295055312_tif, "\"VALUE\" =0", eMOD17A3H_A2014001_h06v03_006_2015295055312_tif)

# Process: Extract by Mask
arcpy.gp.ExtractByMask_sa(MOD17A3H_A2014001_h06v03_006_2015295055312_tif__2_, eMOD17A3H_A2014001_h06v03_006_2015295055312_tif, v_MOD17A3H_A2014001_h06v03_006_2015295055312_tif)
ну должен же быть какой-то очень простой алгоритм проделать все то же самое над всеми сценами в папке? типа название файла на * поменять? я в питоне совсем валенок
ин гроссен фамилен нихт клювен клац клац

Ariki
Гуру
Сообщения: 731
Зарегистрирован: 12 янв 2011, 22:40
Репутация: 304
Ваше звание:

Re: нужна помощь по скрипту Python

Сообщение Ariki » 16 дек 2016, 15:41

Я Model Builder'ом пользовался один раз в жизни, но в Python нужен просто цикл по каталогу с файлами. Схема примерно такая:

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


import os
input_dir = r'D:\data\input'
output_dir = r'D:\data\output'
for filename in os.listdir(input_dir):
input_file = os.path.join(input_dir, filename)
output_file = os.path.join(output_dir, filename)
# Здесь делаем что-нибудь с input_file и output_file

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

Re: нужна помощь по скрипту Python

Сообщение Andrey Zhukov » 16 дек 2016, 15:50

Да можно в том же модельбилдере итератор воткнуть, чтоб кактус с питоном прямо сейчас не есть :)

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

Re: нужна помощь по скрипту Python

Сообщение nadiopt » 16 дек 2016, 16:02

да вот никак не могу взять в толк, как это правильно сделать. проще лапой в консоли написать имхо
ин гроссен фамилен нихт клювен клац клац

Ответить

Вернуться в «Я новичок!»

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

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