中文

错误:无法将图元文件映射到内存中。 内存不足

错误消息

导出或打印大型地图时,显示以下错误消息。

“无法将图元文件映射到内存中。 内存不足”

这可以防止创建输出文件并删除临时的增强型 Windows 图元文件格式 (EMF) 文件。

原因

当以任何格式打印或导出 ArcMap 时,会创建一系列 100 MB 的 EMF 文件。 Windows 尝试分配足够的内存来读取每个 100 MB 大小的 EMF 图元文件。 如果无法分配足够大的连续内存块,Windows 将返回 NULL 或 '0' EMF 句柄,且 ArcMap 将显示错误消息。

Windows 中的内存是物理 RAM 和磁盘页面文件的组合。 启动应用程序时会分配内存,且在应用程序关闭时释放内存。 连续使用应用程序会导致内存碎片并减小最大连续块的大小。 当允许计算机闲置时,例如没有进程或鼠标移动时,内存会缓慢执行碎片整理。

具有栅格元素(栅格数据或栅格化矢量对象,例如具有透明或图片填充/标记符号系统的栅格元素)的 E 尺寸地图可轻松达到 2 到 4 GB 的总临时文件大小。 用于存储 2 GB 绘图命令的临时 EMF 文件表示为磁盘上由 20 个 100 MB 大小文件组成的文件链。

创建此大小或更大的地图时,Windows 必须找到至少 100 MB 的连续(完整无碎片)内存,否则它将返回 NULL 句柄,并触发错误。 由于计算机上运行的任何应用程序或服务都可能破坏内存,因此,即便使用适度,完全连续的 100 MB 内存块也会变得稀缺。 即使在具有大容量 RAM(2048 MB 及以上)和大量用于页面文件的磁盘空间(4 GB 及以上)的计算机上,也难以保留连续内存。

解决方案或解决方法

我们强烈建议您使用 ArcGIS Pro 进行打印和导出,特别是在遇到由于 ArcMap 显示引擎限制导致的问题时。 更具体地说,对于一些用户在 ArcMap 中遇到的图形设备接口 (GDI) 限制,ArcGIS Pro 不受此限制影响。 例如,ArcGIS Pro 中本来支持透明度,以防止图层栅格化。 此外,ArcGIS Pro 还支持布局元素中的透明度。

注:
ArcGIS Pro 不支持导出 Adobe Illustrator 文件;建议使用 PDF 或 SVG 进行导出。 同样,由于 ArcGIS Pro 不使用 Windows GDI,因此在 ArcGIS Pro 中无法进行字体替换或回退。 如果使用所选字体不支持的字符,则可能会显示框。
如果无法使用 ArcGIS Pro,请使用以下解决方法之一解决此问题。
  • 更改注册表中的输出大小限制设置以生成较小的临时元文件 (EMF) 绘制文件。
    有关修改临时元文件的帮助,请参阅:操作方法:修改临时元文件大小设置以优化绘制时间的内存使用
  • 简化和概化地图数据。 减少栅格数据的使用。 使用 ArcToolbox 中的裁剪工具生成侧重于布局所需数据的新数据。
  • 降低所有栅格图层的显示质量。
    1. 右键单击“内容列表”中的栅格图层,然后选择属性
    2. 图层属性对话框中,选择显示选项卡。
    3. 显示质量中的滑块从正常向左滑动以降低显示质量。
    4. 单击确定
    [O-Image] Raster Display Quality
  • 将虚拟内存增加到 Windows 操作系统可用的最大值。
    有关更改虚拟内存设置的帮助,请参阅:操作方法:更改操作系统的虚拟内存设置
  • 重新启动计算机,在不运行任何其他应用程序的情况下,立即打开并导出 MXD 文档。 重新启动可释放内存分配,这样可能有助于成功导出或打印地图。
  • 停止使用高度压缩的栅格格式,例如 MrSID 或 ECW,它们必须在输出过程中完全解压缩,并可能消耗大量计算机资源,包括页面文件。 有关详细信息,请参阅下面“相关信息”部分中的相应链接。
  • 从已打开且当前正在显示的图层组中删除用透明度或 BMP/图片标记符号系统符号化的图层。
  • 消除地图中的透明度、图片填充符号和图片标记符号。 这样可以减少输出中的栅格数据量。
    问题:从 ArcMap 进行地图打印或导出时存在不均匀、分块、质量较差或光栅条带

相关信息