地图服务日志编码
在本主题中
本主题列出了使用地图服务时将看到的日志消息的编码。每个编码列表后面都有一个或多个示例以说明具有某些消息的日志的显示方式。
本主题具有两个主要部分:
- MapServer 消息 - 地图服务写入的一组错误、警告和详细消息。
- Carto 消息 - 关于地图绘制的一组详细消息。Carto 消息在启用详细记录等级时可用。
MapServer 消息
下表列出了地图服务生成的日志消息,并解释了导致生成这些消息的一些常见原因。详细日志消息的编码范围是 10000 - 10799,而错误和警告的范围是 10800 - 10999。
编码 | 文本 | 说明 |
---|---|---|
10000 | GetDocumentInfo 已启动。 | 提供一组可用于描述服务的常规内容的地图服务属性。 |
10001 | GetDocumentInfo 已完成。 | 使用此编码确定处理该方法所需的时间。 |
10002 | GetMapCount 已启动。 | 返回地图服务中的地图(数据框)数目。 |
10003 | GetMapCount 已完成。 | 使用此编码确定处理该方法所需的时间。 |
10004 | GetMapName 已启动。 | 按照提供的索引值返回地图(数据框)名称。 |
10005 | GetMapName 已完成。 | 使用此编码确定处理该方法所需的时间。 |
10006 | GetDefaultMapName 已启动。 | 地图服务中活动地图(数据框)的名称。 |
10007 | GetDefaultMapName 已完成。 | 使用此编码确定处理该方法所需的时间。 |
10008 | GetServerInfo 已启动。 | 返回地图(数据框)的当前状态信息。 |
10009 | GetServerInfo 已完成。 | 使用此编码确定处理该方法所需的时间。 |
10010 | 开始 ExportMapImage。 | 根据地图服务中的数据框(地图)生成动态地图图像。 |
10011 | 结束 ExportMapImage。 | 使用此消息可确定服务器动态绘制地图图像所需的时间。通过 ArcGIS REST API,可以在一段时间内提取此消息,并将其用于派生服务性能统计数据。有关如何开始此操作的说明,请参阅示例:查询 ArcGIS Server 日志。 |
10012 | ExportScaleBar 已启动。 | 为地图服务中的数据框(地图)生成比例尺图像。 |
10013 | ExportScaleBar 已完成。 | 使用此编码确定处理该方法所需的时间。 |
10014 | 查找已启动。 | 在数据框(地图服务中)的一个或多个图层的属性中搜索特定搜索字符串。 |
10015 | 查找已完成。 | 使用此编码确定处理该方法所需的时间。 |
10016 | 标识已启动。 | 根据空间搜索返回地图要素及其属性值。 |
10017 | 标识已完成。 | 使用此编码确定处理该方法所需的时间。 |
10018 | QueryFeatureCount 已启动。 | 返回满足针对指定图层 ID 的查询过滤器选择标准的要素数目。 |
10019 | QueryFeatureCount 已完成。 | 使用此编码确定处理该方法所需的时间。 |
10020 | QueryFeatureIDs 已启动。 | 返回满足针对指定图层 ID 的查询过滤器选择标准的一组要素 ID。 |
10021 | QueryFeatureIDs 已完成。 | 使用此编码确定处理该方法所需的时间。 |
10022 | QueryFeatureData 的查询操作已启动。 | 返回满足针对指定图层 ID 的查询过滤器选择标准的一组要素记录(几何和属性)。 |
10023 | QueryFeatureData 已完成。 | 使用此编码确定处理该方法所需的时间。 |
10024 | QueryFeatureCount2 已启动。 | 返回满足针对指定图层描述的查询过滤器选择标准的要素计数。 |
10025 | QueryFeatureCount2 已完成。 | 使用此编码确定处理该方法所需的时间。 |
10026 | QueryFeatureIDs2 已启动。 | 返回满足针对指定图层描述的查询过滤器选择标准的要素 ID。 |
10027 | QueryFeatureIDs2 已完成。 | 使用此编码确定处理该方法所需的时间。 |
10028 | QueryFeatureData2 已启动。 | 返回满足指定图层描述的查询过滤器选择标准的一组要素记录。 |
10029 | QueryFeatureData2 已完成。 | 使用此编码确定处理该方法所需的时间。 |
10030 | QueryHyperlinks 已启动。 | 返回已定义地图范围内可见图层的要素几何和关联的超链接 URL。 |
10031 | QueryHyperlinks 已完成。 | 使用此编码确定处理该方法所需的时间。 |
10032 | ComputeScale 已启动。 | 在具有给定大小的图像的特定地图范围计算指定地图(数据框)的比例。 |
10033 | ComputeScale 已完成。 | 使用此编码确定处理该方法所需的时间。 |
10034 | ComputeDistance 已启动。 | 计算地图(数据框)中两点间的距离。 |
10035 | ComputeDistance 已完成。 | 使用此编码确定处理该方法所需的时间。 |
10036 | ToMapPoints 已启动。 | 将点从屏幕坐标转换为地图坐标。 |
10037 | ToMapPoints 已完成。 | 使用此编码确定处理该方法所需的时间。 |
10038 | FromMapPoints 已启动。 | 将地图坐标转换为屏幕坐标。 |
10039 | FromMapPoints 已完成。 | 使用此编码确定处理该方法所需的时间。 |
10040 | GetLegendInfo 已启动。 | 返回地图中图层的图例信息,例如图层名称、组标题、分类标注和符号样本。 |
10041 | GetLegendInfo 已完成。 | 使用此编码确定处理该方法所需的时间。 |
10042 | GetSQLSyntaxInfo 已启动。 | 返回指定图层的 SQL 语法信息。 |
10043 | GetSQLSyntaxInfo 已完成。 | 使用此编码确定处理该方法所需的时间。 |
10044 | GetSupportedImageReturnTypes 已启动。 | 返回用于检索由地图服务所生成的图像的受支持格式。 |
10045 | GetSupportedImageReturnTypes 已完成。 | 使用此编码确定处理该方法所需的时间。 |
10046 | IsFixedScaleMap 已启动。 | 确定地图(数据框)是否具有缓存。缓存可以是单一融合的地图缓存或图层缓存。 |
10047 | IsFixedScaleMap 已完成。 | 使用此编码确定处理该方法所需的时间。 |
10048 | HasSingleFusedMapCache 已启动。 | 确定地图(数据框)是否具有融合缓存。地图服务中的每张地图只能有一个融合缓存。 |
10049 | HasSingleFusedMapCache 已完成。 | 使用此编码确定处理该方法所需的时间。 |
10050 | GetTileCacheInfo 已启动。 | 获取给定地图的缓存配置属性。 |
10051 | GetTileCacheInfo 已完成。 | 使用此编码确定处理该方法所需的时间。 |
10052 | GetTileImageInfo 已启动。 | 获取缓存切片的图像格式信息。 |
10053 | GetTileImageInfo 已完成。 | 使用此编码确定处理该方法所需的时间。 |
10054 | GetMapTile 已启动。 | 返回来自特定位置的融合地图缓存的影像切片。 |
10055 | GetMapTile 已完成。 | 使用此编码确定处理该方法所需的时间。 |
10056 | HasLayerCache 已启动。 | 确定地图(数据框)中的给定图层是否具有图层缓存。 |
10057 | HasLayerCache 已完成。 | 使用此编码确定处理该方法所需的时间。 |
10058 | GetLayerTile 已启动。 | 返回来自特定位置的图层缓存的影像切片。 |
10059 | GetLayerTile 已完成。 | 使用此编码确定处理该方法所需的时间。 |
10060 | GetVirtualCacheDirectory 已启动。 | 获取包含地图(数据框)内给定图层的缓存切片的虚拟目录。 |
10061 | GetVirtualCacheDirectory 已完成。 | 使用此编码确定处理该方法所需的时间。 |
10062 | GetCacheName 已启动。 | 获取地图(数据框)内给定图层的缓存名称。 |
10063 | GetCacheName 已完成。 | 使用此编码确定处理该方法所需的时间。 |
10064 | GetCacheDescriptionInfo 已启动。 | 获取给定地图的缓存描述信息。包括缓存控制信息、切片缓存信息、切片影像信息和缓存类型信息。 |
10065 | GetCacheDescriptionInfo 已完成。 | 使用此编码确定处理该方法所需的时间。 |
10066 | GetCacheControlInfo 已启动。 | 获取给定地图的缓存控制信息。主要用于确定是否允许客户端缓存。 |
10067 | GetCacheControlInfo 已完成。 | 使用此编码确定处理该方法所需的时间。 |
10068 | GetServiceConfigurationInfo 已启动。 | 返回一组包含地图服务配置限制信息的名称值对。 |
10069 | GetServiceConfigurationInfo 已完成。 | 使用此编码确定处理该方法所需的时间。 |
10070 | ExportLayout 已启动。 | 根据给定页面描述对象生成布局的图像,并将图像写入磁盘上的指定文件。 |
10071 | ExportLayout 已完成。 | 使用此编码确定处理该方法所需的时间。 |
10072 | ExportLegend 已启动。 | 将图例导出为图像文件。通过 Internet 与地图服务连接时不可用。 |
10073 | ExportLegend 已完成。 | 使用此编码确定处理该方法所需的时间。 |
10074 | ExportNorthArrow 已启动。 | 将指北针导出为图像文件。通过 Internet 与地图服务连接时不可用。 |
10075 | ExportNorthArrow 已完成。 | 使用此编码确定处理该方法所需的时间。 |
10076 | FromPagePoints 已启动。 | 将页面坐标转换为屏幕坐标。通过 Internet 与地图服务连接时不可用。 |
10077 | FromPagePoints 已完成。 | 使用此编码确定处理该方法所需的时间。 |
10078 | ToPagePoints 已启动。 | 将屏幕位置转换为页面坐标。通过 Internet 与地图服务连接时不可用。 |
10079 | ToPagePoints 已完成。 | 使用此编码确定处理该方法所需的时间。 |
10080 | ApplyMapDescription 已启动。 | 将地图描述的当前状态应用于地图服务器对象。通过 Internet 与地图服务连接时不可用。 |
10081 | ApplyMapDescription 已完成。 | 使用此编码确定处理该方法所需的时间。 |
10082 | RefreshServerObjects 已启动。 | 根据基础细致对象的当前状态更新服务器信息。通过 Internet 与地图服务连接时不可用。 |
10083 | RefreshServerObjects 已完成。 | 使用此编码确定处理该方法所需的时间。 |
10084 | 图层 <图层名称> 查找已启动。 | 在数据框(地图服务中)的特定图层的属性中搜索给定搜索字符串。 |
10085 | 图层 <图层名称> 查找已完成。 | 使用此编码确定处理该方法所需的时间。 |
10086 | 图层 <图层名称> 标识已启动。 | 根据特定图层的空间搜索返回地图要素及其属性值。 |
10087 | 图层 <图层名称> 标识已完成。 | 使用此编码确定处理该方法所需的时间。 |
10088 | 图层 <图层名称> 的 QueryHyperlinks 已启动。 | 返回已定义地图范围内特定图层的要素几何和关联的超链接 URL。 |
10089 | 图层 <图层名称> 的 QueryHyperlinks 已完成。 | 使用此编码确定处理该方法所需的时间。 |
10090 | 图层 <图层名称> 的 GetLegendInfo 已启动。 | 返回地图中特定图层的图例信息,例如图层名称、组标题、分类标注和符号样本。 |
10091 | 图层 <图层名称> 的 GetLegendInfo 已完成。 | 使用此编码确定处理该方法所需的时间。 |
10092 | MapReaderOpen 已启动。 | 打开存储于指定路径的 MXD 或 PMF 文件。 |
10093 | MapReaderOpen 已完成。 | 使用此编码确定处理该方法所需的时间。 |
10094 | 方法:<方法名> 的准备已启动。 | 使用此编码确定处理该方法所需的时间。 |
10095 | 方法:<方法名> 的准备已完成。 | 使用此编码确定处理该方法所需的时间。 |
10096 | QueryOperation_Start | 此消息用于 QueryFeatureData 和 QueryFeatureData2。 |
10097 | QueryOperation_End | 使用此编码确定处理该方法所需的时间。 |
10098 | ImageGeneration_Started | 根据地图服务创建图像文件。 |
10099 | ImageGeneration_End | 使用此编码确定处理该方法所需的时间。 |
10138 | 范围:<XMin>、<YMin>、<XMax>、<YMax>;大小:<大小 1>、<大小 2>;比例:<比例值> | 在 ExportMapImage 请求中,此编码会返回请求的地图图像的范围(采用地图服务单位)、大小(像素)和比例(数字比例)。 |
103023 | 符号绘制 | 将地图符号视为方法 Map.Draw 的一部分进行绘制。 |
103024 | 数据访问 符号化 执行查询 | 用于表示访问符号、初始化符号和执行查询来获取要素符号系统的数据。 |
10800 | MapServerFailed | 执行 MapServer:Connect 方法时可能发生了多个错误。特定错误的详细信息应写入消息文本中。 |
10801 | 地图:<地图名称> 中的图层 <图层名称> 无效。 | 这会在所提供的地图中存在链接已损坏的图层时发生。应检查地图中是否存在与地图数据的链接已损坏的图层。应修复此类问题并在修复完成后刷新地图服务。 |
10802 | InvalidLicense | |
10803 | 请求名称不受支持 | |
10804 | 不支持请求的服务能力。 | 这些是由服务器管理员设置的功能。 |
10805 | QueryFilter 的 SubField 中的字段无效或不可见 | 此消息将在 QueryFeatureData 或 QueryFeatureData2 中的 QueryFilter 包含无效字段时生成。无效字段可以是:在所提供的原始地图文档中标记为不可见的字段,或在地图服务中不存在的查询中指定的字段。 |
10806 | 服务与数据断开连接 | 此警告将在尝试对未连接到数据源的地图服务图层执行以下方法之一时发出:查找、标识、QueryFeatureCount、QueryFeatureCount2、QueryFeatureIds、QueryFeatureIds2、QueryFeatureData、QueryFeatureData2、QueryHyperlinks、GetLegendInfo 和 GetSQLSyntaxinfo。 |
10807 | 文档包含安全(受密码保护的)图层。 | 无法提供包含安全图层的地图。为了成功地提供地图,必须从地图中移除要求密码的图层。 |
10808 | 文件 <文件名> 无效。文件 <文件名> 不存在。访问文件 <文件名> 被拒绝。 | 为了成功地提供地图文档,地图文档必须有效并且可供 ArcGIS Server 帐户访问。文件可能已损坏,可能需要重新创建地图文档。另外,还应检查访问地图文档和及其所在目录的权限。 |
10809 | PMF 文件 <文件名> 只能由 ArcReader 应用程序读取。 | PMF(发布的地图文件)可进行配置以便只有 ArcReader 才能打开文档。无法提供以此方式配置的 PMF。要提供此类地图,需要创作新的 PMF 以便 ArcReader 之外的其他应用程序能够打开 PMF。 |
10810 | 无法提供该 PMF,因为其中的以下功能已被禁用:<功能名称> | PMF(发布的地图文件)可进行配置以使 PMF 限制指定的功能。此功能可包括导出、查找、标识、更改视图、访问超链接、更改图层可见性、测量、查询、查询值和查看 TOC。只要在发布 PMF 时禁用了功能,就无法提供 PMF。为提供此类地图,需要创作新的 PMF 以使任何功能都不被禁用。 |
10811 | PMF 文件 <文件名> 受密码保护,无法用于服务器。 | 无法提供受密码保护的 PMF(发布的地图文件)。为提供地图,将需要创作不带密码保护的新 PMF。 |
10812 | PMF 文件 <文件名> 已超时。 | 可创作带有超时选项的 PMF(发布的地图文件)。一旦超过超时日期,即会无法打开 PMF,且无法再基于此类 PMF 提供地图服务。 |
10813 | 无法读取指定的 PMF 文档。 | 为了成功地提供 PMF(发布的地图文件),PMF 必须有效并且可供 ArcGIS Server 帐户访问。可能需要重新创建 PMF。另外,还应检查 PMF 文件及其所在目录的权限。 |
10814 | 无法打开 PMF 文件 <文件名>。可能的原因:服务器无法访问 PMF 文件。 | 为了成功地提供 PMF(发布的地图文件),PMF 必须有效并且可供 ArcGIS Server 帐户访问。可能需要重新创建 PMF。另外,还应检查 PMF 文件及其所在目录的权限。 |
10815 | PMF 文件 <文件名> 包含 Globe,无法通过 MapServer 打开。 | PMF(发布的地图文件)可能包含 globe。无法使用此类 PMF 创作地图服务。为创建地图服务,必须从地图中移除 globe 且 PMF 必须重新发布。 |
10816 | 无法打开 PMF 文档 <文件名>。 | 为了成功地提供 PMF(发布的地图文件),PMF 必须有效并且可供 ArcGIS Server 帐户访问。可能需要重新创建 PMF。另外,还应检查 PMF 文件及其所在目录的权限。 |
10817 | PMFInvalidFileType | 为了成功地提供 PMF(发布的地图文件),PMF 必须有效并且可供 ArcGIS Server 帐户访问。可能需要重新创建 PMF。另外,还应检查 PMF 文件及其所在目录的权限。 |
10818 | PMFUnknownError | |
10819 | MissingParameter | 向地图服务提出的请求缺少必要参数。 |
10820 | OutputDirectoryNotFound | 输出目录是指服务器创建地图服务的临时文件的位置。此目录在发布地图服务时由服务器管理员指定,是地图服务配置的一部分。此目录必须存在并且可供 ArcGIS Server 帐户访问。检查该目录是否存在以及是否可访问。 |
10821 | OutputDirectoryAccessDenied | 输出目录是指服务器创建地图服务的临时文件的位置。此目录在发布地图服务时由服务器管理员指定,是地图服务配置的一部分。此目录必须存在并且可供 ArcGIS Server 帐户访问。检查该目录是否存在以及是否可访问。 |
10822 | PropertyFilePathUndefined | 此错误将在 MapServer 无法在属性集中找到 FilePath 的属性时发生。 |
10823 | IsCacheMissing | IsCached 是表明地图服务是否具有缓存的地图服务配置。检查配置文件以确保该设置存在并已进行适当设置。 |
10824 | CacheOnDemandMissing | CacheOnDemandMissing 是表明地图服务是否提供按需缓存的地图服务配置。检查配置文件以确保该设置存在并已进行适当设置。 |
10825 | IgnoreCacheMissing | IgnoreCacheMissing 是表明地图服务是否要忽略现有缓存的地图服务配置。检查配置文件以确保该设置存在并已进行适当设置。 |
10826 | ClientCachingAllowedMissing | ClientCachingAllowedMissing 是一项地图服务配置。检查配置文件以确保该设置存在并已进行适当设置。 |
10827 | MapServer::OnStart() 失败:无法创建临时目录名称。 | MapServer 将在 arcgisoutput 目录下为每项地图服务创建一个目录。如果已对服务启用 WMS 功能,这些目录将用于 WMS 文件。如果 ArcGIS Server 帐户无法创建目录,则可能发生这个错误。确保 ArcGIS Server 帐户对 arcgisoutput 目录具有适当的权限。 |
10828 | MapServer::OnStop() 失败:无法创建临时目录名称。 | MapServer 将在 arcgisoutput 目录下为每项地图服务创建一个目录。如果已对服务启用 WMS 功能,这些目录将用于 WMS 文件。如果 ArcGIS Server 帐户无法创建目录,则可能发生这个错误。确保 ArcGIS Server 帐户对 arcgisoutput 目录具有适当的权限。 |
10829 | 无效的服务配置。与数据断开连接的服务不能忽略缓存。 | 与数据断开连接的地图服务需要使用缓存。如果地图服务与其数据断开连接,属性 IgnoreCache 必须为假。 |
10830 | 无效的服务配置。处于“按需缓存”模式下的服务不能与数据断开连接。 | 使用“按需缓存”的地图服务不能与其数据断开连接。 |
10831 | 无效的服务配置。处于“按需缓存”模式下的服务不能忽略缓存。 | 使用“按需缓存”的地图服务需要使用缓存。地图服务在使用“按需缓存”时,属性 IgnoreCache 必须为假。 |
10832 | MapServer 构造失败。无法获得指向 IServerEnvironment 的指针。 | |
10833 | 没有服务器对象管理权限。 | |
10834 | 无法连接到缓存 | |
10835 | 无法启动配置,因为 WMS 功能需要一个指定的输出目录。请为此项服务指定一个输出目录。 | |
10836 | MapNotFound | 许多请求都需要地图名称作为参数。此错误将在 MapServer 请求中的地图名称值与可用的有效地图服务名称不匹配时发生。 |
10837 | 常规地理数据库错误 | 有许多因素可导致地理数据库发生错误。此地图服务器错误只用一个地图服务器错误编码来表示任何地理数据库错误。 |
10838 | 未找到任何图层具有 ID:<ID 号> | 提供的 LayerID 不正确。 |
10849 | 已请求的 where 子句或定义表达式无效:"<where clause or definition expression>" | 如果在查询中使用数据库特定的函数和语法,则将记录此消息。如果不断记录此消息,可能表示存在潜在的安全威胁或 SQL 注入攻击。 有关详细信息,请参阅关于标准化查询。 |
示例
下例解释了使用不存在的字段名称向地图服务发送查询时可能看到的错误消息。
方法 | 消息 | 经历的时间 | 编码 |
---|---|---|---|
MapServer.QueryFeatureData | QueryFeatureData 的查询操作已启动。 | 10022 | |
MapServer.QueryFeatureData | 方法:QueryFeatureData 的查询操作已启动。 | 10094 | |
MapServer.QueryFeatureData | 方法:QueryFeatureData 已完成。 | 0.00111 | 10095 |
MapServer.QueryFeatureData | 方法:QueryFeatureData 的查询操作已启动。 | 10096 | |
地理数据库错误:指定了不存在的列。 | 10837 | ||
MapServer.QueryFeatureData | QueryFeatureData 已完成。 | 0.01171 | 10023 |
MapServer.QueryFeatureData | 执行方法失败。HRESULT = 0x80040358:这是特定于返回此错误的接口的 FACILITY_ITF 错误。有关此 HRESULT 的信息,请参阅返回该错误的接口的文档。 | 0.0138 | 100005 |
返回了两个错误。使用编码 10837 的错误由 MapServer 生成。编码 10837 是用于 MapServer 的通用编码,表示地理数据库生成的所有错误。消息文本将为“地理数据库错误:”后接地理数据库所提供的任何文本。在此例中,地理数据库生成的文本为“指定了不存在的列。”
另一个错误消息(编码 100005)也报告了同一问题。此消息是系统生成的消息。该冗余已在预料之中。
Carto 消息
将日志记录级别设置为详细后,地图服务将提供来自两个来源的消息:来自 MapServer 的方法和来自 Carto 的方法。Carto 是通常用于绘制地图的对象包。客户端调用 ExportMapImage 时,Carto 消息将引用发生在地图服务器上下文内部的子进程。
编码 | 文本 | 说明 |
---|---|---|
103000 | 开始图层绘制:<图层名称> | 图层绘制是地理阶段的一部分。 |
103001 | 图层绘制结束:<图层名称> | 使用此编码确定绘制图层所需的时间。 |
103002 | 开始图层组绘制:<图层名称> | 图层组绘制是地理阶段的一部分。 |
103003 | 图层组绘制结束:<图层名称> | 使用此编码确定绘制图层组的所有成员图层所需的时间。 |
103004 | 开始地理阶段 | 这是绘制各图层的要素的阶段。本阶段包括对图层的数据执行查询(编码 103021)和图层要素的实际绘制。另外,对于基于要素类的图层,还会报告进行绘制的要素的计数(编码 103019)。 |
103005 | 地理阶段结束 | 使用此编码确定绘制地图中的所有图层所需的时间。 |
103006 | 开始注记阶段 | 这是绘制图形、标注和注记的阶段。 |
103007 | 注记阶段结束 | 使用此编码确定绘制地图中的图形、标注和注记所需的时间。 |
103008 | 开始选择内容绘制阶段 | 这是绘制所选要素的阶段。 |
103009 | 选择内容绘制阶段结束 | 使用此编码确定绘制地图中的选定要素所需的时间。 |
103010 | 开始图形选择内容绘制阶段 | 这是绘制所选图形的阶段。 |
103011 | 图形选择内容绘制阶段结束 | 使用此编码确定绘制地图中的选定图形所需的时间。 |
103012 | 开始地图自定义绘制阶段 | 这是绘制自定义要素或元素的阶段。此阶段也称为“后期绘制”。此类要素或元素通常由扩展模块软件生成。要特别注意,它们不是自定义图层。 |
103013 | 地图自定义绘制阶段结束 | 使用此编码确定绘制自定义要素或元素地图所需的时间。 |
103014 | 开始图形绘制 | 这是注记阶段的一部分。 |
103015 | 图形绘制结束 | 使用此编码确定绘制地图中的图形所需的时间。 |
103016 | 开始标注 | 这是注记阶段的一部分。 |
103017 | 标注结束 | 使用此编码确定绘制地图中的标注所需的时间。 |
103018 | 标注图层: | 这是地图中将要进行标注的图层的列表。还包括提供标注放置障碍的图层的列表。 |
103019 | 要素计数: | 这是为给定范围的特定图层绘制的要素计数。 |
103020 | 图形计数: | 这是为给定范围的特定图层绘制的图形计数。 |
103021 | 正在执行查询 | 使用此编码确定基于要素类的图层在绘制时查询地理数据库所需的时间。 |
103022 | 绘制为掩膜图层 | 图层将用作掩膜图层。 |
103800 | LayerDrawingError | 表示已发生绘制错误。 |
示例:连接到地图服务(ArcMap 客户端)
下例解释了在 ArcMap 中连接到地图服务时可看到的详细消息。已对日志进行编辑以高亮显示与特定 MapServer 相关的消息并移除信息消息。
在 ArcMap 连接到地图服务时(HTTP 连接),将发出七个请求:GetDefaultMapName、GetServerInfo、IsFixedScaleMap、GetSupportedImageReturnTypes 和 GetLegendInfo。第一个请求是 GetDefaultMapName。
方法 | 消息 | 经历的时间 | 编码 |
---|---|---|---|
MapServer.GetDefaultMapName | GetDefaultMapName 已启动。 | 10006 | |
MapServer.GetDefaultMapName | GetDefaultMapName 已完成。 | 0.00032 | 10007 |
GetDefaultMapName 返回地图服务中活动地图的名称。此例中,MapServer 完成 GetDefaultMapName 请求需要 0.00032 秒。下一请求是 GetServerInfo。
方法 | 消息 | 经历的时间 | 编码 |
---|---|---|---|
MapServer.GetServerInfo | GetServerInfo 已启动。 | 10008 | |
MapServer.GetServerInfo | GetServerInfo 已完成。 | 0.06732 | 10009 |
GetServerInfo 返回关于地图当前状态的信息,例如,哪些图层处于可见(打开)状态。此例中,MapServer 完成请求需要 0.06732 秒。下一个是 GetCacheDescriptionInfo。
方法 | 消息 | 经历的时间 | 编码 |
---|---|---|---|
MapServer.GetCacheDescriptionInfo | GetCacheDescriptionInfo 已启动。 | 10064 | |
MapServer.GetCacheDescriptionInfo | GetCacheDescriptionInfo 已完成。 | 0.0003 | 10065 |
GetCacheDescriptionInfo 返回给定地图的缓存描述信息。这包括缓存控制信息、切片缓存信息、切片影像信息和缓存类型信息。此例中,MapServer 完成请求需要 0.0003 秒。发出 GetCacheDescriptionInfo 请求后,ArcMap 发出 HasSingleFusedMapCache 请求。
方法 | 消息 | 经历的时间 | 编码 |
---|---|---|---|
MapServer.HasSingleFusedMapCache | HasSingleFusedMapCache 已启动。 | 10048 | |
MapServer.HasSingleFusedMapCache | HasSingleFusedMapCache 已完成。 | 0.0003 | 10049 |
HasSingleFusedMapCache 确定地图服务是否具有融合缓存。此例中,MapServer 完成请求需要 0.0003 秒。下一请求是 IsFixedScaleMap。
方法 | 消息 | 经历的时间 | 编码 |
---|---|---|---|
MapServer.IsFixedScaleMap | IsFixedScaleMap 已启动。 | 10046 | |
MapServer.IsFixedScaleMap | IsFixedScaleMap 已完成。 | 0.00032 | 10047 |
IsFixedScaleMap 确定地图服务是否具有缓存。此缓存可以是融合缓存或多图层缓存。此例中,MapServer 完成请求需要 0.00032 秒。下一请求是 GetSupportedImageReturnTypes。
方法 | 消息 | 经历的时间 | 编码 |
---|---|---|---|
MapServer.GetSupportedImageReturnTypes | GetSupportedImageReturnTypes 已启动。 | 10044 | |
MapServer.GetSupportedImageReturnTypes | GetSupportedImageReturnTypes 已完成。 | 0.0003 | 10045 |
GetSupportedImageReturnTypes 提供受支持图像格式的列表。此例中,MapServer 完成请求需要 0.00032 秒。最后一个请求是 GetLegendInfo。
方法 | 消息 | 经历的时间 | 编码 |
---|---|---|---|
MapServer.GetLegendInfo | GetLegendInfo 已启动。 | 10040 | |
MapServer.GetLegendInfo | 图层“图层 #1”上的 GetLegendInfo 已启动。 | 10090 | |
MapServer.GetLegendInfo | 图层“图层 #1”上的 GetLegendInfo 已完成。 | 0.00206 | 10091 |
MapServer.GetLegendInfo | 图层“图层 #2”上的 GetLegendInfo 已启动。 | 10090 | |
MapServer.GetLegendInfo | 图层“图层 #2”上的 GetLegendInfo 已完成。 | 0.00087 | 10091 |
MapServer.GetLegendInfo | 图层“图层组成员 #1”上的 GetLegendInfo 已启动。 | 10090 | |
MapServer.GetLegendInfo | 图层“图层组成员 #1”上的 GetLegendInfo 已完成。 | 0.001 | 10091 |
MapServer.GetLegendInfo | 图层“图层组成员 #2”上的 GetLegendInfo 已启动。 | 10090 | |
MapServer.GetLegendInfo | 图层“图层组成员 #2”上的 GetLegendInfo 已完成。 | 0.00086 | 10091 |
MapServer.GetLegendInfo | 图层“栅格图层”上的 GetLegendInfo 已启动。 | 10090 | |
MapServer.GetLegendInfo | 图层“栅格图层”上的 GetLegendInfo 已完成。 | 0.00087 | 10091 |
MapServer.GetLegendInfo | GetLegendInfo 已完成。 | 0.01252 | 10041 |
GetLegendInfo 返回每个图层的图例信息。每个支持图例的图层都有已启动和已完成的消息。这些消息将记录下来,包括为该图层打包图例信息所用的时间。
示例:ExportMapImage
下例解释了使用 ExportMapImage 方法向地图服务请求动态地图图像时可看到的详细日志消息。已对日志进行编辑以高亮显示与特定 MapServer 相关的消息并移除信息消息。
ExportMapImage 过程由九部分组成。其中包括(按顺序):
- 接收请求
- 准备地图
- 地理阶段 - 绘制每个地图图层
- 注记阶段 - 绘制图形、标注和注记
- 选择内容绘制
- 图形选择内容
- 后期绘制 - 绘制自定义要素
- 图像生成
- 过程结束并发送结果
服务器收到 ExportMapImage 请求后,第一个步骤是准备地图。
方法 | 消息 | 经历的时间 | 编码 |
---|---|---|---|
MapServer.ExportMapImage | 开始 ExportMapImage。 | 10010 | |
MapServer.ExportMapImage | 方法:ExportMapImage 的图像生成已启动。 | 10094 | |
MapServer.ExportMapImage | 方法:ExportMapImage 已完成。 | 0.14895 | 10095 |
准备工作包括将 MapDescription 应用于地图和设置要绘制的地图。这包括应用任何必要的地理变换或将选择内容应用于任何图层。此例中,准备工作需要 0.14895 秒。下一步是绘制地图。绘制地图包含多个阶段。第一阶段是地理阶段。
方法 | 消息 | 经历的时间 | 编码 |
---|---|---|---|
Map.Draw | 开始地理阶段。 | 103004 |
这是绘制各图层的要素的阶段。以下是名为“图层 3”的图层示例。
方法 | 消息 | 经历的时间 | 编码 |
---|---|---|---|
Map.Draw | 开始图层绘制:图层 3 | 103000 | |
FeatureLayer.Draw | 正在执行查询。 | 0.00332 | 103021 |
UniqueValueRenderer.Draw | 要素计数: 51 | 103019 | |
Map.Draw | 图层绘制结束:图层 3 | 0.10421 | 103001 |
图层 3 是要素图层。因此,需要对数据库执行查询(编码 103021)。此查询所经历的时间为 0.00332 秒。该时间包括在整个绘制(编码 103001)所经历的时间之内。请勿将该时间添加到“图层绘制结束”(编码 103001)时间中。正在此图层中绘制的要素计数(即指定地图范围内的要素数)报告为 51。另外,请注意该方法中还报告了渲染器类型。此例中,图层 3 使用唯一值渲染器。
当图层为非要素图层,仅报告“开始图层绘制”(编码 103000)和“图层绘制结束”(编码 103001)。以下为针栅格图层的示例。
方法 | 消息 | 经历的时间 | 编码 |
---|---|---|---|
Map.Draw | 开始图层绘制:栅格图层 | 103000 | |
Map.Draw | 图层绘制结束:栅格图层 | 0.64353 | 103001 |
以下示例介绍了图层组的日志消息以及表示地理阶段结束(编码 103001)的消息。
方法 | 消息 | 经历的时间 | 编码 |
---|---|---|---|
Map.Draw | 开始图层组绘制:图层组 | 103002 | |
GroupLayer.Draw | 开始图层绘制:图层组成员 #2 | 103000 | |
FeatureLayer.Draw | 正在执行查询。 | 0.02128 | 103021 |
SimpleRenderer.Draw | 要素计数: 168 | 103019 | |
GroupLayer.Draw | 图层绘制结束:图层组成员 #2 | 0.02934 | 103001 |
GroupLayer.Draw | 开始图层绘制:图层组成员 #1 | 103000 | |
FeatureLayer.Draw | 正在执行查询。 | 0.00898 | 103021 |
SimpleRenderer.Draw | 要素计数: 13 | 103019 | |
GroupLayer.Draw | 图层绘制结束:图层组成员 #1 | 0.01678 | 103001 |
Map.Draw | 图层组绘制结束:图层组 | 0.04732 | 103003 |
Map.Draw | 地理阶段结束。 | 1.01074 | 103005 |
此例中,图层组“图层组”有两个成员图层:“图层组成员 #1”和“图层组成员 #2”。每个图层组成员均已绘制,并按之前介绍的方法根据图层类型记录了消息。请注意,图层组绘制结束的编码 (103003) 不同于图层绘制结束的编码 (103001)。图层组绘制所经历的时间是该图层组内所有成员图层所经历的时间的总和。
绘制地图的下一阶段是注记阶段。本阶段包括绘制地图要素的图形、注记和标注。
方法 | 消息 | 经历的时间 | 编码 |
---|---|---|---|
Map.Draw | 开始注记阶段。 | 103006 |
如果地图范围内存在正进行绘制的图形,则将报告一个计数(编码 103020)。
方法 | 消息 | 经历的时间 | 编码 |
---|---|---|---|
Map.Draw | 开始图形绘制。 | 103014 | |
CompositeGraphicsLayer.Draw | 图形计数: 3. | 103020 | |
Map.Draw | 图形绘制结束。 | 0.00128 | 103015 |
上例中,地图范围内存在三个正在进行绘制的图形,处理时间需要 0.00128 秒。要特别注意,即使地图中没有图形,软件仍需完成一个最小处理量才能循环执行每个阶段。
注记阶段的下一步骤是“动态”要素标注。可通过任意数量的已定义放置规则标注任意数量的图层。每次地图范围发生更改时都会重新标注要素。这需要标注引擎根据所提供的地图文档中设置的规则来重新计算标注位置。系统将会列出要进行标注的地图中的每个图层(编码 103018),以及要用作标注放置障碍的图层的列表。
方法 | 消息 | 经历的时间 | 编码 |
---|---|---|---|
Map.Draw | 开始标注。 | 103016 | |
Map.Draw | 正在标注的图层:图层组成员 #1,图层 #1。正在标注的障碍。 | 103018 | |
Map.Draw | 标注结束。 | 0.20395 | 103017 |
Map.Draw | 注记阶段结束。 | 0.21024 | 103007 |
此例中,有两个正在进行标注的图层:“图层组成员 #1”和“图层 #1”。这两个图层均未用作障碍。
最后三个阶段是选择内容绘制阶段、图形选择内容绘制阶段和自定义绘制阶段。选择内容绘制是指所选的任何地图要素。在下例中,有六个所选要素。大多数情况下,地图服务器几乎不需要处理这三个阶段中的任何一个阶段。
方法 | 消息 | 经历的时间 | 编码 |
---|---|---|---|
Map.Draw | 开始选择内容绘制阶段。 | 103008 | |
Map.Draw | 选择内容绘制阶段结束。 | 0.20223 | 103009 |
Map.Draw | 开始图形选择内容绘制阶段。 | 103010 | |
Map.Draw | 图形选择内容绘制阶段结束。 | 0.00029 | 103011 |
Map.Draw | 开始地图自定义绘制阶段。 | 103012 | |
Map.Draw | 地图自定义绘制阶段结束。 | 0.00028 | 103013 |
ExportMapImage 过程中的最后一步是图像生成。
方法 | 消息 | 经历的时间 | 编码 |
---|---|---|---|
MapServer.ExportMapImage | 方法:ExportMapImage 的图像生成已启动。 | 10098 | |
MapServer.ExportMapImage | 方法:ExportMapImage 已完成。 | 0.25913 | 10099 |
MapServer.ExportMapImage | 结束 ExportMapImage。 | 1.84224 | 10011 |
此例中,生成图像(此例中为 PNG)需要 0.25913 秒。处理整个 ExportMapImage 需要 1.84224 秒。
要特别注意,处理 MapServer 请求所需的时间与处理同一请求的二进制形式所需的时间之间存在差异。此差异与服务器将响应写入数据流所需的的时间量相关。
示例:QueryFeatureData
此例显示了在地图服务中使用 QueryFeatureData 方法查询数据时可遇到的详细日志消息。已对日志进行编辑以高亮显示与特定 MapServer 相关的消息并移除信息消息。
方法 | 消息 | 经历的时间 | 编码 |
---|---|---|---|
MapServer.QueryFeatureData | QueryFeatureData 的查询操作已启动。 | 10022 | |
MapServer.QueryFeatureData | 方法:QueryFeatureData 的查询操作已启动。 | 10094 | |
MapServer.QueryFeatureData | 方法:QueryFeatureData 已完成。 | 0.00111 | 10095 |
MapServer.QueryFeatureData | 方法:QueryFeatureData 的查询操作已启动。 | 10096 | |
MapServer.QueryFeatureData | 方法:QueryFeatureData 已完成。 | 0.95778 | 10097 |
MapServer.QueryFeatureData | QueryFeatureData 已完成。 | 0.96118 | 10023 |