FAQ
エラー: メモリにメタファイルを割り当てることはできません。メモリ不足です
ナレッジ番号:1070 | 登録日:2023/05/29 | 更新日:2024/11/21
現象
大きな地図をエクスポートまたは印刷する際に、以下のエラーメッセージが表示されることがあります。
“エラー: メモリにメタファイルを割り当てることはできません。メモリ不足です。
これによって、エクスポートに失敗し出力ファイルが作成されなかったり、一時的な EMF ファイルが削除されずに残ってしまったりします。
理由
ArcMap で印刷や各種ファイル形式へのエクスポートを実行すると、出力サイズに応じて 100MB などの EMF ファイル(テンポラリ メタファイル)がいくつか連続的に作成されます。Windows は、100MB の EMF ファイルを読み込むために十分なメモリを割り当てようとします。もし Windows が十分な連続したブロックのメモリを確保できない場合には、Windows は EMF のハンドルとして NULL あるいは「0」を返すため、冒頭のエラーメッセージが表示されます。
Windows のメモリは、物理メモリとページングファイルとで構成されています。メモリはアプリケーションを立ち上げると割り当てられ、またアプリケーションを閉じると解放されます。アプリケーションの連続的な使用は、メモリの断片化を起こし、連続して利用可能なメモリ ブロックのサイズを小さくします。 メモリの断片化は、マシンがアイドル状態(プロセスやマウスの移動等が一切ない状態)にある間に、徐々に解消されます。
たとえば A0 などの大判用紙に、ラスターレイヤーまたはラスター化されたベクターレイヤー(レイヤーに透過率が設定されている場合や、ピクチャーマーカー、ピクチャー塗りつぶしシンボルが使われている場合など)を含むマップを印刷しようとすると、簡単に 2GB ~ 4GB といったサイズになってしまいます。
このようなサイズのマップを印刷やエクスポートする場合、Windows には少なくとも 100MB(テンポラリ メタファイルのサイズ)の連続した、断片化されていないメモリブロックを必要とします。連続したメモリブロックを確保できない場合には、エラーメッセージが表示されます。メモリの断片化はマシン上で動いているすべてのアプリケーションやサービスによって引き起こされるため、100MB の完全に連続したメモリブロックは、それ程重い処理を行っていない場合でも貴重になることがあります。また、2GB 以上のメモリ、4GB 以上のディスクスペース(ページングファイル用)を持つ PC でも、連続したメモリブロックを確保するのは、困難な場合があります。
対応方法
ArcGIS Pro を利用できる環境であれば、印刷やエクスポートには ArcGIS Pro の使用が推奨されます。特に、ArcMap の描画エンジンが持つ制限による問題を回避できます。ArcMap では描画エンジンとして GDI を使うために問題となるような制限事項も、ArcGIS Pro には該当しません。たとえば、ArcGIS Pro ではレイヤーの透過率がネイティブにサポートされるため、印刷時に透過されたレイヤーのラスター化が起こりません。また、ArcGIS Pro ではレイアウトの要素についても、透過率をサポートしています。
ArcGIS Pro は、AI(Adobe Illustrator)形式のファイルへのエクスポートをサポートしません。代わりに、PDF または SVG へのエクスポートを推奨します。また、ArcGIS Pro は Windows GDI を使用しないため、フォント フォールバック(代替フォント)が使われません。指定されたフォントに存在しない文字が使われている場合、文字の代わりに四角形(□)が表示されます。
ArcGIS Pro を利用できない場合には、以下の回避策いずれかをお試しください。
作成されるテンポラリ メタファイルのサイズを小さくする
以下の手順で出力されるテンポラリ メタファイルのサイズを小さくします。
- 以下の箇所にある AdvancedArcMapSettings.exe を開きます。
C:\Program Files (x86)\ArcGIS\Desktop10.x\Utilities - [印刷 / エクスポート] タブ → [テンポラリ メタファイルの一時サイズ制限] の値を小さくします。
- [適用] → [閉じる] をクリックします。
出力されるラスターデータの容量を減らす
ラスターデータを必要な範囲だけクリップし、容量を減らします。ラスターをクリップする方法は以下の方法があります。
ラスター データをポリゴンの範囲で切り出す (トリミングする) には?
ラスターレイヤーの表示品質を下げる
以下の手順でラスターレイヤーの表示品質を下げることができます。
- ArcMapの [コンテンツ] ウィンドウのラスターレイヤーを右クリックしてプロパティを表示させます。
- レイヤープロパティ内の [表示] タブを選択し [表示品質] スライダーを標準設定から左に動かし、表示品質を下げ、[OK] をクリックします。
Windows が使用できる仮想メモリの設定を増やす
Windows8, Windows 8.1 の場合の設定方法
- [Windows] キーを押しながら [X] キーを押し、 [コントロールパネル] をクリックします。
- [コントロールパネル] → [システム] をクリックします。
- [システム] ウィンドウのメニューから、 [システムの詳細設定] をクリックします。
- [システムのプロパティ] ウィンドウの [詳細設定] タブの [パフォーマンス] の [設定] をクリックします。
- [パフォーマンス オプション] の [詳細設定] タブの [仮想メモリ] の [変更] をクリックします。
- [仮想メモリ] ウィンドウにて、 [すべてのドライブのページング ファイルのサイズを自動的に管理する] のチェックを外します。
- ページングファイルの保存に使用するドライブを選択します。
- [カスタム サイズ] を選び、 初期サイズと最大サイズを設定します。
マイクロソフト社によると、初期サイズには、「すべてのドライブの総ページングファイルサイズ」ボックスに表示されている推奨のサイズを使用することを勧めています。 - [設定] 、 [OK] を 2 度クリックします。
- 全てのウィンドウを閉じ、PCを再起動します。
Windows 7,Windows Server 2008, Windows Vista の場合の設定方法
- [スタート] → [コントロールパネル] → [システム] をクリックします。
- [システム] ウィンドウのメニューから [システムの詳細設定] をクリックします。
- [システムのプロパティ] ウィンドウの [詳細設定] タブの [パフォーマンス] の [設定] をクリックします。
- [パフォーマンス オプション] の [詳細設定] タブの [仮想メモリ] の [変更] ボタンをクリックします。
- [仮想メモリ] ウィンドウにて、 [すべてのドライブのページング ファイルサイズを自動的に管理する] のチェックを外します。
- ページングファイルの保存に使用するドライブを選択します。
- [カスタム サイズ] を選び、 初期サイズと最大サイズを設定します。
マイクロソフト社によると、初期サイズには、「すべてのドライブの総ページングファイルサイズ」ボックスに表示されている推奨のサイズを使用することを勧めています。 - [設定] 、 [OK] を 2 度クリックします。
- 全てのウィンドウを閉じ、PC を再起動します。
PCを再起動する
PCを再起動させ、すぐにマップドキュメントを開き、エクスポートを行ってください (このとき他のアプリケーションは一切起動しないでください)。再起動にてメモリが解放されますので、エクスポートや印刷を行える場合があります。
高圧縮ラスターフォーマットの使用を中止する
MrSID や ECW などの高圧縮のラスターフォーマットの使用を中止してください。 これらのファイルは出力の際に、圧縮されているファイルを全て展開するためページングファイルを含むコンピュータ上のリソースを大量に使用してしまいます。
ラスター化の原因となるレイヤーを削除する
透過表示の設定されたレイヤーや、ピクチャ マーカーシンボル、ピクチャ塗りつぶしシンボル、透過シンボルを使用しているレイヤ-を削除してください。または、透過表示をやめたり、ピクチャーシンボルを使わないようにしてください。
- 以下の箇所にある AdvancedArcMapSettings.exe を開きます。
メタデータ
機能
種類
製品
バージョン