【ArcGIS自定义脚本工具】批量裁剪中国多省份NDVI影像 |
您所在的位置:网站首页 › arcgis裁剪栅格tif影像 › 【ArcGIS自定义脚本工具】批量裁剪中国多省份NDVI影像 |
一、功能介绍 名称:批量裁剪栅格(多对多) 源文件:Batch_clip .py 版本:ArcGIS 10.2,python2.7.3 描述: 以Shapefiles中的矢量文件对Tifs中的栅格进行裁剪,裁剪后的栅格文件名为“矢量文件名_+原命名”。裁剪后的栅格保存在Outfolder中命名为矢量文件名的文件夹中。 必要输入: Tifs——待裁剪的栅格(.tif),多值 Shapefiles——将作为剪切范围使用的矢量文件(.shp),多值 Outfolder——储存裁剪后栅格的文件夹 创建时间:2021.2.11 最后修改时间: 2021.2.13 作者:Salierib 二、脚本代码#!/usr/bin/python # -*- coding: UTF-8 -*- import arcpy from arcpy import env import os import time import sys reload(sys) sys.setdefaultencoding('utf8') tifs = arcpy.GetParameterAsText(0) masks = arcpy.GetParameterAsText(1) out_dir = arcpy.GetParameterAsText(2) tifs = tifs.split(";") masks = masks.split(";") names = [os.path.splitext(os.path.basename(mask))[0] for mask in masks] size = len(tifs) * len(masks) num = 1 for i, mask in enumerate(masks): # create a new folder named by mask's name new_folder = out_dir + os.sep + names[i] if not os.path.exists(new_folder): os.mkdir(new_folder) else: arcpy.AddMessage("Folder {0} already exists. Please check it.".format(new_folder)) for tif in tifs: s = time.time() cliped_tif = os.path.join(new_folder, "{0}_{1}".format(names[i],os.path.split(tif)[1])) if not os.path.exists(cliped_tif): arcpy.Clip_management(tif, "#", cliped_tif, mask, "0", "ClippingGeometry") e = time.time() arcpy.AddMessage("{0}/{1} | {2} Completed, time used {3}s".format(num, size, cliped_tif, e - s)) else: e = time.time() arcpy.AddMessage("{0}/{1} | {2} already exists.".format(num, size, cliped_tif)) num += 1 三、工具参数四、工具界面五、使用例1、输入 2、参数设置 3、输出 |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |