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

相關文章
相關標籤/搜索