首页 > 编程语言 >使用Python制作疫情变化图

使用Python制作疫情变化图

时间:2022-09-30 21:01:27浏览次数:68  
标签:疫情 Python arcpy 地图 文档 path mxd 制作 图层

使用Python制作疫情变化图_数据

Python可以简化这个工作,提高我们的工作效率。

使用Python制作疫情变化图_ArcGIS_02

ArcPy是一组提供了地理数据分析、数据转换、数据管理和地图自动化的工具包,会随ArcMap一同安装。本次我们用到的是ArcPy的地图自动化(Mapping)模块。

使用Python制作疫情变化图_字段_03

Mapping模块 

ArcPy的Mapping模块主要是用于操作现有地图文档 (.mxd) 和 图层文件 (.lyr) 的内容,还提供自动执行导出和打印的功能。以下列举了ArcPy的Mapping模块的部分功能,便于大家理解。

  • 创建有关地图文档中所含信息(如数据框坐标系、图层数据源、数据源损坏的图层或布局元素位置)的报告。
  • 更新、修复或替换地图文档或图层文件中的图层数据源。
  • 更新图层符号系统而无需实际打开地图文档。
  • 查找并替换文件夹内所有地图文档的文本字符串。
  • 将地图文档保存至之前的 ArcGIS 版本,以便分发。
  • 更新地图文档元数据(例如,关键字、摘要和描述)。
  • 使用地图导出命令批量创建地理数据,例如,由数据框中要素列表驱动的一系列 GeoTIFF 图像。
  • 自动创建和管理要通过 ArcGIS Server 发布的地图服务。
  • 构建多种 PDF 地图册。

划重点:自动化制图是要使用现有的地图文档和图层文件,所以还是需要先配置好一幅地图。

代码 

以下代码是根据字段批量保存mxd。大致思路如下:


  1. 访问地图文档,使用 MapDocument (arcpy.mapping)
  2. 访问第一个数据框
  3. 访问第一个图层
  4. 读取要素类代表确诊人数的字段
  5. 图层是分级色彩渲染方法的话,替换字段
  6. 保存地图文档
  7. 释放地图文档
import arcpy

mxd = arcpy.mapping.MapDocument(u'F:\制作黑龙江疫情变化图\结果\黑龙江疫情变化图v10.mxd')
df = arcpy.mapping.ListDataFrames(mxd)[0]
lyr = arcpy.mapping.ListLayers(mxd, u'黑龙江省地级市疫情数据',df)[0]
featureclass = u'F:\制作黑龙江疫情变化图\结果\黑龙江省地级市疫情数据.shp'

for field in arcpy.ListFields(featureclass, u'*月*'):
if lyr.symbologyType == "GRADUATED_COLORS":
lyr.symbology.valueField = field.name
mxd.saveACopy(field.name + '.mxd')
del mxd

使用Python制作疫情变化图_字段_04


批量导出图片代码:

import arcpy, os, time

#mxd存放的文件夹
path = u'F:\制作黑龙江疫情变化图\结果'

#输出图片的分辨率
res = 500
print '程序开始:' + str(time.ctime())

#图片存储在mxd文件夹

for afile in os.listdir(path):
if afile[-3:].lower() == 'mxd':
mxd = arcpy.mapping.MapDocument(os.path.join(path, afile))
arcpy.mapping.ExportToJPEG(mxd, os.path.join(path, afile[:-3] + 'jpg'), resolution = res)
del mxd
print '程序结束:' + str(time.ctime())

标签:疫情,Python,arcpy,地图,文档,path,mxd,制作,图层
From: https://blog.51cto.com/u_15483489/5727334

相关文章

  • 9、python正式篇 数据类型内置方法和字符编码
    目录一、数据类型内置方法1、字典dict内置方法1.1、类型转换2、字典必须要掌握的方法2.1、取值方式2.2、修改内部数据值2.3、删除数据2.4、统计字典中键值对个数2.5、字典......
  • 配置IIS使用Python
    打开IIS管理器选择功能视图,然后选择ISAPI和CGI限制打开后,在右侧操作,点击添加,会出现下图所示按图中提示填写相应部分,在选择路径时,默认可能是dll文件,改成全部文......
  • 解决Anaconda关联VSCode使用conda运行Python报错(无法将“conda”项识别为 cmdlet、函
    错误刚安装好Anaconda之后创建好VSCode环境运行Python会报错,但是仍然是可以正常运行,强迫症想解决报错PSC:\Users\Satan\Documents\Code\Python>condaactivatePyth......
  • Python爬虫详解
    1、任务介绍需求分析爬取豆瓣电影Top250的基本信息,包括电影的名称,豆瓣评分,评价数,电影概况,电影链接等。https://movie.douban.com/top2502、基本流程2.1、准备工作通......
  • python調用wasm
    安裝wasm-pack cargoinstallwasm-pack新建rustlib項目 cargonew--lib<projectname>配置Cargo.toml [package] name="rust_wasm" version="......
  • Python抖音视频去水印,并打包成exe可执行文件
    前言抖音里面的视频保存之后,会发现全都带有水印,所以如何解决视频去除水印就很有必要,所以教程来了,本次教程不仅会教大家如何去除视频里的水印,并且教大家将程序制作成exe可......
  • Android Studio 制作微信界面
    最近学习了安卓开发的相关知识,下面通过实践练习来巩固学到的知识。设计的目标是完成微信的门户页面框架设计。最终要实现的效果如下:在页面的顶端,是微信的名字“Wechat”......
  • Python学习路程——Day08
    Python学习路程——Day08目录Python学习路程——Day08字典相关操作1、类型转换2、字典取值3、修改值的数据与新增键值对4、删除数据5、统计字典中键值对的个数6、字典三剑......
  • Python Markdown解析利器----mistune详细用法记录
    @目录小试牛刀开始使用mistunemistune简单使用mistune高级用法(自定义mistune)mistune中插件插件使用方法(以删除线(strikethrough)为例)插件包名内置插件删除线(striket......
  • Python tkinter 做一个VIP视频解析的桌面软件,100%你会爱上它
    前言tkinter:GUI桌面应用开发模块,写软件界面你还可以打包成exe软件,哪怕你没有python环境,一样可以用虽然不一定要有界面,但是有界面,用户体验很棒…环境使用......