Arcgis map export or print Error: Cannot map metafile into memory. Not enough memory
Arcgis map export or print Error: Cannot map metafile into memory. Not enough memory
Link: https://support.esri.com/en/technical-article/000004362
Error Message
When exporting or printing a large map, the following error message is displayed.
"Cannot map metafile into memory. Not enough memory"
This prevents the output file from being created and deletes the interim Enhanced Windows Metafile Format (EMF) file.
Cause
When ArcMap prints or exports to any format, a series of 100 MB EMF files are created. Windows attempts to allocate enough memory to read each 100 MB size EMF metafile. If it cannot allocate a large enough contiguous block of memory, Windows returns a NULL or '0' EMF handle, and ArcMap displays the error message.
Memory in Windows is a combination of physical RAM and disk paging files. Memory is allocated when an application is launched, and it is released when that application is shutdown. Continuous use of applications causes fragmentation of memory and reduces the size of the largest contiguous block. Memory is slowly defragmented when the machine is allowed to sit idle, such as no processing or mouse movements.
An E-size map with raster elements, either raster data or rasterized vector objects, such as those having transparent or picture fill/marker symbology, can easily reach total temp file sizes of 2 to 4 GB. The interim EMF file used to store 2 GB of draw commands is represented as a chain of twenty 100 MB files on disk.
When creating a map of this size or larger, Windows must find at least 100 MB of contiguous (perfectly unfragmented) memory or it returns a NULL handle, and the error is triggered. Because any application or service running on the machine can fragment memory, perfectly contiguous 100 MB memory blocks become scarce after even moderate use. Preserving contiguous memory is difficult even on machines with large amounts of RAM (2048 MB and up), and plenty of disk space for the page file (4 GB and up).
Solution or Workaround
It is highly recommended to use <b>ArcGIS Pro</b> for printing and exporting, especially when experiencing issues caused by the limitations of the ArcMap display engine. More specifically, ArcGIS Pro is not restricted by the graphical device interface (GDI) limitations that some users experience in ArcMap. For example, transparency is natively supported in ArcGIS Pro, preventing the rasterization of layers. Additionally, ArcGIS Pro supports transparency in layout elements.
Note:
ArcGIS Pro does not support exporting Adobe Illustrator files; it is recommended to export using PDF or SVG instead. Also, because ArcGIS Pro does not use the Windows GDI, font substitution or fallback does not occur in ArcGIS Pro. Boxes may appear if using characters unsupported by the chosen font.
If using ArcGIS Pro is not an option, use one of the following workarounds to resolve this issue.
- Change the output size limit setting in the registry to generate smaller temporary metafile (EMF) draw files.
For help with modifying the temp metafile, see: How To: Modify the temp metafile size setting to optimize draw time memory use - Simplify and generalize the map data. Reduce the usage of raster data. Use the clip tools in ArcToolbox to generate new data that focuses on the data required for the layout.
- Reduce the display quality of all raster layers.
- Right-click the raster layer in the Table of Contents and select Properties
- In the Layer Properties dialog box, select the Display tab.
- Lower the display quality in the Display Quality slider from Normal.
- Click OK.

