python-2.7 - 无法在 python 中剪辑光栅(ETrF.etrf.tif)?
问题描述
我有 50 个栅格保存为 LC81520412017282LGN00_ETrF.etrf.tif ,还有一个多边形 shapefile 保存为 .shp。
当试图在 arcgis 中使用 Clip(Data Management) 剪辑此图像时,它可以正常工作。但是要批量处理所有图像,我编写了如下脚本
import os
import arcpy
arcpy.env.workspace = "E:/Project"
for root, dirs, files in os.walk('E:/Project/a/r'):
for file in files:
if os.path.splitext(file)[1] == '.tif':
print (file)
arcpy.Clip_management(file,"#",
"E:/Project/be/test.gdb/%file%"
,"be/canal.shp","#","Clipping
Geometry", "NO_MAINTAIN_EXTENT")
上面的脚本抛出“不支持的文件或文件不存在”的错误。
解决方案
剪辑管理只是使用您必须使用的 shapefile 将 shapefile 剪辑为“剪切”光栅文件
ExtractByMask (in_raster, in_mask_data)
这是一个例子
import arcpy
from arcpy import env
from arcpy.sa import *
env.workspace = "C:/sapyexamples/data"
outExtractByMask = ExtractByMask("elevation", "mask.shp")
outExtractByMask.save("C:/sapyexamples/output/maskextract")
推荐阅读
- python - python中的循环和打印
- angular - 有条件地在 ngFor 上应用 Angular 管道
- node.js - 运行“gcloud builds submit ./project-folder”时是否需要将 node_modules 添加到 .gcloudignore?
- android - ViewModel 使用 OnViewCreated 进行奇怪的操作
- python - LMFIT:使用多项式模型时限制输出
- javascript - 根据属性值过滤和删除 Javascript 对象
- c# - 授权属性/中间件是否可以防止对文件上传的 DOS 攻击?
- kotlin - ElasticSearch 应该用于联合
- python - 如何使用绑定键选择 tkinter 条目小部件?
- mysql - MySql程序,重复50次,生成随机值,检查是否存在