当前位置: 首页 > news >正文

【ArcGIS】批量对栅格图像按要素掩膜提取

要把一张大的栅格图裁成分省或者分县市的栅格集,一般是用ArcGIS里的按掩膜提取。
在这里插入图片描述
但是有的时候所要求的栅格集量非常大,所以用代码来做批量掩膜(按字段)会非常方便。

import arcpy , shutil , os
from arcpy import env
from arcpy.sa import *#使用说明
print "开始使用前,请认真阅读使用说明"
print "\n"
print "使用说明 1 :在工作空间内存放所需要掩膜提取的栅格文件。"
print "使用说明 2 :按字段提取的要素一般是.shp文件,在输入路径时务必确保以.shp为结尾。"
print "使用说明 3 :字段名是 使用说明 2 中要素里拥有的字段,一般使用名称作为输入要素。输入之前,务必确保与要素文件中字段名一致。"
print "使用说明 5 :栅格须存放在工作空间内,在这里,只能输入一个栅格,所输入的栅格名不能加文件后缀。"
print "使用说明 4 :输出文件夹作为存储掩膜后的栅格文件,文件夹里是一个栅格集。"
print "\n"WorkSpace = raw_input("请输入工作空间路径:")
FieldFeature = raw_input("请输入按字段提取的要素路径:")
Field = raw_input("请输入要素字段名:")
Raster = raw_input("请输入需要裁剪的栅格名:")
OutputFile = raw_input("请输入输出文件夹路径:")
Free = raw_input("----------- 按回车开始执行 -----------")print "\n"if not os.path.exists(WorkSpace):print "工作空间不存在"
else:print "工作空间读取成功"if not os.path.exists(OutputFile):print "输出路径不存在"
else:print "输出路径读取成功"if os.path.exists(WorkSpace) and os.path.exists(OutputFile):         #当工作空间与临时文件夹都存在方能执行print "\n"print "正在检查程序运行环境,请稍等"print "\n"arcpy.env.workspace = WorkSpace                         #设置工作空间TempFile = WorkSpace + "/" + "TempFile"                   #设置临时文件夹路径if os.path.exists(TempFile):Enquire1 = raw_input("已存在临时文件夹TempFile,是否重建临时文件夹:")if Enquire1 == "是":shutil.rmtree(TempFile)print "临时文件夹删除成功"if not os.path.exists(TempFile):                         os.makedirs(TempFile)                                  #创建临时文件夹,分割输出文件夹,掩膜提取裁剪要素文件夹print "临时文件夹创建成功"                   print TempFile                                           #输出临时文件夹位置print "\n"print "正在执行程序,请稍等"print "\n"#分割arcpy.Split_analysis(FieldFeature , FieldFeature , Field , TempFile)        #分割要素#按掩膜提取dirs = os.listdir(TempFile)                  for i in dirs:                           if os.path.splitext(i)[1] == ".shp":         #提取裁剪要素文件夹中.shp结尾的文件   分离path里的文件名和扩展名,文件名=[0],扩展名=[1]masks = TempFile + "/" + str(i)       #裁剪要素mask路径print str(i) + " 掩膜要素读取完毕"name = i.strip(".shp")                                                #去掉要素名称后缀.shpoutExtractByMask = ExtractByMask(Raster, masks)                   #掩膜提取outpath = OutputFile + "/" + str(name)                           #掩膜提取输出路径outExtractByMask.save(outpath)                                  #保存输出文件print str(name) + " 掩膜提取执行完毕"print "\n"print "正在删除临时文件夹TempFile"print "\n"shutil.rmtree(TempFile)                                #强制删除临时文件夹print "临时文件夹TempFile已删除"print "\n"print "-----------按要素字段掩膜提取执行完毕-----------"else:print "已存在临时文件夹TempFile,无法执行"else:print "执行未能成功"

直接复制到IDLE里运行即可,使用说明写得很详细。

相关文章:

