教你自己写Arcpy批处理程序

news2025/7/11 7:42:08

自己写Arcpy批处理栅格和矢量

先上代码,讲解各行代码的意思,从而达到自己写代码的目的

#....Edit by Longhao Wang....
import arcpy
from arcpy import env
from arcpy.sa import *
import os
import os.path
import sys
arcpy.env.workspace="D:/OneDrive/UCAS/group/Tian/tif"
rootdir="D:/OneDrive/UCAS/group/Tian/tif"
inPointFeatures = "D:/OneDrive/UCAS/group/Tian/Export_Output.shp"
for dirpath,filename,filenames in os.walk(rootdir):
    for files in filenames:
        if os.path.splitext(files)[1]=='.tif':
            filepath= os.path.join(dirpath,files)
            inRaster = filepath
            arcpy.env.snapRaster = filepath
            outname = files[2:10]
            outnamepath=r"D:\OneDrive\UCAS\group\Tian\out\table_" + outname + '.shp'
            out_xls=r"D:\OneDrive\UCAS\group\Tian\out\table_" + outname + '.xls'
            arcpy.CheckOutExtension("Spatial")
            outExtractPoint = ExtractValuesToPoints(inPointFeatures, inRaster, outnamepath,
                      "INTERPOLATE", "VALUE_ONLY")
            arcpy.TableToExcel_conversion(outExtractPoint, out_xls)
            print outname
            print "ok"

为方便说明,逐行讲解:

本代码实现【把栅格值提取到点】:输入元素是栅格影像 + 点矢量,输出带像元值属性的矢量表

本代码实现【表转excel】:把输出的矢量点属性表转为xls

image-20221012204150127

  • 1-3行是使用Arcpy所必需的,5-7行是python处理文件夹的方便操作
  • 第8行输入待提取栅格值的栅格文件集合的路径
  • 第9行与第8行相同
  • 第10行是输入点矢量的路径+文件名

接下来对影像存储的文件夹进行遍历,保证文件夹中都是tif

  • 第14行把路径和文件名合并成一个字符串,方便读取tif
  • 第17行,files是每个文件夹的名字,应该为China20210412.tif(举例)我们用切片把20210412提取出来,方便表示结果,存为outname
  • 第18行,outnamepath是存储矢量点的位置,19行同理,是excel
  • 第21,23行是核心代码,分别实现了提取值到点,和表转excel功能

因此,若要批量对数据进行处理,只需修改核心函数就可以了,其次再修改文件名、文件夹、路径和切片就完成了。

寻找函数的话,只需要在你想要的工具下面,点击Tool Help即可

image-20221012205728560

提供了源代码与数据讲解,我们只需要把核心函数复制过来就行了

image-20221012205826551

有了上述的基础后,我们也能自己实现功能了,我尝试了批量裁剪tif的代码,你也可以撰写自己的代码

import arcpy
from arcpy import env
from arcpy.sa import *
import os
import os.path
import sys
arcpy.env.workspace=r"D:\Desktop\Study\Academic1\study2\vcf"
rootdir=r"D:\Desktop\Study\Academic1\study2\vcf"
for dirpath,filename,filenames in os.walk(rootdir):
    for files in filenames:
        if os.path.splitext(files)[1]=='.tif':
            filepath= os.path.join(dirpath,files)
            inRaster = filepath
            arcpy.env.snapRaster = filepath
            outname = files[8:12]
            outnamepath=r"D:\Desktop\Study\Academic1\study2\VCF_" + outname + 'china.tif'
            inMaskData =r"D:\Desktop\Study\Academic1\study2\mask_tif\cci\mask.shp"
            arcpy.CheckOutExtension("Spatial")
            outExtractByMask = ExtractByMask(inRaster, inMaskData)
            outExtractByMask.save(outnamepath)
            print outname
            print "ok"


			

``

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/18022.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Vue项目开发经验

文章目录前言网页组件echarts使用打包后显示包体积安装tensorflow和anaconda可能出现的错误![在这里插入图片描述](https://img-blog.csdnimg.cn/c1facd95a7f645c5af3e8dc1237913a3.png)总结前言 本博客仅做学习笔记,如有侵权,联系后即刻更改 科普&…

《调试九法》阅读笔记

1. 理解系统 阅读手册、仔细阅读每个细节、掌握基础知识、了解工作流程、了解工具。 2. 制造失败 制造失败、从头开始、引发失败、但不要模拟失败、查找不受你控制的条件、记录每件事情,并找到间歇性bug特征、不要过于相信统计数据、要认识到“那”是可能会发生的…

[附源码]java毕业设计商场日常维修管理系统

项目运行 环境配置: Jdk1.8 Tomcat7.0 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术: SSM mybatis Maven Vue 等等组成,B/S模式 M…

【云原生】k8s 中的 hostNetwork 和 NetworkPolicy(网络策略)讲解与实战操作

文章目录一、hostNetwork 介绍二、k8s 网络策略 NetworkPolicy三、Pod 隔离的两种类型四、NetworkPolicy 资源1)NetworkPolicy 示例演示2)选择器 to 和 from 的行为五、总结一、hostNetwork 介绍 在k8s中,若pod使用主机网络,也就是…

UE5笔记【四】UE5主材质Master Materials和材质实例MI

上一篇我们讲解了关于鹅卵石的纹理材质。 假设:如果我们在关卡中每个材质都这么连接的话,那么将使得整个世界非常复杂,并且将浪费大量的时间。对此,解决方案是:主材质:master Materials。 新建一个新关卡…

