チュートリアル: キャッシュされたイメージ サービスの作成
高速なイメージ サービスを作成するための最も効果的な方法は、それらをキャッシュすることです。イメージ サービスをキャッシュするとき、サーバはユーザが定義した一連の縮尺レベルおよびピクセル サイズでイメージを描画し、事前に処理(キャッシュ)されたイメージを保存します。サーバがイメージへのリクエストを受け取ったときに元のイメージを再び描画するよりも、キャッシュされたイメージの 1 つを返すほうがはるかに高速です。
キャッシュは、あまり変更されないイメージ サービスに適しています。変更されても、ツールを利用してキャッシュをアップデートできます。
効果的なイメージ サービス キャッシュを作成するためには、キャッシュを構築する前に設計と作成作業を行う必要があります。モザイク データセット、ラスタ データセット、またはラスタ データセットやモザイク データセットを参照するレイヤ ファイルからイメージ サービスを作成できます。このチュートリアルでは、ArcGIS Online/Bing Maps/Google マップ タイル スキーマを使用してキャッシュされるイメージ サービスを計画および作成する手順について説明します。続いて、イメージ サービスを作成してキャッシュします。最後に、クライアント アプリケーションでキャッシュをテストします。
イメージ サービスのソースがモザイク データセットである場合は、ArcGIS Online、Google マップ、および Bing Maps で使用されている座標系と同じ WGS 1984 Web メルカトル(球体補正)座標系を使用する必要があります。
このチュートリアルに取り組む際は、市区町村など、かなり狭い範囲のシンプルなデータセットを選択してください。このチュートリアルは、組織内のキャッシュ作成作業に合わせて準備を整えるための練習用として用意されています。説明と手順に細心の注意を払う必要はありますが、最初から完璧にできなくても心配はいりません。適切なキャッシュを設計するには練習が必要です。
このチュートリアルは、主に 3 つのセクションで構成されています。
- イメージ サービスの作成
- イメージ サービスの公開(およびキャッシュの生成)
- キャッシュのテスト
チュートリアルを始める前に
現在 ArcGIS for Server をインストールしただけの状態であれば、ArcMap で ArcGIS for Server に接続してサービスを公開する前に、いくつかの準備作業が必要です。
- ArcGIS Server サイトを構成する方法については、このヘルプ システムの「インストール後の作業」セクションをご参照ください。
- モザイク データセットまたはモザイク データセット レイヤからイメージ サービスを提供する場合は、ArcGIS Image エクステンション が必要ですが、ラスタ データセットまたはラスタ データセット レイヤはこのエクステンションなしで提供できます。
- イメージ サービスのデータをサーバで利用できるようにする方法については、「データを ArcGIS for Server でアクセス可能にする」をご参照ください。
イメージ サービスの作成
イメージ サービスをキャッシュするとき、サーバはユーザが選択した一連の縮尺またはピクセル サイズでイメージ サービスを描画します。イメージ サービスをキャッシュしたら、キャッシュを再作成するか更新しない限り、その表示方法を変更することはできません。これには 2 つの重要な意味があります。
-
イメージ サービスは、キャッシュされる前に各縮尺レベルで表示が適切で正しいラスタを表示する必要があります。
キャッシュされたイメージ サービスは、キャッシュしたすべての縮尺について設計される必要があります。各イメージ サービスは、ラスタがモザイク用に選択され、各縮尺レベルごとに表示されるモザイク手法など独自の一連のプロパティを備えています。
縮尺レベルおよびピクセル サイズの選択は非常に重要です。
選択した縮尺の数が少なすぎると、情報を見逃している、またはイメージ サービスが適切に表示されていないとユーザが感じる可能性があります。選択した縮尺が多すぎたり、不要な縮尺を選択したりすると、キャッシュの作成に時間がかかり、より多くの格納領域が必要になります。逆に、キャッシュ時に使用するタイル スキーマがすでに組織で決定されている場合もあります。タイル スキーマは、作成時の縮尺レベルやピクセル サイズなど、キャッシュの特定のプロパティを決定します。
モザイク データセットをイメージ サービスのソースとして使用するときは、モザイク データセットが持つレベルの数に注意することが適切です。これにより、タイル スキーマを定義するときに適切な縮尺レベルとピクセル サイズを選択できます。レベルの数は、モザイク データセットのセル サイズ レベル テーブルで確認できます。
このチュートリアルでは、組織で ArcGIS Online/Bing Maps/Google マップ タイル スキーマが使用されていると想定します。次の手順に従って作業を開始します。
イメージ サービスの設計
イメージ サービスをキャッシュする利点の 1 つは、ソース データセットの設計段階でパフォーマンスへの影響を心配することなく、さまざまなラスタ関数を適用できることです。一度作成したキャッシュを変更するには、再作成や更新が必要になるため、イメージ サービスに必要なすべての条件を十分に検討してからキャッシュを作成してください。
イメージ サービスとして公開され、ArcGIS Online/Bing Maps/Google マップ タイル スキーマを使用して、公開されるモザイク データセットを作成することがわかっている場合は、WGS 1984 Web メルカトル(球体補正)または WGS 1984 Web メルカトル座標系を使用してモザイク データセットを作成します。
別の投影法でモザイク データセットを作成し、キャッシュに使用する必要がある場合は、必要な投影法のモザイク データセットから、参照されるモザイク データセットを作成する必要があります。これは、モザイク データセットの投影法を変更することができないからです。
イメージ サービスのソース データセットを設計する詳細については、「イメージサービスの準備」をご参照ください。
イメージ サービスの公開
続いて、ArcMap を使用してイメージ サービスを ArcGIS for Server で公開する手順について説明します。この処理では、イメージ サービス キャッシュのスキーマを定義し、イメージ サービスを解析します。これらのタスクが完了したら、イメージ サービスを公開します。
- ArcMap を起動します。
- カタログ ウィンドウでデータセットまたはレイヤを右クリックし、[イメージ サービスとして共有] をクリックします。
- [サービスとして公開] を選択し、[次へ] をクリックします。
- [接続の選択] ドロップダウン リストをクリックして、サーバを選択します。
- 必要に応じて、サービスの新しい名前を入力します。
120 文字を超える名前や、英数字とアンダースコア(_)以外の文字が含まれた名前を使用することはできません。
- [次へ] をクリックします。
- デフォルトでは、ArcGIS for Server のルート ディレクトリ [root] にサービスが公開されます。ルート ディレクトリ内の複数のフォルダにサービスを格納することもできます。サービスを公開するフォルダを選択するか、サービスを格納する新しいフォルダを作成します。
- [続行] をクリックします。
サービス エディタが表示されます。サービス エディタを使用して、イメージ サービスでユーザが実行できる操作を選択したり、サーバがイメージ サービスを公開する方法を細かく制御したりします。
特定のパラメータや機能の詳細については、「イメージ サービスとその機能」をご参照ください。
- サービス エディタの左側のペインで、[ケーパビリティ] をクリックします。
デフォルトでは、[イメージング] が有効になっています。
- [ケーパビリティ]の下の左側のペインで、[イメージング] をクリックしてから情報を参照します。
URL - クライアントがイメージ サービスへのアクセスに使用する URL です。SOAP URL の形式は次のように指定できます: 「http://<サーバ名>:6080/arcgis/services/<フォルダ名(必要に応じて)>/<サービス名>/ImageServer」になります。REST URL の形式は次のように指定できます:「http://<サーバ名>:6080/arcgis/services/<フォルダ名(必要に応じて)>/<サービス名>/ImageServer」になります。
許可される操作 - イメージ サービスを使用する際、使用可能な操作はいくつかあります。これらの各オプションによって、サービスでクライアントができることを制限できます。詳細については、「イメージ サービスとそのケーパビリティ」をご参照ください。
- [サービス エディタ] ダイアログ ボックスの左側のペインで、[キャッシュ] をクリックします。
- [キャッシュのタイルを使用] を選択して、このサービスを描画します。
- [タイル スキーマ] ドロップダウン矢印をクリックし、[ArcGIS Online / Bing Maps / Google マップ] をクリックします。
これにより、ArcGIS Online、Bing Maps、または Google マップのキャッシュ タイル スキーマおよび縮尺レベルを使用することを、キャッシュされたイメージ サービスに指定します。
注意:[タイル スキーマ] ドロップダウン リストから [自動設定] を選択すると、デフォルトのタイル スキーマの生成に使用するレベル数を指定するように求められます。これを変更するには、[高度な設定] をクリックします。
- [推定キャッシュ サイズ] を調べます。次に、[推定キャッシュ サイズ] が 50 MB 未満になるまで [詳細レベル] バーの [最大縮尺レベル] スライダを低く(左に移動)します。これにより、適切なテスト用のキャッシュ サイズになります。
スライダを動かすと、[レベル]、[縮尺]、および [セル サイズ] の値が変わり、最高キャッシュ レベルの情報が表示されます。モザイク データセットを使用しているときは、概要が生成されていないキャッシュの生成のみを選択できる場合があります。
- このチュートリアルでは、他のすべてのデフォルト設定をそのまま使用します。使用するデフォルトの 1 つが、サービスの公開時にキャッシュを自動的に作成することであることに注意してください。これよりも大きなキャッシュについては、別の機会(夜間や週末など)に手動で作成することをお勧めします。
- 左側のパネルで、[高度な設定] をクリックし、[タイル フォーマット] ドロップダウン矢印をクリックし、[JPEG] をクリックします。
JPEG 形式では小さいタイルが作成されるので、キャッシュを格納するために必要なディスク領域が少なくなります。また、クライアントがより短時間でタイルを読み込むことができます。
必要に応じて、[混合] を選択できます。イメージ、および透過表示する必要があるエリアを含んでいるタイプの PNG32 によりキャッシュ タイルが完全にカバーされている場合、混合キャッシュは JPEG を使用します。
- [高度な設定] ボタンをクリックします。
- [格納形式] のドロップダウン矢印をクリックし、[コンパクト] をクリックします。
この形式はキャッシュ タイルを大きなファイルにグループ化します。タイルは個別のファイルとして格納されません。
- [OK] をクリックしてダイアログ ボックスを閉じます。
- [キャッシュ ディレクトリ] ドロップダウン矢印をクリックして、キャッシュを作成するディレクトリを選択します。このリストが空の場合は、作業を進める前にサーバ キャッシュ ディレクトリを追加する必要があります。すべての手順については、「サーバ ディレクトリの作成」をご参照ください。
- このチュートリアルでは、残りのサービス設定をデフォルトの値を使用して続けます。
- サービス エディタで、 解析 をクリックします。
データセットをサーバに公開できるかどうかが検査されます。結果は、[準備] ウィンドウに表示されます。イメージ サービスを公開する前に、エラー を修正する必要があります。これらの問題の解決の詳細については、「GIS リソースの解析」をご参照ください。
ヒント:表示領域を広げるには、[サービス エディタ] の上部にある [折りたたみ] ボタンをクリックします。
- 必要に応じて、Service Editor で プレビュー をクリックします。
Web 上でデータがどのように表示されるかを確認することができます。詳細については、マップのプレビューをご参照ください。
- エラーを修正したら、 [公開] をクリックします。
イメージ サービスの公開がすぐに開始されます。公開の完了後、サーバではキャッシュ タイルの作成が開始され、キャッシュが作成されるまで続行されます。
最大縮尺、サーバを構成するハードウェア、データの範囲などの要因によっては、キャッシュの生成に時間がかかることがあります。このチュートリアル用に地理的範囲の狭いシンプルなラスタ データセットまたはモザイク データセットを選択すれば、キャッシュは数分で完了するはずです。ジオプロセシング ステータス ウィンドウにキャッシュが完了した割合を示すプログレス バーが表示されます。
キャッシュのテスト
キャッシュが完成したら、Web アプリケーションでキャッシュをテストし、イメージ サービスの表示および機能が正常であることを確認します。これは、タイルがアプリケーションによって認識され、正しく使用されることを確認する効果的な方法でもあります。
テストに使用する Web アプリケーションは単純なものでかまいません。イメージ サービス キャッシュのテストには、ArcGIS Server Services Directory を通して利用できる ArcGIS API for JavaScript ビューア アプリケーションを使用する方法が適しています。
- Web ブラウザで Services Directory に移動します。たとえば、「http://myserver:6080/arcgis/rest/services」にアクセスします。
- サービス リストで、イメージ サービスをクリックします。すべてのイメージ サービスには「(ImageServer)」が付加されます。サービスがフォルダに存在する場合は、そのフォルダに移動してサービスを選択します。
- サービスの名前、サービスの説明、およびレイヤのリストを示すページが表示されます。[表示: ArcGIS JavaScript] をクリックします。
- ウィンドウにシンプルな JavaScript Web アプリケーションが表示されます。ズーム レベル スライダのレベルはキャッシュ内の縮尺に対応します。
- イメージ サービスで画面移動を行い、別のレベルにズームします。イメージ サービスを画面移動したりズームしたりすると、イメージ タイルが非常にすばやく表示されることがわかります。
トラブルシューティング
アプリケーションがキャッシュを使用していないようであれば、次の点を確認してください。
- サービス パックのレベルが一致している(サービス パックを適用している場合)。
- ArcGIS Server アカウントに、サーバ キャッシュ ディレクトリの読み書きの権限が与えられている。
Mozilla Firefox を使って Web アプリケーションを表示する場合は、キャッシュ タイルが使用されているかどうかを簡単に確認できます。
- Web アプリケーション内を右クリックして、[ページの情報を表示] を選択します。
- [ページ情報] ウィンドウで、[メディア] ボタンをクリックします。
- リストに表示されたイメージを確認します。サーバのキャッシュ ディレクトリを参照する URL が表示されている場合は、キャッシュが使用されています。