【ArcGIS】批量对栅格图像按要素掩膜提取

要把一张大的栅格图裁成分省或者分县市的栅格集,一般是用ArcGIS里的按掩膜提取。 但是有的时候所要求的栅格集量非常大,所以用代码来做批量掩膜(按字段)会非常方便。 import arcpy , shutil , os from arcpy import env from ar…...

二进制安装minio 并实现主从同步

二进制安装minio 并实现主从同步 一、安装部署minio1.1、创建minio目录并下载minio1.2、授予执行权限1.3、创建存储目录和日志目录1.4、在目录下创建一个启动脚本1.5、设置minio开机启动 二、minio主从配置2.1、从服务器安装过程同《一》2.2、从服务器下载mc2.3、配置同步2.4、…...

React中封装echarts图表组件以及自适应窗口变化

文章目录 前言环境代码接口使用效果后言 前言 hello world欢迎来到前端的新世界 😜当前文章系列专栏:react.js 🐱‍👓博主在前端领域还有很多知识和技术需要掌握,正在不断努力填补技术短板。(如果出现错误,…...

鸿蒙:使用Stack、ContentTable、Flex等组件和布局实现一个显示界面

效果展示 一.概述 跟随官网继续HarmonyOS学习 本篇博文实现一个食物详情页的开发Demo 通过这个开发过程学习如何使用容器组件Stack、Flex和基本组件Image、Text,构建用户自定义组件,完成图文并茂的食物介绍 二.构建Stack布局 1.食物名称 创建Stack…...

3.生成验证码 + 开发登录、退出功能 + 显示登录信息

目录 1.生成验证码 2.开发登录、退出功能 2.1 开发数据访问层 2.2 开发业务层:实现登录功能...

基于龙格-库塔算法优化概率神经网络PNN的分类预测 - 附代码

基于龙格-库塔算法优化概率神经网络PNN的分类预测 - 附代码 文章目录 基于龙格-库塔算法优化概率神经网络PNN的分类预测 - 附代码1.PNN网络概述2.变压器故障诊街系统相关背景2.1 模型建立 3.基于龙格-库塔优化的PNN网络5.测试结果6.参考文献7.Matlab代码 摘要:针对P…...

2022最新版-李宏毅机器学习深度学习课程-P51 BERT的各种变体

之前讲的是如何进行fine-tune,现在讲解如何进行pre-train,如何得到一个pre train好的模型。 CoVe 其实最早的跟预训练有关的模型,应该是CoVe,是一个基于翻译任务的一个模型,其用encoder的模块做预训练。 但是CoVe需要…...

JavaFX中Application、Stage、Scene和Parent的区别

在JavaFX中,Application、Stage、Scene和Parent是用于构建图形用户界面(GUI)的关键组件,它们各自有不同的作用和责任。以下是它们之间的主要区别: 1、Application(应用程序) Application是Java…...

ubuntu18.04 terminal打不开的解决方法

目录 现象解决 现象 打开terminal时,一直转圈,然后消失,总是打不开terminal. 解决 编辑文件sudo vim /etc/default/locale,修改为 # File generated by update-locale LANG"en_US.UTF-8" LANGUAGE"en_US:en"重启系统,问题解决....

部署Kubernetes Dashboard

Dashboard简介 Dashboard 是基于网页的 Kubernetes 用户界面。 可以使用 Dashboard 将容器应用部署到 Kubernetes 集群中,也可以对容器应用排错,还能管理集群资源。 Dashboard创建 #创建pods kubectl apply -f https://raw.githubusercontent.com/kub…...

Java对List的操作

List<Person>转成map&#xff0c;并自定义key 假设有一List中有如下数据 Person{id100, name张三0100} Person{id101, name张三1100} Person{id102, name张三2100} Person{id103, name张三3100} Person{id104, name张三4100} Person{id105, name张三5100} Person{id106…...

git 将本地已有的一个项目上传到新建的git仓库的方法

将本地已有的一个非git项目上传到新建的git仓库的方法一共有两种 一、 克隆拷贝 第一种方法比较简单&#xff0c;直接用把远程仓库拉到本地&#xff0c;然后再把自己本地的项目拷贝到仓库中去。然后push到远程仓库上去即可。此方法适用于本地项目不是一个git仓库的情况。 具…...

基于Docker的安装和配置Canal

基本介绍 Canal介绍&#xff1a;Canal 是用 Java 开发的基于数据库增量日志解析&#xff0c;提供增量数据订阅&消费的中间件&#xff08;数据库同步需要阿里的 Otter 中间件&#xff0c;基于 Canal&#xff09;。 Canal背景&#xff1a;阿里巴巴 B2B 公司&#xff0c;因为…...

去除IDEA中代码的波浪线(黄色警示线)

去除IDEA中代码的波浪线 首先是点击File—>Settings 操作如下图所示: 然后点击Editor—>Inspections—>General—>Duplicated code fragment(去掉勾选)—>Apply—>OK 即可,详情请看下图所示:...

【Qt之QSplashScreen】开场动画使用:进度条加载及设置鼠标指针不转圈

效果 开场动画效果如下&#xff1a; 开场动画 介绍 QSplashScreen小部件提供了一个启动屏幕&#xff0c;可以在应用程序启动期间显示。 启动屏幕是一个小部件&#xff0c;通常在应用程序启动时显示。启动屏幕通常用于启动时间较长的应用程序(例如需要花费时间建立连接的数据…...

WPF Button点击鼠标左键弹出菜单

目录 ContextMenu介绍WPF实现点击鼠标左键弹出菜单如何禁用右键菜单如何修改菜单样式菜单位置设置 本篇博客介绍WPF点击按钮弹出菜单&#xff0c;效果如下&#xff1a; 菜单的位置、央视可以自定义。 实现技巧&#xff1a;不在xaml里菜单&#xff0c;在按钮左键按下的点击事件里…...

http库requests

http库requests requets简介第一个requestsrequests发送基本的HTTP请求requests处理请求参数requests处理响应requests处理Cookiesrequests处理sessionrequests使用代理requests设置请求头requests处理SSL证书验证requests错误处理和异常处理requests连接池requests请求重试...

package.json 依赖版本中的符号含义

依赖包的版本问题 实例说明~1.2.3主版本次要版本补丁版本;1.2.3 < version < 1.3.0;~1.2主版本次要版本;1.2.0 < version < 1.3.0~1主版本;1.0.0 < version < 2.0.0 符号实例版本范围说明1.0.01.0.0锁定1.0.0版本&#xff0c;必须这个版本。^会匹配最新的大…...

Python try except 用法

关键字解释trytry 就是执行代码的部分&#xff0c;但是对这部分代码没有信心就试一试嘛&#xff0c;这就是tryexcept很不幸&#xff0c;试的时候有错误&#xff0c;没事儿&#xff0c;except 帮你来兜底&#xff0c;它会输出错误&#xff0c;并继续执行下去else程序没有错误&am…...

代码随想录二刷 | 链表 | 翻转链表

代码随想录二刷 &#xff5c; 链表 &#xff5c; 翻转链表 题目描述解题思路 & 代码实现双指针法递归法 206.翻转链表 题目描述 给你单链表的头节点 head &#xff0c;请你反转链表&#xff0c;并返回反转后的链表。 示例 1&#xff1a; 输入&#xff1a;head [1,2,3,4…...

【2026最新版|收藏备用】用Skill简化大模型知识库连接,小白程序员入门必看

本文专为2026年入门大模型的小白、程序员打造&#xff0c;详细介绍如何通过Skill技术简化大模型与外部知识库的对接流程&#xff0c;对比传统RAG方法的繁琐痛点&#xff0c;手把手讲解Markdown&#xff08;.md&#xff09;格式文档的存储技巧、SKILL.md文件的技能描述与导航方法…...

CANN/hcomm梯度切分策略设置

set_split_strategy_by_size 【免费下载链接】hcomm HCOMM&#xff08;Huawei Communication&#xff09;是HCCL的通信基础库&#xff0c;提供通信域以及通信资源的管理能力。 项目地址: https://gitcode.com/cann/hcomm 产品支持情况 Ascend 950PR/Ascend 950DT&#…...

OpenClaw安全审计:AI驱动的自动化配置检查与隐私保护实践

1. 项目概述与核心价值 最近在折腾我的 OpenClaw 机器人&#xff0c;这玩意儿功能是越来越强大了&#xff0c;能接各种消息渠道&#xff0c;还能调用五花八门的工具。但功能一多&#xff0c;配置就复杂&#xff0c;安全问题也跟着冒头。比如&#xff0c;你是不是也担心过 API 密…...

DouyinLiveRecorder:一键录制40+平台直播的终极解决方案

DouyinLiveRecorder&#xff1a;一键录制40平台直播的终极解决方案 【免费下载链接】DouyinLiveRecorder 可循环值守和多人录制的直播录制软件&#xff0c;支持抖音、TikTok、Youtube、快手、虎牙、斗鱼、B站、小红书、pandatv、sooplive、flextv、popkontv、twitcasting、wink…...

数据驱动的可解释AI:从特征归因到样本影响分析的实践指南

1. 项目概述&#xff1a;当数据挖掘遇见可解释AI在深度学习的浪潮席卷了几乎所有领域之后&#xff0c;我们获得了一个又一个性能惊人的“黑箱”模型。作为一名长期在数据科学一线工作的从业者&#xff0c;我见证了模型精度从90%提升到99.9%的激动&#xff0c;也亲历了当业务方或…...

Hugging Face模型量化超快

&#x1f493; 博客主页&#xff1a;瑕疵的CSDN主页 &#x1f4dd; Gitee主页&#xff1a;瑕疵的gitee主页 ⏩ 文章专栏&#xff1a;《热点资讯》 模型量化超速&#xff1a;解锁移动AI的实时推理潜力目录模型量化超速&#xff1a;解锁移动AI的实时推理潜力 引言&#xff1a;速…...

从CC2530F256到.hex:IAR工程配置中那些新手必踩的坑与避坑指南

从CC2530F256到.hex&#xff1a;IAR工程配置中那些新手必踩的坑与避坑指南 当你第一次在IAR Embedded Workbench中为CC2530F256创建工程时&#xff0c;可能会觉得整个过程就像在迷宫中穿行。特别是当教程只告诉你"点击这里"、"选择那个"&#xff0c;却不解…...

基于OpenClaw智能体生态系统的神经多样性家庭支持平台设计

1. 项目概述&#xff1a;一个面向神经多样性家庭的支持性智能体生态系统最近在开源社区里&#xff0c;我注意到一个名为“neurofamily-support-openclaw-agent-ecosystem”的项目&#xff0c;它来自boktoday这个组织。这个标题本身就很有意思&#xff0c;它像是一个技术愿景的浓…...

AI赋能眼科诊疗:深度学习在视网膜疾病影像分析中的实践与展望

1. 项目概述&#xff1a;当AI遇见眼底世界作为一名长期关注医疗科技交叉领域的从业者&#xff0c;我亲眼见证了人工智能从实验室概念演变为临床医生得力助手的过程。在所有医学影像分析的应用中&#xff0c;眼科&#xff0c;尤其是视网膜疾病的诊疗&#xff0c;堪称AI落地最成功…...

CLaRa框架:融合检索与生成的连续潜在推理技术

1. CLaRa框架概述CLaRa&#xff08;Continuous Latent Reasoning&#xff09;是一种融合检索与生成能力的统一框架&#xff0c;其核心创新在于通过连续潜在空间建模实现推理过程的端到端优化。我在实际NLP项目中发现&#xff0c;传统方法通常将检索和生成视为独立模块&#xff…...