打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
利用arcpy批量出图
最近在用ArcGIS10.0出图,出的图比较多,就在网上找了个利用python批量出图的小程序:(path中为路径,res为出图dpi)原网址:http://hi.baidu.com/dengsilou/item/c13b82f6535ce7cf521c2671第一个版本:
#用途:将一个文件夹中的所有mxd文件(不包括子目录)导出成jpg图片,并放置到该文件夹中。
#用法:用记事本打开,将参数path更改成指定的文件路径,注意将反斜杠“”改成正斜杠“/”;res是设定的dpi值。
#运行方法:打开Python2.6中的IDLE,File - > Open -> run -> run Module。
import arcpy, os, time
path = r'D:/workspace'
res = 100
print '程序开始:' + str(time.ctime())
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())
————————————————————————————————————————————————
————————————————————————————————————————————————
第二个版本:
#用途:将一个文件夹中的所有mxd文件(包括所有子目录中的mxd文件)导出成jpg图片,并存储到该文件夹下。
import arcpy, os, time
path = r'D:/workspace'
res = 200
print '程序开始:' + str(time.ctime())
for root, dirs, files in os.walk(path):
for afile in files:
if afile[-4:].lower() == '.mxd':
mxd = arcpy.mapping.MapDocument(os.path.join(root,afile))
arcpy.mapping.ExportToJPEG(mxd, os.path.join(path,afile[:-3] + 'jpg'), resolution = res)
del mxd
print '程序结束:' + str(time.ctime())
———————————————————————————————————————————————————
说明:
1.对于方法二可以将path改成root,这样就可以将jpg文件放入每一个mxd对应的目录下面,而不是放到path制定的目录下面。
2.使用filegeodatabase比personalgeodatabase导出时会有效率上的提升,以我的图按dpi=10来算有10%的提升。
——————————————————————————————————————————————————
———————————————————————————————————————————————————
另外作者弄了个改进版,增加了出图后自动关机功能:
import arcpy, os, time
path = ur'C:Documents and SettingsAdministrator桌面导图'
res = 100
#mode1可选值为0或1,0表示导出path这个目录及其所有层次子目录中的mxd,1表示只导出path这个目录的mxd文件。
mode1 = 0
#mode2可选值为0或1,0表示mxd导出的图片放到与mxd相同的文件夹下,1表示放到path下面。
mode2 = 0
#mode3可选值为0或1,0表示导图结束后不关机,1表示结束后关机。
mode3 = 0
def main():
for root, dirs, files in os.walk(path):
if mode2 == 0:
temp_path = root
else:
temp_path = path
for afile in files:
if afile[-4:].lower() == '.mxd':
mxd = arcpy.mapping.MapDocument(os.path.join(root,afile))
arcpy.mapping.ExportToJPEG(mxd, os.path.join(temp_path,afile[:-3] + 'jpg'), resolution = res)
del mxd
print ur'succeed in exporting file ' + afile[:-3] + ur'jpg'
if mode1 != 0:
break
if mode3 != 0:
os.system('shutdown -s -t 120')
if __name__ == "__main__":
main()
自己用了之后感觉很不错!
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
arcpy自动制图实战(arcpy.mapping迁移至arcpy.mp)
Python进阶之文件I/O高效处理技巧
ArcGis
ArcGIS 被忽略的性能损失可能影响巨大
【Python实战】教你如何用Python批量裁剪图片,轻松提升工作效率!
ArcGIS消除图斑重叠错误
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服