借助ArcGIS桌面发布ArcGIS服务是一个很熟悉的过程了,发布服务的前提是需要拥有一个已连接的ArcGIS Server服务站点,经过对mxd进行制图配置,定义服务参数,才能实现服务的发布,那么这个过程的自动化和一体化又该如何使用python脚本实现呢?直奔主题~~~~

-------------------------欢迎来访,拒绝转载--------------------------

1.创建ArcGIS Server的连接文件:

# -*- coding: utf-8 -*-
# ---------------------------------------------------------------------------
# PublishMapService.py
# Created on: 2015-08-15 15:49:27.00000
# (generated by HUIHUI)
# Usage:
# Description: python publish service
# --------------------------------------------------------------------------- # Import arcpy module
import os as OS
import arcpy # createGISServerConnectionFile,define local variable
wrkpc = r"\\qnap.geoWindPower.com\WPServices\hh\PublishService\ToolData" //定义一个文件路径
out_folder_path = wrkpc
con_Filename = "test.ags"
server_url = r"http://gisserver018207.geoWindPower.com/arcgis" //ArcGIS Server站点的URL
staging_folder_path = wrkpc
username = "admin" //站点用户名
password = "admin" //密码 arcpy.mapping.CreateGISServerConnectionFile("PUBLISH_GIS_SERVICES",
out_folder_path,
con_Filename,
server_url,
"ARCGIS_SERVER",
False,
staging_folder_path,
username,
password,
"SAVE_USERNAME")

2. creste service definition draft

# define local variables
mxdpath = OS.path.join(wrkpc,"mymxd.mxd") //指定MXD所在的路径
mapDoc = arcpy.mapping.MapDocument(mxdpath)
servicename = "GeoTurbine_Test"
sddraft = OS.path.join(wrkpc,"GeoTurbine_Test.sddraft") //指定<span style="font-family: Arial, Helvetica, sans-serif;">.sddraft文件所在的路径</span>
sd = OS.path.join(wrkpc,"GeoTurbine_Test.sd")
connectionfile = <span style="font-family:Arial, Helvetica, sans-serif;font-size:12px;">con_Filename</span>
summary = "this is a test"
tags = "this is a test" # creste service definition draft
analysis = arcpy.mapping.CreateMapSDDraft(mapDoc,
sddraft,
servicename,
"ARCGIS_SERVER",
connectionfile,
False,
"WP_MapService",
summary,tags)

3.上传.sddraft的草稿文件(发布服务)

#stage and upload the service if the sddraft analysis didn't contain errors
if analysis['errors'] == {}:
# excute StageService
arcpy.StageService_server(sddraft,sd)
# excute UploadServiceDfinition
arcpy.UploadServiceDefinition_server(sd,connectionfile)
else:
# if the sddraft analysis contained errors,display them
print analysis['errors']

------------------------------欢迎来访,拒绝转载------------------------------

版权声明:本文为博主原创文章,未经博主允许不得转载。

