arcgis中python批处理_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.youkuaiyun.com/u012599377/article/details/85339932

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值