在上一篇中讲到了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文件,里面会有错误信息。一般都是上面那几个参数不对,改正即可。
