ArcGIS Server管理工具之批量发布动态地图服务工具.md

友好阅读连接:(http://swj.me/2015/08/26/batchPublishtools/)python

update0918:git

  1. 修复了建立连接文件时而出错的bug
  2. 修复了在24011的警告已处理的状况下,依然出现提示的异常。
  3. 将多个脚本文件,压缩成一个脚本文件。压缩后的脚本文件名称为Publishservice.py,使用以下命令执行工具
python Publishservice.py
  1. 从新建立了一个repo,更改了脚本git 存放的地址,新地址以下:
    BathPublishMapServices

==============================================================================github

介绍

在平常工做中,常常碰到用户屡次诉求须要批量发布服务。esri官方发布方式,只能是经过arcMap链接server去逐个发布。可是其也为开发者提供了批量发布服务两种方式:一种是经过arcpy的脚本,一种是经过其提供的arcgis admin apiwindows

本工具使用arcpy的形式实现,并使用cmd 命令行执行。一开始经过tkinter ui的形式进行实现。可是最后发现tkinter太不人性,果断弃之。api

环境

  • windows
  • python 2.7.x
  • arcpy 10.1+服务器

    实现流程

    实现流程便是arcgis for server的发布流程
  1. 输入GIS服务器的信息
    包括GIS服务器的IP,站点管理员用户名和密码,mxd文件所在的文件夹,当集群环境时,指定服务发布的cluster,默认是的default,服务发布到server的目录名,默认是root
  2. 建立server连接文件
    在当前脚本执行的目录下,生成一个后缀为.ags 的server连接文件
  3. 遍历mxd文件
    遍历mxd文件夹中的mxd文件,并检查该文件是否存在数据源损坏
  4. 生成sddraft文件
  5. 过渡sd文件
  6. sd文件上传到服务器端

使用

去下面地址下载脚本。将整个BatchPublishMapService 目录下载工具

运行cmd,cd 到BatchPublishMapService。执行以下脚本. 若是出现python是无效的命令的错误。请配置环境变量ui

python BatchPublishMapService.py

根据命令行中的提示输入相关的参数。以下图所示:
spa

发布过程的详细信息,以及分析操做的信息输出
命令行

在manager中查看批量发布的服务

注意

  1. 服务名为mxd文件名。如须要指定服务名,请将mxd文件名改成对应的文件名
  2. 输入的用户名和密码为站点管理员的用户名和密码
  3. 该程序没有注册数据源的功能,当数据源路径,已经注册,数据不拷贝到服务器上。若是没有注册,数据则默认拷贝到服务器
  4. 该工具没有打包。本想打包成exe,可是arcpy打包存在问题。

后续更新

由实际反馈和使用状况决定

下载地址

BathPublishMapServices

相关文章
相关标签/搜索