推荐星级:
  • 1
  • 2
  • 3
  • 4
  • 5

基于Python的ArcGIS批量地图输出方法

更新时间:2019-12-27 14:31:44 大小:3M 上传用户:songhuahua查看TA发布的资源 浏览次数:2425 下载积分:1分 出售积分赚钱 评价赚积分 ( 如何评价?) 标签:pythonarcgis批量地图输出 收藏 评论(0) 举报

资料介绍

在Arc GIS地理信息系统开发过程中,经常需要将地图按照一定的属性和比例要求导出为相应图片。一般情况下我们会选择直接使用Arc GIS工具箱直接导出图片,但当我们需要导出多张图片时,就显得非常麻烦,本文介绍了一种解决反复劳动的简单方法,使用Python制作批量地图输出小工具。


部分文件列表

文件名 大小
基于Python的ArcGIS批量地图输出方法.pdf 3M

部分页面预览

(完整内容请下载后查看)
   
基于Python的ArcGIS批量地图输出方法  
刘桂英  
岭南师范学院信息学院  广东湛江  524048  
【摘要在ArcGIS地信息系统开发过程常需要将地图按照  
一定的属性和比例要求导出为相应图片般情况下我们会选择直接  
使用ArcGIS工具箱直接导图片当我们需图片时显得  
非常麻烦文介种解决反复劳动的简单方法使用Python制作  
批量地图输出小工具。  
中第一个为起始路径二个为起始路径下的文件夹三个是起  
始路径下的文件后利用for循环进行遍历。  
2.3图层遍历  
在地图文档(.mxd)中一般包含很多图层们需要将每个图层  
都输出成JPG图样就需要对图层的遍历arcpy库提  
完整的制图模块库arcpy.mapping模块库主要是用于操作现有  
地图文档(.mxd)和图层文件(.lyr)的内容历图层需要用到arcpy  
提供的一个方法arcpy.mapping.ListLayers(arcpy.mapping)  
方法返回一个包含所有图层对象的Python list后我们就可以用  
Python遍历list的方法遍历图层。  
【关键词Pythonarcgisarcpy图输出  
引言  
在基于ArcGIS的地理信息系统的开发常需要将地图按  
照一定的属性和比例要求导出为相应图般情况下我们会选  
择直接使用ArcGIS工具箱直接导出图当我们需要导出多张  
图片显得非常麻烦而ArcGIS提了多编程接口和类  
以让我们方便地自己定制各种2次开发地理信息系统和工具。  
ArcGIS有提供C#JAVA传统语言的AO接有提供VB和  
Python这类解析性语言的接口AO接口过于复杂用于用来二  
次开发GIS系统用来制作小型辅助工具有点大材小用VB将近  
淘汰边缘且新版本ArcGIS默认不支要安装以我们选  
择了Python作为小工具制作的辅助语言。  
2.4输出JPG格式的地图  
arcpy库还提供自动执行导出和打印的函数里就是使用了  
一个导出JPG格式的函数ExportToJPEG。  
该函数的定义如  
ExportToJPEG(map_documentꢀ  out_ jpegꢀ  {data_  
frame {df_export_width {df_export_height {resolution  
{world_file {color_mode {jpeg_quality {progressive  
期中前两项为必选参数他的可选参数一个为二个  
他可选参数为一些地图属性缩小比例jpg图片生成质量  
等。  
Python是一种不受局限的平台的开源编程于解析性脚  
本语言Python具有脚本语言中最丰富和最强大的类库且能把  
其他语言制作的各种模块轻松地联结在一起Python非常简单易  
发效率极高。  
批量地图输出总程序如  
import arcpy  
import os  
1.arcpy简介  
开始  
arcpy是ArcGIS的一个  
path = 'mxd目录'      
Python包含对地图操作和  
  for rootꢀ dirsꢀ files in os.walk(path)ꢁ  
     for onefile in filesꢁ  
mxd是否  
遍历完毕  
地图代数的支持持编辑处  
理和几何操作Python已经与  
        if onefile[—4ꢁ].lower() == '.mxd'  
         mxd = arcpy.mapping.MapDocument(os.path.  
join(rootꢀ onefile))  
获取mxd的图层列  
ArcGIS高度集成便实现GIS  
的各种处理流程。  
for lyr in arcpy.mapping.ListLayers(mxd)ꢁ  
lyr.visible = True  
2.现方法  
图层是否  
遍历完毕  
实现将mxd文件批量地图  
输出需要做两次遍历才能把所  
           arcpy.mapping.ExportToJPEG(mxdꢀ os.path.  
join(pathꢀ  onefile[ꢁ—3]  +  lyr.name  +  'jpg')ꢀ  resolution  =  
400)  
有地图输出图1所示  
打开该图层  
遍历mxd文件目录中的mxd文  
后将每个文件中所包含的  
lyr.visible = False  
将该图层输出  
图层遍历出来取每个图层  
         del mxd  
要先将图层开启显示  
3.束语  
后调用arcpy库的方法将图层输  
本文介绍种利用Python对ArcGIS批量地图输出的方法,  
通过程序可以看到Python程序非常整合和简理利用Python  
和arcpy库会对GIS开发效率提高极大的帮助。  
关闭图层  
出成JPG文件成后关闭该图  
后遍历完毕地图也输出  
结束  
完毕。  
图1 流程图  
 
参考文献  
2.1导入arcpy库  
[1ArcGIS10.1 help.  
在Python中操作使用ArcGIS的功能须先导入ArcGIS提供  
的Python类库arcpyarcpy库是ArcGIS产自带的需要额外  
安装入方法是:  
[2]朱道强ꢀ关海涛.Python在ArcGIS中的应用  [J].  测绘空间  
信息 2013ꢀ 36(7): 152—154.  
[3]邵保华ꢀ田学志.基于Python的Arcgis地理处理应用 [J]. 林业  
勘查设 2012ꢀ (2).  
import arcpy  
2.2遍历子目录  
基金项目  
在Python个非常简单目录遍历方法os.walk()  
函数会返回一个三元tupple(dirpathꢀ dirnamesꢀ filenames)  
湛江市科技攻关计划项目  
基金编号2013B01145  
  科技与企业  
94  

推荐下载

全部评论(0)

暂无评论