ArcGIS Desktop

  • 文档
  • 支持

  • My Profile
  • 帮助
  • Sign Out
ArcGIS Desktop

ArcGIS Online

专为贵组织打造的制图平台

ArcGIS Desktop

全面的专业性 GIS

ArcGIS Enterprise

面向企业的 GIS

ArcGIS for Developers

用于构建位置感知应用程序的工具

ArcGIS Solutions

适用于行业的免费模板地图和应用程序

ArcGIS Marketplace

获取适用于组织的应用程序和数据

  • 文档
  • 支持
Esri
  • 登录
user
  • 我的个人资料
  • 登出

ArcMap

  • 主页
  • 入门
  • 地图
  • 分析
  • 管理数据
  • 工具
  • 扩展模块

AnalyzeForSD

  • 摘要
  • 说明
  • 语法
  • 代码示例

摘要

分析服务定义草稿 (.sddraft) 文件以便在将服务定义草稿文件转换为服务定义 (.sd) 文件之前确定适用性和潜在性能问题的来源。

说明

在创建服务定义文件之前可以执行的一项重要任务是分析服务定义草稿文件以识别可能需要解决的错误和其他潜在问题。AnalyzeForSD 可与服务定义草稿一起用于地图、地理处理和影像服务。该函数返回 Python 字典,其中包含错误、警告和消息。例如,为地图服务处理服务定义草稿时,此函数可以:

  • 帮助您标识不支持优化的地图绘制性能的图层和符号系统类型。
  • 针对可能降低显示性能的潜在问题显示警告。
  • 列出关于有助于优化地图服务性能的地图文档的其他信息性消息。

地图服务定义草稿文件的分析基于多个因素,包括地图所使用的数据;地图、图层和符号属性;设置服务属性(如服务将支持的所选功能和相关属性);以及托管服务的服务器类型。Python 字典中会出现三种类型的消息:错误、警告和信息。

地图服务定义草稿文件的错误通常指地图使用了不支持地图服务的地图图层类型或显示选项。创建服务定义文件前必须修复所有错误。警告和其他消息用于识别可能会影响绘图性能和外观的问题。警告提醒用户注意可能会影响绘图性能或绘图外观的问题,但这些问题不会妨碍用户将服务定义草稿文件转换为服务定义文件。

使用 AnalyzeForSD 分析服务定义草稿后,随即可使用过渡服务地理处理工具将其转换为完全合并的服务定义 (.sd) 文件。过渡过程会编译成功发布 GIS 资源所需的所有必要信息。如果选择将数据复制到服务器,则将在服务定义草稿阶段添加数据。最后,可以使用上载服务定义地理处理工具上载服务定义文件并将其作为 GIS 服务发布到特定的 GIS 服务器。此步骤获取服务定义文件,并将其复制到服务器,提取所需信息并发布 GIS 资源。有关详细信息,请参阅发布工具集概述。

为地图、地理处理、影像和地理编码服务创建服务定义草稿的函数包括:

  • CreateMapSDDraft
  • CreateGPSDDraft
  • CreateImageSDDraft
  • CreateGeocodeSDDraft

语法

AnalyzeForSD (sddraft)
参数说明数据类型
sddraft

表示服务定义草稿 (.sddraft) 文件的路径和文件名的字符串。

String

返回值

数据类型说明
Dictionary

返回由信息性消息、警告和错误组成的 Python 字典。

代码示例

AnalyzeForSD 示例 1

以下脚本分析服务定义草稿 (.sddraft) 文件以识别可能需要在创建服务定义 (.sd) 文件之前解决的潜在性能瓶颈和地图错误。

import arcpy
analysis = arcpy.mapping.AnalyzeForSD(r"C:\Project\Counties.sddraft")
for key in ('messages', 'warnings', 'errors'):
  print "----" + key.upper() + "---"
  vars = analysis[key]
  for ((message, code), layerlist) in vars.iteritems():
    print "    ", message, " (CODE %i)" % code
    print "       applies to:",
    for layer in layerlist:
        print layer.name,
    print
AnalyzeForSD 示例 2

以下脚本演示使用 arcpy.mapping 工作流发布地图服务的完整过程。通过将 arcpy.mapping 函数与发布工具集中的地理处理工具加以组合,可实现地图服务的自动发布。工作流开始于要发布的地图文档。首先,使用 arcpy.mapping 函数 CreateMapSDDraft 创建服务定义草稿。接下来,应使用 AnalyzeForSD 函数对服务定义草稿进行分析,以找出可能会阻止成功发布的问题。分析服务定义草稿并解决严重问题后,即可开始过渡服务定义。过渡操作获取服务定义草稿并将发布服务所需的所有信息合并到完整的服务定义中。使用过渡服务地理处理工具过渡服务定义。最后,使用上传服务定义地理处理工具将服务定义上传到服务器并发布地图服务。

import arcpy
# define local variables
wrkspc = 'C:/Project/'
mapDoc = arcpy.mapping.MapDocument(wrkspc + 'counties.mxd')
con = r'GIS Servers\arcgis 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']

ArcGIS Desktop

  • 主页
  • 文档
  • 支持

ArcGIS 平台

  • ArcGIS Online
  • ArcGIS Desktop
  • ArcGIS Enterprise
  • ArcGIS for Developers
  • ArcGIS Solutions
  • ArcGIS Marketplace

关于 Esri

  • 关于我们
  • 招贤纳士
  • 内部人员博客
  • 用户大会
  • 开发者峰会
Esri
分享您的想法。
Copyright © 2018 Esri. | 隐私政策 | 法律声明