ArcPy将地图文档 (.mxd) 文件转换为服务定义草稿 (.sddraft) 文件


在上一篇中讲到了ArcPy的使用和主要参考,所以这里就不再重复,有不明白环境和使用的请参考上一篇博客 ArcPy创建ArcGIS Server连接文件

本文参考地址:ArcGIS 帮助文档

话不多说,直接上代码:

import arcpy

# define local variables
wrkspc = 'D:/Project/' #工作目录
mapDoc = arcpy.mapping.MapDocument(wrkspc + 'WuHan.mxd') #工作目录下的地图文档
con = wrkspc + 'test163.ags' #工作目录下的ArcGIS连接文件
service = 'WuHanTest' #发布服务名称
sddraft = wrkspc + service + '.sddraft'
sd = wrkspc + service + '.sd'
summary = 'Tiles of WuHan'  #服务摘要
tags = 'WuHan,Tiles' #服务标签

# create service definition draft
analysis = arcpy.mapping.CreateMapSDDraft(mapDoc, sddraft, service, 'ARCGIS_SERVER', 
                                          con, True, None, summary, tags)

# stage and upload the service if the sddraft analysis did not contain errors
if analysis['errors'] == {}:
    # Execute StageService
    arcpy.StageService_server(sddraft, sd)
    # Execute UploadServiceDefinition
    arcpy.UploadServiceDefinition_server(sd, con)
else: 
    # if the sddraft analysis contained errors, display them
    print analysis['errors']

参数说明:
mapDoc:要发布地图服务保存的地图文档文件,只需修改’WuHan.mxd’为你自己的文档名称即可。
con = wrkspc + ‘test163.ags’:这里的test163.ags就是上一篇中生成的连接文件。
服务摘要和服务标签这两个按你自己的实际情况填写。

运行后可以在ArcCatalog->GIS服务器->(你自己管理的服务器),刷新一下,就会看到自己刚发布的服务。

注意:如果再次运行此程序,需要将工作目录下的.sd文件删除,否则会报错,sd文件已存在。如果还有其他错误,可以回到工作目录下,打开txt文件,里面会有错误信息。一般都是上面那几个参数不对,改正即可。

转载自:https://blog.csdn.net/qq_21231159/article/details/76757611

You may also like...