springboot基于java的个性化推荐的电商购物商城平台设计与实现

本文主要探讨了个性化推荐的电商平台的设计与实现。并对其详细的设计方案、实现技术和运行情况做了分析和研究,最后对未来的工作做了研究与探讨。本文重点研究了以下几个方面: (1)系统的体系结构、主要功能模块、主要数据的工作流…

次元裂缝已打开,AI绘画突飞猛进,其潜力究竟有多大

目录 次元裂缝已打开 AI绘画 起源 人工智能画的画在美术比赛得第一名 原理 关键的CLIP 总结 次元裂缝已打开 #次元裂缝已打开#的一个话题火了~大量新人老玩家共赴无界AI 上面是AI绘画根据真实图片合成的图片与真图的对比,可以看出还原度还是很高的&#xff…

JUC学习笔记——共享模型之无锁

在本系列内容中我们会对JUC做一个系统的学习,本片将会介绍JUC的无锁 我们会分为以下几部分进行介绍: 无锁操作CAS与Volatile原子类型原理篇Unsafe 并发无锁操作 这一小节我们将讲解如何用无锁操作完成并发操作 问题展现 我们给出一段之前并发展示代…

机器人学优质资源

引言 实验室闲着查资料,发现西北大学有个很好的机器人学线上资源课程,Coursera上也有,记录一下,感觉还挺全的,而且GitHub上也开放了很多相应的学习资源。 Coursera的视频: Modern Robotics: Mechanics, Pla…

GitHub标星75k,阿里15W字的Spring高级文档(全彩版),真的太香了

随着 Spring 使用越来越广泛,Spring 已经成为 Java 程序员面试的必问知识点,很多同学对于Spring理解不是那么的深刻,经常就会被几个连环追问给干趴了! 今天小编整理了一下一线架构师的Spring源码高级文档:SpringSprin…

Java三大特征之一——继承

继承继承概述、使用继承的好处继承得儿设计规范,内存运行原理继承的特点继承后:成员变量、成员方法的访问特点继承后:方法重写继承后:子类构造器的特点继承后:子类构造器访问父类有参数构造器this、super总结继承概述、…

挂耳耳机十大品牌排行榜哪个好,目前排行靠前的五款耳机推荐

耳机作为生活的必需品,随着我们生活水平的提高,对于耳机的需求也随之加强,既需要在运动中使用,又要能够在日常佩戴照常无误,那么在此我的建议是对于防水性能一定要高,毕竟高的防水能够抵挡运动中的汗水&…

WPF MVVM

WPF MVVM MVVMModelViewViewModel Model:现实世界中对象抽象的结果,也就是实体模型View:UI界面ViewModel:为UI界面服务的模型,可以理解为数据传输对象(DTO) ViewModel和View的沟通有两个方面:数据和操作传递数据–使…

“综合”web项目编写------手把手0基础教学(二)

上一节介绍了编写综合项目的基本流程 “综合”web项目编写------手把手0基础教学(一) 这里将继续介绍项目的编写,一个一个功能挨个实现。 目录 实现用户的登录功能 一 . 编写工具包---封装数据库链接 二 . 构建数据模型 三 . 构建功能…

ASEMI代理艾赛斯IGBT管IXYB82N120C3H1

编辑-Z 艾赛斯IGBT管IXYB82N120C3H1参数: 型号:IXYB82N120C3H1 漏极-源极电压(VCES):1200V 连续漏电流(IC):82A 功耗(PC):1040W 工作结温度…

spring cloud在bootstrap.properties配置spring.profiles.active无效

bootstrap.properties 配置 bootstrap.properties spring.profiles.activeprofiles.active bootstrap-dev.properties / bootstrap-test.properties #服务器地址 spring.cloud.nacos.config.server-addr127.0.0.1:8848 #项目的命名空间的ID spring.cloud.nacos.config.name…

m基于FPGA和MATLAB的数字CIC滤波器设计和实现

目录 1.算法概述 2.仿真效果预览 3.MATLAB/FPGA部分代码预览 4.完整MATLAB/FPGA程序 1.算法概述 CIC滤波器由一对或多对积分-梳状滤波器组成,在抽取CIC中,输入信号依次经过积分,降采样,以及与积分环节数目相同的梳状滤波器。在…

Facebook账号复审的问题。

Facebook账号复审主要指的就是: Facebook个人广告账号,或者是你的企业bn广告系统当中的 Facebook投手号。在投放广告的过程当中,因为违规。或者其他原因。 Facebook需要审核这个Facebook账号的主体。简单的说就是他的合法性。 所以会要求你。…

基于Peer-Group(对等体组)的BGP和 BGP水平分割路由反射器

目录 一、简介 二、基于Peer-Group的IBGP配置 三、基于Peer-Group的EBGP配置 四、IBGP的水平分割与路由反射器 1.水平分割概念 2.现象 【1】R3收到的路由信息如下: 【2】R2收到的路由信息如下: 这就是IBGP水平分割导致的现象! 五、…

策略验证_卖出口诀_三种图线交叉点卖出股票需抢先

写在前面: 1. 本文中提到的“股票策略校验工具”的具体使用操作请查看该博文; 2. 文中知识内容来自书籍《同花顺炒股软件从入门到精通》 3. 本系列文章是用来学习技法,文中所得内容都仅仅只是作为演示功能使用 目录 解说 策略代码 结果 解…