问题

问题:在打开包含地图服务图层的文档期间或之后,ArcMap 崩溃

Last Published: April 25, 2020

描述

使用 ArcMap 10.5.x 或更高版本时,ArcMap 在尝试 打开包含地图服务的现有地图文档 (.mxd) 时或在打开该文档之后崩溃。

在“内容列表”中的选项卡之间切换、添加其他图层、编辑要素、更改图层的可见性、使用“字段计算器”或运行地理处理工具时,ArcMap 可能会崩溃。 此外,在应用程序崩溃之前经过的时间长度取决于打开 .mxd 之后使用的图层或地理处理工具。

因为应用程序可能因多种原因而崩溃 ,本技术文章将提供可帮助确定崩溃的原因是否与系统限制相关的建议。

    原因

    大多数崩溃与图形设备接口 (GDI) 对象的数量超出应用程序限制有关。 这在将地图服务添加到 MXD 的情况下最为常见,因为其中可能包含数十或数百个 具有多个符号类的图例项。

    在 Windows XP 和更高版本中,系统范围的限制为 216 或 65,536 个 GDI 对象。 这是由操作系统通过限制打开的应用程序之间的对象计数来管理的;ArcMap 限制为 10,000 个 GDI 对象。 可以通过任务管理器随时查看 ArcMap 正在消耗的 GDI 对象的数量:

    1. 打开任务管理器。
    2. 选择详细信息选项卡。 右键单击列标题 > 选择列
    3. 选中 GDI 对象复选框,然后单击确定
    4. 在任务列表中找到 ArcMap 应用程序。

    例如,当打开 MXD、向 MXD 添加图层、在内容列表中的选项卡之间切换或显示图例项时,GDI 对象计数会增加。 如果 MXD 包含 地图服务,或者如果有地图服务 添加到 ArcMap 中,则会在地图服务包含大量图层时进一步增加 GDI 对象计数。

    作为预防措施,ArcMap 的每个地图服务 图层最多显示 100 个图例项,但这不会考虑数百个地图服务图层中每个图层均包含不到 100 个图例项的情况 。 即使在添加地图服务 图层时,ArcMap 可能不会崩溃,在 ArcMap 中导航或对 地图中的图层执行分析也 可能导致 超出 10,000 个 GDI 对象限制。

    了解更多:

    解决方案或解决方法

    在 ArcMap 中使用地图服务时,请使用以下一种或多种解决方案(如果适用)来解决任何应用程序崩溃问题。

    • 将 ArcMap 升级到 10.7.x,以查看其是否可以解决崩溃问题。 Esri 已对 ArcMap 10.7 进行了改进, 终止了所收到的 关于这些类型 崩溃的大量报告 。 如果 ArcMap 仍然崩溃,请继续执行下一个解决方案。
    • 在 ArcGIS Pro 中打开文档,因为应用程序没有 与 ArcMap 相同的限制。 在 ArcGIS Pro 中,通过创建空白工程导入地图文档,然后从插入选项卡中选择导入地图
    • 使用“高级 ArcMap 设置”实用程序将最大图例项计数设置为零。 在 ArcMap 10.5.x 和更高版本中,可以在以下位置找到该实用程序 (AdvancedArcMapSettings.exe):
      \Program Files (x86)\ArcGIS\Desktop10.x\Utilities\AdvancedArcMapSettings.exe
      请按照以下说明修改允许 ArcMap 绘制的地图服务图层图例项的数量。
      1. 关闭计算机上运行的所有 ArcMap 实例。
      2. 打开“高级 ArcMap 设置”实用程序。
      3. 切换到 TOC/数据选项卡。
      4. 地图服务器图层组中,将每个 Map Server 图层中图例项的最大数量值从 100 更改为 0。
      5. 重新启动 ArcMap。 打开有问题的 MXD,或添加地图服务图层。

    文章 ID:000021092

    从 ArcGIS 专家处获得帮助

    联系技术支持部门

    下载 Esri 支持应用程序

    转至下载选项

    相关信息

    发现关于本主题的更多内容