arcpy批量导出图且图名为shp属性值

2024-06-06 10:04

本文主要是介绍arcpy批量导出图且图名为shp属性值,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

1.打开arcmap加载需要导出的图。需求是逐村显示“村界内图斑”并导出为图,在导出每个村时不显示周围的村和“村界内图斑”

2.arcmap上方空白处右键打开“数据驱动页面”

3.在“数据驱动页面”工具条点击第一个图标,打开“设置数据驱动页面” 

4.在“设置数据驱动页面” 勾选“启用数据驱动页面”,在“索引图层”中选择需要驱动的图层(按照哪个图层的来批量出图) ,名称字段(按照驱动图层的哪个字段分别出图,该字段应具有唯一性),排序字段(用哪个字段排序,一般用名称字段排序)。需要对索引图层备份并加载进acrmap,一个作为索引图层,一个用于页面定义查询(可以使用当前数据驱动页面过滤要素,属性表必须具有包含页面名称的字段)。图层选择“村界-副本”,名称字段选择“XZBM”,排序字段选择“XZBM”

5.点击“数据驱动页面”的三角形前进后退按钮,检查屏幕中间的村和“村内图斑”是否跟着跳转,此时仍显示屏幕中间村周围的村和“村内图斑”

6.设置“页面定义查询”。在“村界”和“村界内图斑”分别右键点击“属性”,打开“定义查询”,点击“页面定义”,在“页面定义查询”窗口,勾选“启动”,设置“页面名称字段”(需与“设置数据驱动页面”的“名称字段”对应),选择“匹配”

 7.不显示数据驱动页面图层(“村界-副本”),检查是否显示当前村村界外的村和“村内图斑”,

8.在arcmap菜单栏“视图” -“布局视图”中设置地图大小、添加地图要素(图例、指北针、图名、标注等)

9.在arcmap中打开python界面,输入代码,设置图名需要携带字段所在shp和字段名、导出路径,最后运行

mxd = arcpy.mapping.MapDocument("CURRENT")
file='E:\d_software\d_2PYthon\批量导出表带字段\村界.shp'#图名需要携带字段所在shp
field_name ='XZBM'#图名需要携带字段
cur=arcpy.da.SearchCursor(file,field_name)t_list=[]for row in cur:t_list.append(row[0])t_list.sort()#根据“数据驱动页面”排序字段选择确定是否sortfor pageNum in range(1, mxd.dataDrivenPages.pageCount + 1):mxd.dataDrivenPages.currentPageID = pageNumarcpy.mapping.ExportToPNG(mxd, r"E:\新建文件夹\a"+str(t_list[pageNum-1]) + ".png")#输出路径
del mxd

10.检查运行结果。检查生成图片的图名是否与“数据驱动页面”的字段一一对应

这篇关于arcpy批量导出图且图名为shp属性值的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1035797

相关文章

使用EasyPoi快速导出Word文档功能的实现步骤

《使用EasyPoi快速导出Word文档功能的实现步骤》EasyPoi是一个基于ApachePOI的开源Java工具库,旨在简化Excel和Word文档的操作,本文将详细介绍如何使用EasyPoi快速... 目录一、准备工作1、引入依赖二、准备好一个word模版文件三、编写导出方法的工具类四、在Export

vue监听属性watch的用法及使用场景详解

《vue监听属性watch的用法及使用场景详解》watch是vue中常用的监听器,它主要用于侦听数据的变化,在数据发生变化的时候执行一些操作,:本文主要介绍vue监听属性watch的用法及使用场景... 目录1. 监听属性 watch2. 常规用法3. 监听对象和route变化4. 使用场景附Watch 的

前端导出Excel文件出现乱码或文件损坏问题的解决办法

《前端导出Excel文件出现乱码或文件损坏问题的解决办法》在现代网页应用程序中,前端有时需要与后端进行数据交互,包括下载文件,:本文主要介绍前端导出Excel文件出现乱码或文件损坏问题的解决办法,... 目录1. 检查后端返回的数据格式2. 前端正确处理二进制数据方案 1:直接下载(推荐)方案 2:手动构造

Ubuntu向多台主机批量传输文件的流程步骤

《Ubuntu向多台主机批量传输文件的流程步骤》:本文主要介绍在Ubuntu中批量传输文件到多台主机的方法,需确保主机互通、用户名密码统一及端口开放,通过安装sshpass工具,准备包含目标主机信... 目录Ubuntu 向多台主机批量传输文件1.安装 sshpass2.准备主机列表文件3.创建一个批处理脚

C#实现SHP文件读取与地图显示的完整教程

《C#实现SHP文件读取与地图显示的完整教程》在地理信息系统(GIS)开发中,SHP文件是一种常见的矢量数据格式,本文将详细介绍如何使用C#读取SHP文件并实现地图显示功能,包括坐标转换、图形渲染、平... 目录概述功能特点核心代码解析1. 文件读取与初始化2. 坐标转换3. 图形绘制4. 地图交互功能缩放

MySQL批量替换数据库字符集的实用方法(附详细代码)

《MySQL批量替换数据库字符集的实用方法(附详细代码)》当需要修改数据库编码和字符集时,通常需要对其下属的所有表及表中所有字段进行修改,下面:本文主要介绍MySQL批量替换数据库字符集的实用方法... 目录前言为什么要批量修改字符集?整体脚本脚本逻辑解析1. 设置目标参数2. 生成修改表默认字符集的语句3

JAVA实现亿级千万级数据顺序导出的示例代码

《JAVA实现亿级千万级数据顺序导出的示例代码》本文主要介绍了JAVA实现亿级千万级数据顺序导出的示例代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面... 前提:主要考虑控制内存占用空间,避免出现同时导出,导致主程序OOM问题。实现思路:A.启用线程池

springboot集成easypoi导出word换行处理过程

《springboot集成easypoi导出word换行处理过程》SpringBoot集成Easypoi导出Word时,换行符n失效显示为空格,解决方法包括生成段落或替换模板中n为回车,同时需确... 目录项目场景问题描述解决方案第一种:生成段落的方式第二种:替换模板的情况,换行符替换成回车总结项目场景s

SpringBoot分段处理List集合多线程批量插入数据方式

《SpringBoot分段处理List集合多线程批量插入数据方式》文章介绍如何处理大数据量List批量插入数据库的优化方案:通过拆分List并分配独立线程处理,结合Spring线程池与异步方法提升效率... 目录项目场景解决方案1.实体类2.Mapper3.spring容器注入线程池bejsan对象4.创建

Python实现Excel批量样式修改器(附完整代码)

《Python实现Excel批量样式修改器(附完整代码)》这篇文章主要为大家详细介绍了如何使用Python实现一个Excel批量样式修改器,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一... 目录前言功能特性核心功能界面特性系统要求安装说明使用指南基本操作流程高级功能技术实现核心技术栈关键函