使用Python创建.sd服务定义文件,实现脚本自动发布ArcGIS服务的更多相关文章

  1. 通过node指令自动创建一个package.json文件,并封装发布使用

    通过node指令自动创建一个package.json文件,并封装发布使用:https://blog.csdn.net/scu_cindy/article/details/78208268

  2. 解决GP服务产生的结果无法自动发布为地图服务的问题

    在ArcGIS for Javascript API或REST API调用GP服务时,常常会遇到这样一种情况:GP服务运行以后,执行成功,也能够生成结果,然而结果并没有直接产生动态的地图服务供API调 ...

  3. 使用Jenkins自动发布Windows服务项目

    不同于发布Web项目,自动发布Windows服务项目需要解决以下几个问题: 如何远程停止和开启服务?需要在发布前停止服务,在发布完成后开启服务. 如何上传编译文件到目标服务器? 问题1:如何远程停止和 ...

  4. GeoServer自动发布地图服务

    1 NetCDF气象文件自动发布案例 GeoServer是一个地理服务器,提供了管理页面进行服务发布,样式,切片,图层预览等一系列操作,但是手动进行页面配置有时并不满足业务需求,所以GeoServer ...

  5. Shell脚本自动重启Java服务

    话不多说直接上代码: cd /home/javaProduct/if [ -d '/home/javaProduct/lib_new/' ]; thenecho 'Has New Lib!'echo ...

  6. Python自动发布Image service的实现

    使用Python自动发布地图服务已经在上一篇博客中讲到,使用Python创建.sd服务定义文件,实现脚本自动发布ArcGIS服务,下面是利用Python自动发布Image service的实现. -- ...

  7. JavaScript 和 TypeScript 交叉口 —— 类型定义文件(*.d.ts)

    在 <从 JavaScript 到 TypeScript 系列> 文章我们已经学习了 TypeScript 相关的知识. TypeScript 的核心在于静态类型,我们在编写 TS 的时候 ...

  8. 【转】从 ArcGIS for Desktop 发布地图服务

    原文链接:http://resources.arcgis.com/zh-CN/help/tutorials/01z300000007000000.htm 本教程的目的是将地图服务直接从 ArcGIS ...

  9. JavaWeb和WebGIS学习笔记(六)——使用ArcGIS for Server发布地图服务

    系列链接: Java web与web gis学习笔记(一)--Tomcat环境搭建 Java web与web gis学习笔记(二)--百度地图API调用 JavaWeb和WebGIS学习笔记(三)-- ...

随机推荐

  1. (转)windows平台时间函数性能比较QueryPerformanceCounter,GetTickCount,ftime,time,GetLocalTime,GetSystemTimeAsFileTime

    执行 10000000 次, 耗时 2258,369 微秒     QueryPerformanceCounter 执行 10000000 次, 耗时 26,347 微秒    GetTickCoun ...

  2. perl 函数的参数列表

    在perl中,定义一个函数的时候,不需要在圆括号内指定具体的参数,所有的参数都从@_ 这个列表中得到 代码示例: sub test { my ($a, $b) = @_; print qq{$a\t$ ...

  3. 前台的js对象数组传到后台处理。在前台把js对象数组转化为json字符串,在后台把json字符串解析为List<>

    前台的js对象数组传到后台处理.在前台把js对象数组转化为json字符串,在后台把json字符串解析为List<>

  4. 刚刚完成了在vs2013中通过 ef连接mysql数据库的工作。感觉没有想象中的简单。试了n次终于成功。故记录成功的方法,希望可以帮到大家

    分两种情况,如果你是用entity framework 5.0的时候 mysql-connector-net的版本不是很重要. MySQL For VisualStudio的版本也不重要 (这个不装就 ...

  5. thinkphp模板中无法给自定义函数传多个参数

    1.模板的用法 {:function(param1,param2,param3...)} 2.实例 <td>{:getChannelInfo($adminId,$v['sale_id']) ...

  6. windows环境下mongodb下载、安装和使用总结

    一.首先安装mongodb 1.下载地址:http://dl.mongodb.org/dl/win32/x86_64 2.解压缩到自己想要安装的目录,比如d:\mongodb 3.创建文件夹d:\mo ...

  7. UIView的背景渐变

    //绘制背景渐变 /* CGCradientCreateWithColorComponents函数需要四个参数: 色彩空间:(Color Space)这是一个色彩范围的容器,类型必须是CGColorS ...

  8. mongodb group php 操作

    紧接着上篇来,这篇主要讲,mongodb的group功能,做的还是挺强大的,相当对于find(),skip(),distinct()等,用法比较复杂. 测试数据 > db.fruit.find( ...

  9. C#_获取汉字拼音

    using System; using System.Collections.Generic; using System.Text; using System.Text.RegularExpressi ...

  10. failed to push some refs to 'git@github.com:*/learngit.git'

    https://jingyan.baidu.com/article/f3e34a12a25bc8f5ea65354a.html 出现错误的主要原因是github中的README.md文件不在本地代码目 ...