他のすべてのオプションを使い果たした初めての投稿とpythonnewb。選択したラスタープロパティを(arcpy.GetRasterProperties_management(input_raster、 "property_type")関数を使用して)コンマ区切りのテーブルに追加することに興味がありますが、複数の結果に対してこれを行う方法を理解するのに問題があります。(実際のスクリプトの)要約例として、2つの'for'ループを作成しました。出力したいラスタープロパティごとに1つ(つまり、セルサイズX、セルサイズY)。ラスターのリストには、S01Clip_30mからS05Clip_30mが含まれています。私の目標は、次のような.txtファイルを作成することです。
RasterName, CellSizeX, CellSizeY
S01Clip_30m, 88.9372, 88.9375
S02Clip_30m, 88.9374, 88.9371
私がこれまでに持っているコードは以下のとおりです(下部にいくつかの不確かな、失敗した構文があります)。実行すると、次の結果が得られます。
S05Clip_30m、88.9374
(リストの最後のラスター、CellSizeY)
重要なボトムコードブロックについてご協力いただければ幸いです。
import arcpy
from arcpy import env
env.workspace = ('C:\\StudyAreas\\Aggregates.gdb')
InFolder = ('C:\\dre\\python\\tables')
OutputFile = open(InFolder + '\\' + 'RasterProps.txt', 'a')
rlist = arcpy.ListRasters('*','*')
for grid in rlist:
if grid[-8:] == "Clip_30m":
result = arcpy.GetRasterProperties_management(grid,'CELLSIZEX')
CellSizeX = result.getOutput(0)
for grid in rlist:
if grid[-8:] == "Clip_30m":
result = arcpy.GetRasterProperties_management(grid,'CELLSIZEY')
CellSizeY = result.getOutput(0)
> I know the syntax below is incorrect, but I know there are *some* elements that
> should be included based on other example scripts that I have...
> if result.getOutput(0) == CellSizeX:
> coltype = CellSizeX
> elif result.getOutput(0) == CellSizeY:
> coltype = CellSizeY
> r = ''.join(grid)
> colname = r[0:]
> OutputFile.writelines(colname+','+coltype+'\n')