ArcGIS Proのプロジェクトを他の編集者と共有したり、プロジェクトに格納されたデータをそのまま受け渡したい時に使うツールに「プロジェクトのパッケージ化」があります。しかし、何かしらのエラーが発生してしまい上手くいかないケースが多々ありました(-_-;)。本記事では、様々な方法でプロジェクトのパッケージ化を試して成功した例を紹介します。
プロジェクトのパッケージ化とは
プロジェクト パッケージは、レイヤーが参照するすべてのマップとデータ、フォルダー接続、ツールボックス、ジオプロセシング履歴、および添付ファイルが含まれているファイルです。プロジェクト パッケージ (.ppkx ファイル) を作成すると、プロジェクトを共有できます。
プロジェクト パッケージを使用すると、ArcGIS Online または ArcGIS Enterprise を通じて、ワークグループ内の同僚、組織の部門間、またはその他の ArcGIS ユーザーと、プロジェクトを共有できます。 プロジェクトをパッケージ化して、特定のプロジェクトのアーカイブまたはスナップショットを現在の状態で作成することもできます。
参考資料:プロジェクト パッケージの共有—ArcGIS Pro | ドキュメント
パッケージ化の進め方
リボンの [共有] タブをクリックします。 [パッケージ] グループで、[プロジェクト パッケージ] をクリックします。[プロジェクトのパッケージ化] ウィンドウが表示されます。
パッケージの保存先 (ArcGIS Online アカウントまたはディスク上のファイル) を指定します。名前を指定し、パッケージをファイルに保存する場合はディスク上の新しいパッケージの場所も入力します。
ここでの注意点として、ディスク上に保存する場合は、Cドライブ直下への保存が良いでしょう。
[アイテムの詳細] > [名前] 欄で以下をご確認してください。
・ C ドライブ直下に gis などのフォルダーを作成し、パッケージ化します。
例 C:\gis
・ 出力データ名や出力先のパス (フォルダー名) には、記号や空白スペースが含まないようにします。
※ 作成したパッケージを ArcGIS Online に共有することを想定されている場合は、出力パッケージ名は半角英字で指定してください。
必要に応じ、[概要] フィールドと [タグ] フィールドを完成させます。これらのフィールドには、ArcGIS Pro 設定の [情報] ページ上のプロジェクト メタデータの情報が設定されます。サマリーとタグは、ArcGIS Enterprise 10.9 以前のポータルで共有する場合は必須です。最大 128 個のタグを入力できます。
[分析] をクリックして潜在的な問題がないか確認します。エラーと警告は [メッセージ] タブにリストされます。 メッセージを右クリックしてヘルプ トピックを開くか、ソフトウェアで処置を行います。 GIS リソースを共有するには、エラー を解決する必要があります。 警告 の解決は推奨されますが、必須ではありません。GIS リソースの解析の詳細
パッケージの整合チェックが完了後、[パッケージ] をクリックして実行します。
格納しているレイヤーのデータ量が、数MBの場合は数分、数GBの場合は数十分掛かりますので、気長に待ちましょう。上図のように「正常に作成されました」と表示されると成功です。
- エンタープライズ データベース、UNC パス フォルダー、フィーチャ サービスのデータをファイル ジオデータベースにコピーし、スタイルを含め、フォルダー、サーバー、データベースへの接続を削除する場合は、必要に応じて [組織外で共有] オプションをオンにします。このオプションをオフにすると、プロジェクトを展開した後に、エンタープライズ データベース データ、UNC パス データ、スタイル、接続が引き続き参照されます。
- 必要に応じて [ツールボックスを含む] オプションをオンにすると、すべてのプロジェクト ツールボックスとツールで参照されるデータを含めることができます。このオプションがオンでない場合、デフォルト ツールボックスを除くプロジェクト ツールボックスは含まれません。 接続されているフォルダー内のツールボックスは、プロジェクト ツールボックスとは見なされないため、この設定の影響を受けません。
- 必要に応じて [履歴アイテムを含む] オプションをオンにすると、すべてのジオプロセシング履歴アイテムと、履歴アイテムを再実行するために必要なデータを含めることができます。このオプションがオンでない場合、プロジェクトのジオプロセシング履歴アイテムは含まれません。 履歴アイテムが含まれている場合は、ツールを再実行するために必要なすべてのデータが存在し、アクセスできることを確認してください。 これらの要件が満たされていない場合、パッケージ化は失敗します。
- パッケージをオンライン アカウントにアップロードする場合、[フォルダー] メニューを使用して、パッケージをポータル コンテンツのどこに保存するかを指定します。 デフォルトでは、パッケージはコンテンツのルートに保存されます。 必要に応じて、[参照] ボタン をクリックしてフォルダーを作成するか、既存のフォルダーを選択します。 テキスト ボックスにフォルダー名を入力することもできます。
- パッケージをオンライン アカウントにアップロードする場合、その共有方法を次のように指定します。
[すべての人に公開] – コンテンツが一般公開されます。 誰もがコンテンツにアクセスして表示することができます。
[組織] – コンテンツを組織内のすべての認証済みユーザーと共有します。 このオプションは、組織アカウントでサイン インした場合に使用できます。
[グループ] – 所属するグループのメンバーとコンテンツを共有します。共有レベルをアイテムの所有者に設定するには、すべてのオプションをオフにしておきます。
パッケージ化に失敗した場合の対処法
出力先のパスや [分析] に問題がない場合でもエラーが発生してしまう場合があります。
「外部共有プロセスが失敗しました。」というエラー表示がその一例です。
先ほどは、 [共有] タブ → [プロジェクト] からパッケージ化を行っておりますが、 [解析] タブ → [ツール]→[ジオプロセシング] ウィンドウ → [データ管理ツール] → [パッケージ] → [プロジェクトのパッケージ化] ツールからパッケージ化を行う方法もあります。
上記でも問題が発生する場合は、空の新規プロジェクトを起動し、プロジェクトのパッケージ化を行っってエラーが発生するか確認しましょう。この時、問題がなければ、特定のプロジェクトが原因と考えられ、「外部共有プロセスが失敗しました」というエラーは、プロジェクト内のレイヤーが原因の可能性があります。
私の場合は、ここで別のエラー「ERROR 160331:テーブル名が正しくありません」が表示されました。ArcGIS Proのサイトでは、「このエラーはごくまれにしか発生しないため、一般的な原因は特定されておらず、現時点で解決策はありません。」と記載されております。
160331: テーブル名が正しくありません。—ArcGIS Pro | ドキュメント
解決方法
上記2つの方法でもパッケージ化に失敗する場合は以下2つの解決方法を試してみましょう。
解決方法1(永続的なデータへのエクスポート)
各プロジェクトには複数のベクター(ポイントやポリゴン)およびラスター(画像)が追加されているため、テーブル結合を行っていたり、ラスター関数を使用した結果が追加されていたり、一時的なデータがプロジェクトに含まれている場合は、永続的なデータに変換する必要があります。
ベクターのエクスポートは、[コンテンツ] ウィンドウで対象のレイヤーを右クリック → [データ] から[フィーチャやラスターのエクスポート]を行うことで永続的なデータに変換できます。その後、テーブル結合を行っている場合は結合を解除し、ラスター関数を使用した結果を削除してください。
ラスターのエクスポート自体も [コンテンツ] ウィンドウでラスターを右クリック → [データ] → [ラスターのエクスポート] で可能ですが、ラスターの場合も、プロジェクトをパッケージ化したらベクターと同様にパッケージ化されるため、他の方に共有することが可能です。
[〇〇のエクスポート]を選択後、[パラメータ欄]の出力フィーチャクラスに保存先とファイル名を指定します。保存方法は色々ありますが、私の場合は、全てのファイルを半角英字(記号や空白スペースは除く)で保存し、ラスターファイルは拡張子(.tiff)で統一して保存しました。
全ファイルのエクスポートが完了後、元データを削除して再度プロジェクトのパッケージ化を行うと無事成功しました!( ´∀` )
本ケースで発生したエラーは、解決方法1で解決されました。
ベクターとラスターの全レイヤーを半角英字(記号や空白スペースは除く)でCドライブ直下のフォルダにエクスポート後、エクスポート前の元データを削除して「プロジェクトのパッケージ化」を実行すると成功しました。
解決方法2(Esriテクニカルサポートへの問い合わせ)
万が一、解決方法1でもエラーが発生する場合は、どういったエラーが発生しているのかを確認後、MyEsriのテクニカルサポートへ問い合わせを行い、状況を詳細に伝えましょう。問い合わせフォームには添付書類(失敗時のスクリーンショットや実行時のログ履歴)を添付して提出すると、サポートチームも把握がしやすくなります。
テクニカルサポートのリンクは右記にのせときます。ArcGIS Pro テクニカル サポート | Esri
解決方法3(原因のレイヤーを特定する)
プロジェクトに追加されているレイヤーを 1 つずつ削除していき、原因となっているレイヤーを特定します。もしくは、多くのレイヤーがマップに追加されている場合、はじめはおおまかに半分程度レイヤーを減らして確認 → エラーが解消されなければ再度レイヤーを半分に減らす、を繰り返し、原因のレイヤーが含まれるレイヤー群を特定してみます。
この方法では、原因となるレイヤーの特定が目的ですが、マップからレイヤーを削除してしまうと再度追加する必要があるため、必要に応じてプロジェクト フォルダーごとコピーし、コピーしたプロジェクトで試してみて下さい。
レイヤーの保存場所は、把握しておきましょう。
レイヤーを選択後、右クリック → [プロパティ] → [ソース]から格納場所を確認できます。あるいは、[表示]タブ → [カタログ]ウィンドウ → [フォルダー] から確認できます。
特に、プロジェクト内で長年使用しているベクターファイルやラスターファイルが現在のArcGIS Proのバージョンに適しているのか、格納場所のファイルと紐づけられているかの確認ははじめにしておきましょう。