問題

マップ サービス レイヤーを含むドキュメントを開いているとき、または開いた後に、ArcMap がクラッシュする

Last Published: April 25, 2020

説明

ArcMap バージョン 10.5.x 以降を使用する際、ArcMap の起動中、またはマップ サービスを含む既存のマップ ドキュメント (*.mxd) を開いた後に ArcMap がクラッシュします。

[コンテンツ ウィンドウ] でのタブ切り替え、他のレイヤーの追加、フィーチャの編集、レイヤーの表示設定の変更、フィールド演算の使用、ジオプロセシング ツールの実行時に、ArcMap がクラッシュすることがあります。 さらに、アプリケーションがクラッシュするまでの経過時間は、*.mxd を開いた後に使用されるレイヤーやジオプロセシング ツールによって異なります。

アプリケーションはさまざまな理由によってクラッシュするため、この技術情報では、クラッシュの原因がシステムの制限であるかどうかを判断する材料を提供します。

    原因

    クラッシュの大半は、グラフィカル デバイス インターフェイス (GDI) オブジェクトの数がアプリケーションの上限を超えたために発生します。 マップ サービスが MXD に追加される状況で最も頻繁に見られます。このような場合には、複数のシンボル クラスを持つ凡例項目がマップ サービスに多数含まれることがあるからです。

    Windows XP 以降では、システム全体の GDI オブジェクト数の上限は 216 (65,536) です。 これは、OS が開いているアプリケーション間のオブジェクト数を制限することで管理されています。ArcMap の GDI オブジェクト数の上限は 10,000 個です。 ArcMap が消費する GDI オブジェクトの数は、タスク マネージャーで随時確認できます。

    1. [タスク マネージャー] を開きます。
    2. [詳細] タブを選択します。 列のヘッダーを右クリック → [列の選択] を選択します。
    3. [GDI オブジェクト] のチェックボックスをオンにし、[OK] をクリックします。
    4. タスク リストで ArcMap アプリケーションを探します。

    たとえば、MXD のオープン、MXD へのレイヤーの追加、[コンテンツ ウィンドウ] でのタブの切り替え、凡例項目の表示時には、GDI オブジェクト数が増えます。 MXD にマップ サービスが含まれる場合、または ArcMap にマップ サービスを追加する場合は、マップ サービスに含まれるレイヤー数が多ければ、GDI オブジェクト数がさらに増加します。

    ArcMap は、1 つのマップ サービス レイヤーごとに 100 個以上の凡例項目を表示しないという予防策をとっていますが、それぞれ 100 個未満の凡例項目を含むマップ サービス レイヤーが数百個あるような状況には対処できません。 ArcMap はマップ サービス レイヤーの追加時にはクラッシュしませんが、ArcMap を操作したり、マップのレイヤーに対して解析を行ったりすると、GDI オブジェクト数の上限である 10,000 個を超過することがあります。

    以下のドキュメントもご参照ください。

    解決策または対処法

    ArcMap でマップ サービスを操作中に発生するアプリケーションのクラッシュの問題を解決するには、以下の解決策を適宜使用してください。

    • ArcMap を 10.7.x にアップグレードし、クラッシュが解決するかどうかを確認する。 Esri では、ArcMap 10.7 で改良を加え、このようなクラッシュによって発生していた多数のレポートに対処しています。 ArcMap が引き続きクラッシュする場合は、次の解決策に進みます。
    • ArcGIS Pro でドキュメントを開きます。ArcGIS Pro には、ArcMap のような制限はありません。ArcGIS Pro で空白のプロジェクトを作成し、[挿入] タブから [マップのインポート] を選択して、マップ ドキュメントをインポートします。
    • Advanced ArcMap Settings ユーティリティを使用し、凡例項目の最大数をゼロに設定します。 ArcMap 10.5.x 以降では、このユーティリティ (AdvancedArcMapSettings.exe) は次の場所にあります。
      \Program Files (x86)\ArcGIS\Desktop10.x\Utilities\AdvancedArcMapSettings.exe
      ArcMap が描画できるマップ サービス レイヤーの凡例項目の数を変更するには、以下の手順に従います。
      1. コンピューターで実行中のすべての ArcMap のインスタンスを終了します。
      2. Advanced ArcMap Settings ユーティリティを開きます。
      3. [コンテンツ ウィンドウ] の [データ] タブに切り替えます。
      4. [マップ サービス レイヤー] グループで、各マップ サービス レイヤーの凡例項目の最大数を 100 から 0 に変更します。
      5. ArcMap を再起動します。 問題のある MXD を開くか、マップ サービス レイヤーを追加します。

    記事 ID:000021092

    ArcGIS の専門家からヘルプを受ける

    テクニカル サポートへのお問い合わせ

    Esri Support アプリのダウンロード

    ダウンロード オプションに移動

    関連情報

    このトピックについてさらに調べる