arcgis影像批量裁剪代码

# -*- coding:utf-8 -*-
# Name: ExtractByMask_Ex_02.py
# Description: Extracts the cells of a raster that correspond with the areas
#    defined by a mask.
# Requirements: Spatial Analyst Extension
# Author: ESRI

# Import system modules
import arcpy
import os
from arcpy import env
from arcpy.sa import *


def getFiles(path):
    return [ os.path.join(path,file) for file in os.listdir(path)]
    
  
# Set environment settings
#******************************************************************数据所在的文件夹
path="D:/data"

env.workspace = path
files=getFiles(path+"/NetCDF")
for inputdata in files:
    # Create a scratch name for the Buffer tool output.
    #   The scratch name created will be include 'temp0.shp',
    #   If temp0.shp already exists, the number will be incremented
    #   until the name is unique in the workspace.
    #
    scratch_name = arcpy.CreateScratchName("temp",
                                           data_type="RasterDataset",
                                           workspace=arcpy.env.scratchFolder)


    
    # Set local variables
    inNetCDFFile = inputdata
    variable = "precip"
    XDimension = "longitude"
    YDimension = "latitude"
    outRasterLayer = scratch_name
    bandDimmension = ""
    dimensionValues = ""
    valueSelectionMethod = "BY_VALUE"

# Execute MakeNetCDFRasterLayer
    arcpy.MakeNetCDFRasterLayer_md(inNetCDFFile, variable, XDimension, YDimension,
                               outRasterLayer, bandDimmension, dimensionValues, 
                               valueSelectionMethod)
                               
    print "Execute MakeNetCDFRasterLayer completely"
    
    inRaster = scratch_name
    #*******************************************************************************************************掩膜
    inMaskData = "Export_Output.shp"

    # Check out the ArcGIS Spatial Analyst extension license
    arcpy.CheckOutExtension("Spatial")

    # Execute ExtractByMask
    outExtractByMask = ExtractByMask(inRaster, inMaskData)

    # Save the output 
    outExtractByMask.save("D:/jiangxi/"+inputdata)
    print inputdata
    # Delete scratch dataset
    arcpy.Delete_management(scratch_name)

 

转载于:https://www.cnblogs.com/JMLiu/p/8007114.html

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值