- Increase the virtual memory to the maximum usable by the Windows operating system.
For help with changing virtual memory settings, see: How To: Change the operating system's virtual memory settings. - Restart the computer, and without running any other applications, immediately open and export the MXD document. Restarting releases memory allocations, and this may help export or print the map successfully.
- Discontinue using highly-compressed raster formats, such as MrSID or ECW, which must be completely uncompressed during the output process and can consume a lot of computer resources, including paging file. See the corresponding link in the Related Information section below for more information.
- Remove layers symbolized with transparency or BMP/picture marker symbology from group layers that are turned on and currently being displayed.
- Eliminate transparencies, picture fill symbols, and picture marker symbols from the map. This reduces the amount of raster data in the output.
Problem: Maps print or export blocky, chunky, low quality, or raster banded from ArcMap
Related Information
- FAQ: What are the disadvantages to printing or exporting ArcMap maps that contain MrSID and/or ECW data?
- HowTo: Change the operating system virtual memory settings
- Bug: Transparent/rasterizing layers that are part of a group layer force the entire group layer to rasterize on output
- HowTo: Create a multiple layer marker symbol
- Problem: Maps print or export blocky, chunky, low quality, or raster banded from ArcMap
- HowTo: Use the Output Image Quality option
- HowTo: Add transparency to a layer
- HowTo: Detect if any layers use transparency or picture marker symbology and how many layer masks are present in a map
- FAQ: Can HKEY_CURRENT_USER be edited in the registry for a restricted user profile, when logged in as the administrator?
Last Published: 6/9/2018
Arcgis map export or print Error: Cannot map metafile into memory. Not enough memory的更多相关文章
- Map.putAll方法——追加另一个Map对象到当前Map集合(转)
该方法用来追加另一个Map对象到当前Map集合对象,它会把另一个Map集合对象中的所有内容添加到当前Map集合对象. 语法 putAll(Map<? extends K,? extends V ...
- JAVA中List转换String,String转换List,Map转换String,String转换Map之间的转换类
<pre name="code" class="java"></pre><pre name="code" cl ...
- Map.putAll方法——追加另一个Map对象到当前Map集合
转: Map.putAll方法——追加另一个Map对象到当前Map集合(转) 该方法用来追加另一个Map对象到当前Map集合对象,它会把另一个Map集合对象中的所有内容添加到当前Map集合对象. 语法 ...
- Java遍历Map键、值。获取Map大小的方法
Map读取键值对,Java遍历Map的两种实现方法 第一种方法是根据map的keyset()方法来获取key的set集合,然后遍历map取得value的值 import java.util.HashM ...
- 各种Map的区别,想在Map放入自定义顺序的键值对
今天做统计时需要对X轴的地区按照地区代码(areaCode)进行排序,由于在构建XMLData使用的map来进行数据统计的,所以在统计过程中就需要对map进行排序. 一.简单介绍Map 在讲解Map排 ...
- JAVA中遍历Map和Set方法,取出map中所有的key
Java遍历Set集合 1.迭代器遍历: Set<String> set = new HashSet<String>(); Iterator<String> it ...
- map集合修改其中元素 去除Map集合中所有具有相同值的元素 Properties长久保存的流操作 两种用map记录单词或字母个数的方法
package com.swift.lianxi; import java.util.HashMap; import java.util.Iterator; import java.util.Map; ...
- Fastjson 序列化,反序列化Map对象排序问题(字符串转map,map转字符串)
背景 记录项目中遇到的 关于fastjson jsonobject转string乱序,string转jsonObject乱序问题的解决方案 fastJson issues 问题来源描述参见: http ...
- Map随笔:最常用的Map——HashMap
目录 Map随笔:最常用的Map--HashMap 前言: 1,HashMap的结构 2,HashMap的一些属性(JDK8) 3,HashMap的构造函数(JDK8) 4,HashMap的一些方法( ...
随机推荐
- POI操作Excel(二)
注意:HSSFWorkBook对应2003版Excel XSSFWorkBook对应2007以上的Excel 一.创建时间单元格 public void helloPoi3() throws ...
- Unity中进程间通信——使用Protobuf-net序列化与反序列化
基于ProtoBuf协议实现网络传输(上) Protobuf 全称Protocol Buffers 是一种轻便高效的结构化数据存储格式,可以用于结构化数据串行化,很适合做数据存储或 RPC 数据交换格 ...
- Mysql 64位解压版的安装
先下载解压版的mysql 下载地址 https://dev.mysql.com/downloads/file/?id=474496 解压 进到里面新建这个文件夹和文件 打开my.ini文件(用文本编辑 ...
- web框架原理
web框架的原理: 所有的web应用其实本质上就是socket服务端,而我们的浏览器就是socket客户端. 那么知道了这个之后我们就可以基于socket来写一个我们的服务端: import sock ...
- android 开发 时间选择器TimePicker的使用
android系统自带时间控件:DatePicker 日期显示控件 DatePickerDialog 日期对话框控件TimePicker 时间显示控件 TimePickerDialog 时间对话框控件 ...
- LeetCode 2. add two numbers && 单链表
add two numbers 看题一脸懵逼,看中文都很懵逼,链表怎么实现的,点了debug才看到一些代码 改一下,使本地可以跑起来 # Definition for singly-linked li ...
- [Unity优化]UI优化(一):RaycastTarget
参考链接: http://www.manew.com/thread-100366-1-1.html https://www.jianshu.com/p/3082ebf8a342 https://blo ...
- [Android]Android布局优化之<include />
转载请标明:转载于http://www.cnblogs.com/Liuyt-61/p/6602891.html -------------------------------------------- ...
- java中的排序--排序容器_TreeSet与TreeMap
1.TreeSet:数据元素可以排序且不可重复. 对比: (1)Set接口:HashSet,元素必须重写hashcode和equals方法. (2)TreeSet:只要可以排序即可.去重:比较等于0即 ...
- 《汇编语言 基于x86处理器》第七章整数运算部分的代码
▶ 书中第七章的程序,使用各种位移运算,加深了对内存.寄存器中整数类型变量存储的认识 ● 代码,双字数组右移 4 位 INCLUDE Irvine32.inc COUNT = ; 右移位数 .data ...