将多个光栅特性附加到commadelimited选项卡

2024-06-16 09:41:19 发布

您现在位置:Python中文网/ 问答频道 /正文

第一次发布和python新手谁已经用尽了所有其他的选择。我有兴趣附加选定的光栅特性(使用arcpy.getrasperproperties_管理(input_raster,“property_type”)函数)转换为逗号分隔的表,但我很难弄清楚如何对多个结果执行此操作。作为一个简短的示例(我的实际脚本),我创建了两个“for”循环;对于我感兴趣的每个光栅属性(即单元大小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)

我很感谢你能在关键的底层代码块上提供任何帮助。在

^{pr2}$

Tags: 文件代码列表input光栅特性单元兴趣
1条回答
网友
1楼 · 发布于 2024-06-16 09:41:19

在收到另一个关于我的脚本的问答论坛的帮助后,我现在提供了我自己的与GIS相关的问题的答案,以关闭此线程(并转到gis.stackexchange:)-多亏了叶莉的评论)。以下是最终更正的脚本,它将光栅列表的两个光栅属性(X方向的单元格大小、Y方向的单元格大小)输出到一个.txt文件中:

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":
        resultX = arcpy.GetRasterProperties_management(grid,'CELLSIZEX')
        CellSizeX = resultX.getOutput(0)
        resultY = arcpy.GetRasterProperties_management(grid,'CELLSIZEY')
        CellSizeY = resultY.getOutput(0)
OutputFile.write(grid + ',' + str(CellSizeX) + ',' + str(CellSizeY) + '\n')
OutputFile.close()

运行脚本后的结果:
S01Clip M,88.937158083333,88.9371580833333
S02Clip m,88.937158083333,88.937158083333
S03Clip m,88.9371580833371,88.9371580833333
S04Clip m,88.9371580833308,88.937158083333
S05Clip m,88.9371580833349,88.937158083333

谢谢!在

相关问题 更多 >