Бештар

Ду рӯйхати растрро аз ду зерпапка зарб кунед


Ман ду зерпапка дорам, ки барои ҳар як кишвар растор доранд, аммо тағирёбандаҳои гуногунро ифода мекунанд. Ман кӯшиш мекунам роҳи тарзи зарб задани ҳар як растрро ба ҷузвдон бо ҷуфти зерпапкаи дигар давр занам. Чунин ба назар мерасад :.

AFG_13 AFG_25.tif_int барои Афғонистон AGO_13 AGO_25.tif_int барои Ангола ва ғ.…

ки дар он сутуни якум шумораи аҳолиро ифода мекунад ва дуюмаш монанди ниқоб аст (ба ман танҳо пиксел лозим аст, ки арзиши он ба 25 табдил дода шавад)

Ба ибораи дигар, ман бояд зарб занамAFG_13 * con (AFG_25.tif_int == 25,1)дар Python ... Ман аллакай кӯшиш кардам, ки масъаларо бо роҳҳои гуногун ҳал кунам, аммо ба ҳар ҳол чизе ... чанд маслиҳат?


Дар зер литсензияи таҳлилгари фазоӣ лозим аст.

Объекти ArcPy Raster барои кор бо rasters интерфейси хеле интуитивӣ фароҳам меорад. Пас аз сохтани Объекти Растр, ба шумо иҷозат дода мешавад, ки дар он амалиётҳои математикиро ба таври шабеҳ ба амалиётҳо дар объектҳои дарунсохти python иҷро кунед. Хусусиятҳо ва усулҳо дар дохили Объекти Растр инчунин бояд барои муайян кардани rasters-и худ аз нигоҳи шумо муфид бошанд "AFG"ва ғайра конвенсияи номгузорӣ.

Ман аз таҳияи рӯйхати rasters дар ҳар як ҷузвдони худ оғоз карда, сипас тавассути ин рӯйхатҳо такрор карда, барои ҳамаи rasters объектҳои растрӣ эҷод мекунам. Сипас, танҳо барои он расторҳое, ки масалан, "AFG"дар ном, ман онҳоро ҷудо мекардам ва амалиётҳои математикии худро иҷро мекардам. Ниҳоят, ман растрҳои натиҷаро ба файли доимии дар диск сабт мекардам.

воридоти arcpy аз arcpy.sa import * import os country_code = 'AFG_' variable_code_one = '13' variable_code_two = '25' folder_one = 'C: / rasters / folder_one' folder_two = 'C: / rasters / folder_two' output_folder = 'C: / rasters / output 'folders_list = [folder_one, folder_two] raster_objects_list = [] # rasters-ро дастрас аз рӯи коди кишвар филтр кунед ва объектҳои растриро барои ҷузвдон дар folders_list эҷод кунед: arcpy.env.workspace = ҷузвдон барои растр дар arcpy.ListRasters (' * '+ country_code, 'TIF'): raster.split ('.') [0] = arcpy.Raster (raster) raster_objects_list.append (raster.split ('.') [0]) # амалҳои математикиро дар объектҳои растрӣ иҷро мекунанд (ин шояд роҳи беҳтарин нест) # Ин тахмин мезанад, ки танҳо 1 "_13" растри тағирёбанда ва танҳо 1 "_25" растри тағирёбанда дар маҷмӯъ барои raster дар raster_objects_list мавҷуданд: агар variable_code_one дар raster.name: variable_one_raster = растр барои растр дар raster_objects_list: агар variable_code_two дар raster.name: variable_two_raster = raster output_raster = (variable_one_r aster * variable_two_raster) # ё ягон амалиёти дигари математикӣ output_raster.save (output_folder + os.sep + country_code + '_results')

Барори беҳтарин бо ин.