ArcGIS for Server に付属する PrintingTools サービスに加えて、別の Web 印刷用サービスを公開しなければならない場合もあります。たとえば、新しいサービスを作成して、マップ レイアウトのユーザー独自のフォルダーをポイントするよう構成できます。また、無償のサービスを公開する一方で、より高度なサービスを有償で提供することもできます。
ユーザー独自の印刷用サービスを作成するには、[Web マップのエクスポート (Export Web Map)] ツールによりジオプロセシング サービスを公開する必要があります。このチュートリアルでは、このプロセスについて説明します。
ArcGIS for Server へのレイアウト テンプレート フォルダーの登録
このチュートリアルでは、準備された ArcMap ドキュメント (MXD) のフォルダーを使用して作業します。このフォルダーには Web マップの印刷用にさまざまなレイアウトが含まれています。これがユーザーのレイアウト テンプレート フォルダーになります。
ユーザーのレイアウト テンプレート フォルダーが、現在、サーバー上にあるか、サーバーからアクセス可能な場合は、そのフォルダーを ArcGIS for Server に登録する必要があります。サーバーへのフォルダーの登録方法の詳細については、「ArcGIS for Desktop を使用したデータの ArcGIS Server への登録」をご参照ください。
レイアウト テンプレート フォルダーをサーバー上、またはサーバーからアクセス可能な場所に移動することができない場合は、何もする必要はありません。レイアウト テンプレート フォルダーは、サービスの公開時にサーバーにコピーされるので、サーバーが確実にそのフォルダーを認識できるようになっています。このオプションを使用するほうが、構成は簡単ですが、将来、レイアウト テンプレートを更新する際に追加の手順を必要とします。
サービスの準備と公開
公開における最初のステップは、サービスに求められるデフォルト値を使って [Web マップのエクスポート (Export Web Map)] ツールを実行することです。次に、[レイアウト テンプレート情報の取得 (Get Layout Templates Info)] スクリプト ツールを実行します。次に、その結果をジオプロセシング サービスとして公開します。
- ArcCatalog、または ArcMap の [カタログ] ウィンドウで、[Toolboxes] > [System Toolboxes] > [Server Tools] > [印刷] の順に選択します。
- [Web マップのエクスポート (Export Web Map)] ツールをダブルクリックして開きます。
- [JSON 形式の Web マップ] パラメーターは空白のままにします。
印刷可能な画像を取得するために、このサービスのユーザーは、このパラメーターでユーザー独自の Web マップの JSON を送信します。ArcGIS Web API、Portal for ArcGIS のアプリ テンプレート、および Web AppBuilder for ArcGIS の印刷ウィジェットによって、その JSON の生成処理が内部で実行されます。
- [出力ファイル] パラメーターについてはデフォルト値のままにします。このツールをサーバーに公開すると、出力がサーバー ジョブ ディレクトリに格納されます。
- [参照] ボタンをクリックし、レイアウトが保存されているフォルダーを参照して選択することで、[レイアウト テンプレート フォルダー] パラメーターを指定します。
- 必要に応じて、ドロップダウン リストからレイアウトの 1 つを選択して [レイアウト テンプレート] パラメーターを設定します。これが、ユーザーによるサービス実行時のデフォルトのレイアウトになります。
- [OK] をクリックして、このツールを実行します。
- [Toolboxes] > [System Toolboxes] > [Server Tools] > [印刷] の順に選択して [レイアウト テンプレート情報の取得 (Get Layout Templates Info)] スクリプト ツールに移動し、これを開きます。
- 凡例
- タイトル テキスト
- 著作権情報テキスト
- 作成者テキスト
- カスタム テキスト エレメント
- ステップ 5 で [Web マップのエクスポート (Export Web Map)] ツールの実行中に指定したのと同じレイアウト テンプレート フォルダーを選択し、[OK] をクリックしてスクリプトを実行します。
- [ジオプロセシング] > [結果] の順にクリックして [結果] ウィンドウを表示します。
- [現在のセッション] を展開し、[ExportWebMap] 結果を右クリックして、[共有] > [ジオプロセシング サービス] の順にクリックします。
- [サービスを公開] を選択し、[次へ] をクリックします。
- ArcGIS Server への接続を選択 (または、ボタンをクリックして新規の接続を追加) し、サービスに名前を指定して、[次へ] をクリックします。
- このサービスが存在するフォルダーを選択します。既存のシステム フォルダーまたは [Utilities] フォルダーには公開できません。ユーザー独自のフォルダーまたはルート フォルダーを使用してください。
フォルダーを選択したら [続行] をクリックします。
ここで [サービス エディター] が表示されます。このウィンドウでは、サービスに使用可能なパラメーターの選択肢の設定など、公開前の追加の準備作業を行うことができます。
- [パラメーター] をクリックして、サービスの [実行モード] が [同期] に設定されていることを確認します。リクエストの処理に数秒以上かかると予測される場合は、代わりに [非同期] を選択することもできます。Portal for ArcGIS で使用される印刷サービスは、[同期] である必要があります。
- [サービス エディター] で、各ツール パラメーターの一覧が表示されている ([JSON 形式の Web マップ]、[出力ファイル]、[フォーマット]、[レイアウト テンプレート フォルダー]、および [レイアウト テンプレート]) 左のパネルを確認します。これらのパラメーターのそれぞれをクリックして、設定されているデフォルト値を調べます。デフォルト値を変更する場合は、[Web マップのエクスポート (Export Web Map)] ツール ダイアログ ボックスに戻って、このチュートリアルの前のステップで実行したとおりに値を設定する必要があります。パラメーターの [入力モード] を [定数値] に設定すると、パラメーターを完全にエンドユーザーに非表示にし、エンド ユーザーにデフォルト値を使用させることができます。
- [サービス エディター] で、[結果の追加] をクリックして、スクリプト ツールの実行による [レイアウト テンプレート情報の取得] の結果を追加します。
- [サービス エディター] を使用して、コンピューターごとに実行を許可する最小/最大インスタンス数など、サービスに求められるその他のプロパティを設定します。
- [公開] をクリックしてサービスを公開します。
データがサーバーにコピーされることに関して警告を受信した場合は、[OK] をクリックします。この処理では、わずかなデータ量のデフォルトの出力画像がコピーされるにすぎません。
- 自分のサービスが正常に公開されていることを、ArcGIS Server Manager または ArcGIS Server Services Directory で参照して確認します。
[レイアウト テンプレート情報の取得 (Get Layout Templates Info)] スクリプト ツールはバージョン 10.4 以降で使用できます。このスクリプト ツールでは、[レイアウト テンプレート情報の取得] タスクを印刷サービスに追加できます。このタスクでは、レイアウト ページのサイズとアクティブ データ フレームのサイズが提供されます。また、以下のレイアウト エレメントが使用できるかどうかも表示されます。
これで、ユーザーの新規サービスが、ArcGIS Web API で提供される印刷ウィジェットで参照できるようになりました。印刷サービスの URL は、ArcGIS Server Services Directory にあります。
Portal for ArcGIS でカスタム印刷サービスを使用するには、この URL (Web マップのエクスポート タスクを含む) をコピーして、[印刷] の [ユーティリティ サービス] ダイアログ ボックスに貼り付けます。ポータルは、印刷ユーティリティ サービスに対して、HTTPS を使用している URL のみを受け付けるので注意してください。
レイアウト テンプレートの更新
レイアウト テンプレート フォルダー内のレイアウトを更新する場合、該当するワークフローは、公開前にレイアウト テンプレート フォルダーをサーバーに登録しているかどうかで決まります (「ArcGIS Server へのレイアウト テンプレートの登録」を参照)。
ArcGIS Server に登録している場合のレイアウト テンプレート フォルダーの更新
レイアウト テンプレート フォルダーをサーバーに登録している場合、これは、サーバーがユーザーのレイアウトを認識できることを意味します。フォルダー内の MXD に対して更新を行うと、変更されたレイアウトがすぐに利用可能になります。新しいレイアウトをテンプレート フォルダーに追加する場合、そのレイアウトにアクセスして使用する前に、印刷サービスを再起動する必要があります。
ArcGIS Server に登録していない場合のレイアウト テンプレートフォルダーの更新
レイアウト テンプレート フォルダーをサーバーに登録していない場合は、公開時にレイアウトがサーバーにコピーされています。サーバー上のテンプレートを更新するには、サービスの上書きを実行する必要があります。上書きを実行するには、次の手順に従います。
- ArcMap で、[Web マップのエクスポート (Export Web Map)] ツールを開き、前述のように、必要なデフォルト値を使ってツールを実行します。
- ジオプロセシング結果を右クリックし、[共有] > [ジオプロセシング サービス] の順に選択します。
- [既存サービスを上書き] オプションをオンにし、[次へ] をクリックします。
- 上書きするサービスの名前をクリックして [継続] をクリックします。
- [サービス エディター] で、すべてのサービス プロパティが目的の値に設定されていることを確認し (すべてのサービス プロパティは、デフォルトで、ユーザーが最初にサービスを公開したときに選択したプロパティに設定されます)、[公開] をクリックします。
選択したオプションによって、初回公開時に設定されたすべてのオプションが上書きされます。レイアウト テンプレート フォルダー (更新を含む) がサーバーにコピーされ、サービスを最初に公開したときにその場所に配置されたレイアウト テンプレート フォルダーを上書きします。
Portal for ArcGIS で印刷サービスを使用する場合の注意事項
Portal for ArcGIS で印刷サービスを使用する予定の場合は、印刷サービス レイアウトへの迅速な更新を可能にするためにユーザーのレイアウト テンプレート フォルダーをサーバーに登録します。レイアウトの更新を終えたら、変更をポータルに反映させるために印刷サービスを再起動します。
レイアウト テンプレート フォルダーに対してレイアウトの追加/削除を行った場合は、印刷サービスを再起動する必要があります。サービスが再起動されたら、ポータルで [組織] > [ユーティリティ サービス] の順に選択して、ポータルの印刷サービスで [更新] をクリックします。詳細については、『Portal for ArcGIS 管理者ガイド』の「マップを印刷するためのポータルの構成」をご参照ください。
ポータルで使用されるレイアウトを ArcMap で作成するときは、次に示すいくつかのベスト プラクティスに従うようにしてください。
- レイアウト内で凡例の左上隅をアンカーして、ポータルでの印刷時に凡例がこの場所に固定されたままになるようにします。
- [タイトル] を挿入し、タイトル テキストを空白のままにしておくことで、印刷時にポータルの Web マップの名前がタイトル テキスト ボックスに読み込まれるようにします。保存されていない Web マップは、[マイ マップ] というタイトルを使用して印刷されます。
- [作成者] 動的テキストを挿入すると、ポータルにログインしているユーザーのフル ネームを印刷できます。
- [現在の日付] 動的テキストを挿入すると、マップが印刷された日付を表示できます。
- [現在の時刻] 動的テキストを挿入すると、マップが印刷された時刻を表示できます。
- [保存日時] 動的テキストを挿入した場合も、マップが印刷された日時が印刷されます。
効果的なページ レイアウトの作成の詳細については、ArcGIS for Desktop ヘルプの「ページ レイアウトのクイック ツアー」をご参照ください。