arcgis server 10.1之后如何编程实现mxd文档的自动发布?

用户的mxd文档为编程生成,需要编程实现mxd文档到地图服务的自动发布。
已邀请:

马克玲

赞同来自: 葱子脚脚 求知gis

【解决办法】:
server10.1之后地图服务全部基于msd发布,不再支持基于mxd的地图服务。在现有解决办法中从mxd-msd 编程实现只能通过python脚本工具完成,AO中并没暴露mxd转换为msd的编程接口。所以用户的需求只能通过python脚本,自定义一个从mxd到地图服务发布的gp工具,再在自己的应用中调用gp工具,来实现mxd文档的自动化服务发布。

python脚本程序:
import arcpy

# define local variables
wrkspc = 'C:/Project/'
mapDoc = arcpy.mapping.MapDocument(wrkspc + 'counties.mxd')
con = r'GIS Serversarcgis on MyServer_6080 (admin).ags'
service = 'Counties'
sddraft = wrkspc + service + '.sddraft'
sd = wrkspc + service + '.sd'

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

# 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']

吉阿诺

赞同来自:

请问,脚本程序是什么哦?我不知道怎么弄
 

要回复问题请先登录注册