Arcgis 按图斑批量出图(按卫片图斑批量出图) 批量出JPG图

主要功能:按图斑批量出图

实际应用案例:有一个卫片图斑层(1、2、3卫片图斑),按1 2 3每个图斑出一个JPG图

主要参考文档:https://www.cnblogs.com/sunnyeveryday/p/6506347.html

功能准备:

第一 Arcgis10以上 9不行

第二 用 Data Driven Pages (数据页面驱动)

主要两个步骤

第一 用Data Driven Pages 配置好

第二 用python程序 实现批量出图

前提条件:

1. 安装了Arcgis10.2

2. 不安装notepad++,完全可以,按txt打开编辑就行,或者把下面的代码复制到txt,然后保存,把后缀改为.py,然后双击执行就可以。

执行前确定,存的文件夹存在,路径没有错误

如果安装个notepad++ 文本编辑器,执行python程序方便一点,下面是一点python的教程

其实没必要看后面的教程

https://www.liaoxuefeng.com/wiki/001374738125095c955c1e6d8bb493182103fac9270762a000

下面是具体步骤

1. Data Driven Pages 这个自己看看,基本很好设置

打开ArcMap的Customize->Toolbars->Data Driven Pages,设置好图层、名称字段

(不能重复mxd.dataDrivenPages.pageNameField.name后面用到了,重复会发现图片缺失,因为文件名一样,前面被覆盖了;

)、排序字段、显示范围和比例尺,保存地图

mapName=mxd.dataDrivenPages.pageRow.getValue(mxd.dataDrivenPages.pageNameField.name)

这个是文件名,先in range(1,mxd.dataDrivenPages.pageCount+1): 这里改成in range(1,6):

出个6个试试看

2.layout 设置

这边可以 设置 动态文本,看看动态文本的帮助,就是说可以在界面上 显示当前图斑的,其他信息,比如 当前图斑行的,其他字段,比如所在村,卫片图斑的面积,卫片图斑的类型,卫片的图斑的其他信息 都可以

3. 在记事本打开( notepad++文本编辑器,有执行按钮),编辑两个路径 把下面这个文件另存为py后缀的文件,然后执行就行了。

# coding:utf-8

import arcpy

mxd=arcpy.mapping.MapDocument(r"F:\GeoData\ChinaArea\ChinaVector.mxd")

for pageNum in range(1,mxd.dataDrivenPages.pageCount+1):

mxd.dataDrivenPages.currentPageID=pageNum

mapName=mxd.dataDrivenPages.pageRow.getValue(mxd.dataDrivenPages.pageNameField.name)

print mapName

arcpy.mapping.ExportToPNG(mxd,r"F:\GeoData\ChinaArea\Province\\"+mapName+".png")

print 'ok'

# 可以修改文件名称 ExportToPNG 可以看其他类似的ExportToXXX函数,设置jpg的大小等,参数,程序里边不要出现中文,中文可能失败,比如文件路径等最好不要有中文

4 到相应文件夹 查看这批JPG或者png格式的文件

F:\GeoData\ChinaArea\ChinaVector.mxd  这个是mxd存的地方 F:\GeoData\ChinaArea\Province\ 这个文件夹必须存在,

可以简单一点F:\GeoData f盘搞个文件夹GeoData

range(1,mxd.dataDrivenPages.pageCount) 应该是mxd.dataDrivenPages.pageCount+1,以前不懂,现在看python是包括1,不包括后面的range(1,6) 只取到5

----20201010更新了下面的程序,多了个过滤  应用场景,就是一个图版一个图(相邻图版不显示,过滤掉了)

特别适合多个图斑相邻,图斑又很小的时候;或者分村出图的时候;

比如 30个村 每个村出一个图,把不是本村的过滤掉

--# coding:utf-8
import arcpy
mxd=arcpy.mapping.MapDocument(r"G:\lin.mxd")
for lyr in arcpy.mapping.ListLayers(mxd):
    if lyr.name.startswith("cun12"):
      dlyr=lyr
    if lyr.name.startswith("lz01"):
      dlyr01=lyr
for pageNum in range(1,mxd.dataDrivenPages.pageCount+1):#mxd.dataDrivenPages.pageCount+1
  mxd.dataDrivenPages.currentPageID=pageNum
  mapName=mxd.dataDrivenPages.pageRow.getValue(mxd.dataDrivenPages.pageNameField.name)
  print '[XZQMC] ='+"'"+mapName+"'"
  dlyr.definitionQuery ='[XZQMC] ='+"'"+mapName+"'"
  dlyr01.definitionQuery ='"LB_NAME" ='+"'"+mapName+"'"
  # shap文件这么过滤"TBYBH" ='XZ10065' 如果是数据库文件,过滤方式不一样的数据库格式[TBYBH] = 'XZ10009'
  # 数据库格式 dlyr.definitionQuery ='[TBYBH] ='+"'"+str(mapName)+"'"
  # shap格式 dlyr.definitionQuery ='"TBYBH" ='+"'"+str(mapName)+"'"
  arcpy.mapping.ExportToPNG(mxd,r"G:\lin500\\"+mapName+".png",resolution=500)
print 'ok'

---这个是开了2个动态过滤,在cun12和lz01两个层里边开的过滤,可以开一个;

----2021.8.24 增加红色的地方(支持中文),改了紫色的地方,否则文件名如果mapName是数字会报错

# coding:utf-8
import arcpy
import sys 
reload(sys) 
sys.setdefaultencoding('utf8')
mxd=arcpy.mapping.MapDocument(r"D:\gd.mxd")
for pageNum in range(1,mxd.dataDrivenPages.pageCount+1):
         mxd.dataDrivenPages.currentPageID=pageNum
         mapName=mxd.dataDrivenPages.pageRow.getValue(mxd.dataDrivenPages.pageNameField.name)
         print mapName
         arcpy.mapping.ExportToPNG(mxd,r"D:\FKWT\\"+str(mapName)+"da22.png",resolution=200)
