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


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

    update0918:

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

    ==============================================================================

    介绍

    在日常工作中,经常碰到用户多次诉求需要批量发布服务。esri官方发布方式,只能是通过arcMap连接server去逐个发布。但是其也为开发者提供了批量发布服务两种方式:一种是通过arcpy的脚本,一种是通过其提供的arcgis admin api

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

    环境

    • 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是无效的命令的错误。请配置环境变量

    python BatchPublishMapService.py
    

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

    发布过程的详细信息,以及分析操作的信息输出

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

    注意

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

    后续更新

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

    下载地址

    BathPublishMapServices

  • 相关阅读:
    统计学——平均数
    JSON与JAVA的数据转换
    Linux使用笔记
    vim代码折叠命令
    让ubuntu的ssh保持长时间连接
    Ubuntu通过xinput禁用及启用联想笔记本的触摸板
    linux下Oracle 相关命令
    linux机械磁盘服务器分区方案
    centos 6.5搭建LNMP环境
    centos6.5下搭建oracle 11g
  • 原文地址:https://www.cnblogs.com/myyouthlife/p/4760925.html
Copyright © 2020-2023  润新知