arcgis python批处理

     Arcgis自带python,可以用来批处理,平时处理时写了一些,也从网上copy了一些,这篇博客就用来共享一下几个批处理程序。相对来说,使用Arcgis自带的python进行批处理比较简单,主要就是在单个处理的程序上加个文件循环,就是加个目录读取的语句。

(1)ASCII转tiff

import sys,string,os 

import arcpy

dir=””

files = os.listdir(dir)

for f in files:

    if os.path.splitext(f)[1]==”.txt”:

         Input_raster_file = dir + os.sep + f

         Raster_Format = “TIFF”

         basename = os.path.splitext(f)[0]

         workspace = “E:\\2003\\TIFF”

         Output_raster = workspace + os.sep + basename + “.tif”

         arcpy.ASCIIToRaster_conversion(Input_raster_file, Output_raster, “INTEGER”)

         print Output_raster

(2)等间距nc转tiff

# -*- coding: utf-8 -*-

import arcpy

import sys,string,os

from arcpy.sa import *

 

def NetCDF2Tiff(inNetCDFFile,toTIFFFile):

 

    variable = “temp”

    XDimension = “lon”

    YDimension = “lat”

    outRasterLayer = basename + “temp”

    bandDimmension = “time”

    dimensionValues = “”

    valueSelectionMethod = “”

 

    print “start”

    arcpy.MakeNetCDFRasterLayer_md(inNetCDFFile, variable, XDimension, YDimension,

                                   outRasterLayer, bandDimmension, dimensionValues, 

                                   valueSelectionMethod)

    arcpy.CopyRaster_management(outRasterLayer, toTIFFFile)

 

    print “finish”

 

 

dir = “”

workspace = “”

files = os.listdir(dir)

for f in files:

    if os.path.splitext(f)[1]==”.nc”:

        inNetCDFFile = dir + os.sep + f

        basename = os.path.splitext(f)[0][40:46]

        toTIFFFile = workspace + os.sep + basename + “.tif” 

        NetCDF2Tiff(inNetCDFFile,toTIFFFile)

(3)重采样

import arcpy

from arcpy import env

from arcpy.sa import *

 

arcpy.env.workspace = “”

rasters = arcpy.ListRasters(“*”, “tif”)

 

for raster in rasters:

    print(raster)

    out= “”+”resample”+raster

    arcpy.Resample_management(raster, out, “0.462725 0.462725”, “CUBIC”)

    print(“resample”+raster+”  has done”)

print(“All done”)

 

(4)掩膜裁剪

import arcpy

from arcpy import env

from arcpy.sa import *

arcpy.CheckOutExtension(“spatial”)

arcpy.gp.overwriteOutput=1

arcpy.env.workspace = “”

rasters = arcpy.ListRasters(“*”, “tif”)

mask= “”

for raster in rasters:

    print(raster)

    out= “”+”clip_”+raster

    arcpy.gp.ExtractByMask_sa(raster, mask, out)

    print(“clip_”+raster+”  has done”)

print(“All done”)

 

      暂时就找到这几个,等后面写的时候再增加

转载自:https://blog.csdn.net/u012599377/article/details/85339932

You may also like...