----

Arcgis 按图斑批量出图(按卫片图斑批量出图) 批量出JPG图(一个图斑一个jpg,一条数据一个jpg)相关推荐

  1. mysql命令行批量添加数据_mysql命令行批量插入100条数据命令

    先介绍一个关键字的使用: delimiter 定好结束符为"$$",(定义的时候需要加上一个空格) 然后最后又定义为";", MYSQL的默认结束符为" ...

  2. insert批量插入500ms_如何快速安全的插入千万条数据

    作者:ksfzhaohui 最近有个需求解析一个订单文件,并且说明文件可达到千万条数据,每条数据大概在20个字段左右,每个字段使用逗号分隔,需要尽量在半小时内入库. 思路 1.估算文件大小 因为告诉文 ...

  3. arcgis怎么只显示一个图斑_森林监测、图斑核查必备技能

    点击上方蓝字可加关注 微信公号:ArcGisdada 互助.共享.学习 如火如荼的图斑核查.森林监测工作又开始了.现今的工作不再是摸着石头过河,而是批量化的机器识别图处理.国家下发到省州市的图斑样地小 ...

  4. html批量处理图片大小,美图看看批量处理百张图片(大小、格式以及名称的批量编辑)...

    正值暑假,同学们都喜欢三五结伴一起出去走走.沿途拍下的那些美丽风景照片,如何快速批量上传到自己的QQ空间呢?先用美图看看将这些高清数码大图批量处理一下,再一键上传到QQ相册,就是最方便快捷的办法. 一 ...

  5. 一次批量抓取搜款网多个宝贝链接里的主图和细节图

    亲 您们在复制商品图片素材时,还是手动一张一张地保存吗?今天小编来给大家分享一个批量下载的技巧,利用载图助手,可以一次批量复制多个商品链接里的图片素材,并可自行分类保存,具体的操作方法下面跟随小编一起 ...

  6. Qt编写地图综合应用49-地图类型(街道图、卫星图)

    一.前言 地图类型主要是两种,街道图和卫星图,平时我们看到的默认的都是街道图,无论是街道图还是卫星图,都是一张张图片文件组成的,级别越高,图片越是清晰,一般都会支持到19级的地图,相当于精确到20米内 ...

  7. 卫片图斑_制作和下发卫片执法图斑

    原标题:制作和下发卫片执法图斑 (刘浩军 摄) 土地卫片执法图斑 中国国土勘测规划院(以下简称规划院)利用2018 年度和2019 年度土地变更调查遥感监测成果,提取变化信息后,逐图斑截取包含变化图斑 ...

  8. 2345看图王阻止文件删除和U盘弹出 - 解决方案

    2345看图王阻止文件删除和U盘弹出 - 解决方案 前言 2345看图王 解决方案 临时方案 永久方案 前言 用户在使用2345看图王查看图片后,可能会出现图片文件/文件夹无法删除或U盘无法弹出等问题 ...

  9. 如何在graphpad表示出正负误差_Graphpad Prism:SCI科研论文中误差连线图怎么做

    这是一篇高分SCI论文中的图,图中间为均值.均值上下方的浅色为数据误差,即误差连线图.今天跟大家分享如何使用Graphpad Prism作这么好看的图! 打开软件,选择XY,按照下图新建折线图: 输入 ...

最新文章

  1. Spring中的Ibatis之SqlMapClientDaoSupport
  2. java开机自动运行,怎么用java实现程序开机自动运行
  3. Winform实现漂亮动画-小火车
  4. spring mvc项目在IDEA下使用jrebel热部署报错!!
  5. OSO.EXE病毒专杀工具
  6. jsp form提交到后台中文乱码_2019.6.12 servlet 3.0 和 JSP
  7. 魔方层先法简明图解,最少记6个公式即可完成魔方六面
  8. Linux shell脚本详解及实战(一)——shell简介、shell变量及脚本规范
  9. java编译过程_Java编译运行过程
  10. yb3防爆电机型号含义_YBX3防爆电机
  11. Python学习 Task01 :变量,运算符,与数据类型
  12. Android APP极光推送取消关联启动配置
  13. linux学习篇 之 复制、黏贴、删除、撤销
  14. 推荐系统之AFM代码详解
  15. tcp报头及报文格式
  16. IE浏览器代理服务器总是自动打开,取消勾选隔一会又会打开
  17. 01背包与完全背包(动态规划)(01背包)
  18. java计算一元二次方程的根_java基础 --- 求一元二次方程的根(分情况讨论)-Go语言中文社区...
  19. IDEA报错Error:Module 'shop-common' production: java.lang.IndexOutOfBoundsException
  20. ADP124ARHZ-1.8-R7 5.5 V输入、500 mA、低静态电流、CMOS线性调节器,31种固定输出电压选项

热门文章

  1. QUANT[1]:从零开始量化交易
  2. QNX与Linux两家未来有望独霸车载电子操作系统
  3. 武汉市个人社保缴费证明网上打印操作流程
  4. 【专题】用ST表解决RMQ刷题总结
  5. 计算机专业选i5八代还是i7八代,八代i5真的比七代i7更好?看看玩家的测试就知道!...
  6. 如何用js实现简单的页面html动态加载(“看更多“/页面折叠功能)
  7. Abbkine通用型免疫(共)沉淀试剂盒解决方案
  8. vue+echarts+3D地图 制作大屏
  9. 为何上千名科技专家呼吁暂停大型AI研究?
  10. AC695x学习笔记(5):空间问题