高速なイメージ サービスを作成するための最も効果的な方法は、それらをキャッシュすることです。イメージ サービスをキャッシュするとき、サーバーはユーザーが定義した一連の縮尺レベルおよびピクセル サイズでイメージを描画し、事前に処理 (キャッシュ) されたイメージを保存します。サーバーがイメージへのリクエストを受け取ったときに元のイメージを再び描画するよりも、キャッシュされたイメージの 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 Extension が必要ですが、ラスター データセットまたはラスター データセット レイヤーはこのエクステンションなしで提供できます。
- イメージ サービスのデータをサーバーで利用できるようにする方法については、「データを 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://gisserver.domain.com:6080/arcgis/services/folder/service/ImageServer。REST URL の形式は次のように指定できます: http://gisserver.domain.com:6080/arcgis/rest/services/folder/service/ImageServer。
許可するオペレーション - イメージ サービスを使用する際、使用可能な操作はいくつかあります。これらの各オプションによって、サービスでクライアントができることを制限できます。詳細については、「イメージ サービスとそのケーパビリティ」をご参照ください。
- [サービス エディター] ダイアログ ボックスの左側のウィンドウで、[キャッシュ] をクリックします。
- [キャッシュのタイルを使用] を選択して、このサービスを描画します。
- [タイル スキーマ] ドロップダウン矢印をクリックし、[ArcGIS Online / Bing Maps / Google マップ] をクリックします。
これにより、ArcGIS Online、Bing Maps、または Google マップのキャッシュ タイル スキーマおよび縮尺レベルを使用することを、キャッシュされたイメージ サービスに指定します。
注意:
[タイル スキーマ] ドロップダウン リストから [自動設定] を選択すると、デフォルトのタイル スキーマの生成に使用するレベル数を指定するように求められます。これを変更するには、[高度な設定] をクリックします。
- [推定キャッシュ サイズ] を調べます。次に、[推定キャッシュ サイズ] が 50 MB 未満になるまで [詳細レベル] バーの [最大縮尺レベル] スライダーを低く (左に移動) します。これにより、適切なテスト用のキャッシュ サイズになります。
スライダーを動かすと、[レベル]、[縮尺]、および [セル サイズ] の値が変わり、最高キャッシュ レベルの情報が表示されます。モザイク データセットを使用しているときは、概要が生成されていないキャッシュの生成のみを選択できる場合があります。
- このチュートリアルでは、他のすべてのデフォルト設定をそのまま使用します。使用するデフォルトの 1 つが、サービスの公開時にキャッシュを自動的に作成することであることに注意してください。これよりも大きなキャッシュについては、別の機会 (夜間や週末など) に手動で作成することをお勧めします。
- 左側のパネルで、[高度な設定] をクリックし、[タイル フォーマット] ドロップダウン矢印をクリックし、[JPEG] をクリックします。
JPEG 形式では小さいタイルが作成されるので、キャッシュを格納するために必要なディスク領域が少なくなります。また、クライアントがより短時間でタイルを読み込むことができます。
必要に応じて、[混合] を選択できます。イメージ、および透過表示する必要があるエリアを含んでいるタイプの PNG32 によりキャッシュ タイルが完全にカバーされている場合、混合キャッシュは JPEG を使用します。
- [高度な設定] ボタンをクリックします。
- [格納形式] のドロップダウン矢印をクリックし、[コンパクト] をクリックします。
この形式はキャッシュ タイルを大きなファイルにグループ化します。タイルは個別のファイルとして格納されません。
- [OK] をクリックして、ダイアログ ボックスを閉じます。
- [キャッシュ ディレクトリ] ドロップダウン矢印をクリックして、キャッシュを作成するディレクトリを選択します。このリストが空の場合は、作業を進める前にサーバー キャッシュ ディレクトリを追加する必要があります。すべての手順については、「サーバー ディレクトリの作成」をご参照ください。
- このチュートリアルでは、残りのサービス設定をデフォルトの値を使用して続けます。
- [サービス エディター] で、 [分析] をクリックします。
データセットをサーバーに公開できるかどうかが検査されます。結果は、[準備] ウィンドウに表示されます。イメージ サービスを公開する前に、エラー を修正する必要があります。これらの問題の解決の詳細については、「GIS リソースの解析」をご参照ください。
ヒント:
表示領域を広げるには、[サービス エディター] の上部にある [折りたたみ] ボタンをクリックします。
- 必要に応じて、[サービス エディター] で [プレビュー] をクリックします。
Web 上でデータがどのように表示されるかを確認することができます。詳細については、「マップのプレビュー」をご参照ください。
- エラーを修正したら、 [公開] をクリックします。
イメージ サービスの公開がすぐに開始されます。公開の完了後、サーバーではキャッシュ タイルの作成が開始され、キャッシュが作成されるまで続行されます。
最大縮尺、サーバーを構成するハードウェア、データの範囲などの要因によっては、キャッシュの生成に時間がかかることがあります。このチュートリアル用に地理的範囲の狭いシンプルなラスター データセットまたはモザイク データセットを選択すれば、キャッシュは数分で完了するはずです。ジオプロセシング ステータス ウィンドウにキャッシュが完了した割合を示すプログレス バーが表示されます。
キャッシュのテスト
キャッシュが完成したら、Web アプリケーションでキャッシュをテストし、イメージ サービスの表示および機能が正常であることを確認します。これは、タイルがアプリケーションによって認識され、正しく使用されることを確認する効果的な方法でもあります。
テストに使用する Web アプリケーションは単純なものでかまいません。イメージ サービス キャッシュのテストには、ArcGIS Server Services Directory を通して利用できる ArcGIS API for JavaScript ビューアー アプリケーションを使用する方法が適しています。
- Web ブラウザーで Services Directory に移動します。URL の例は http://gisserver.domain.com:6080/arcgis/rest/services です。
- サービス リストで、イメージ サービスをクリックします。すべてのイメージ サービスには「(ImageServer)」が付加されます。サービスがフォルダーに存在する場合は、そのフォルダーに移動してサービスを選択します。
- サービスの名前、サービスの説明、およびレイヤーのリストを示すページが表示されます。[View In: ArcGIS JavaScript]をクリックします。ウィンドウにシンプルな JavaScript Web アプリケーションが表示されます。
- A window with a simple JavaScript web application appears. The levels in the zoom-level slider correspond to the scales in your cache.
- イメージ サービスで画面移動を行い、別のレベルにズームします。イメージ サービスを画面移動したりズームしたりすると、イメージ タイルが非常にすばやく表示されることがわかります。
トラブルシューティング
アプリケーションがキャッシュを使用していないと思われる場合は、ArcGIS Server アカウントにサーバー キャッシュ ディレクトリの読み書き権限が付与されていることを確認します。
Mozilla Firefox を使って Web アプリケーションを表示する場合は、キャッシュ タイルが使用されているかどうかを簡単に確認できます。
- Web アプリケーション内を右クリックして、[ページの情報を表示] を選択します。
- [ページ情報] ウィンドウで、[メディア] ボタンをクリックします。
- リストに表示されたイメージを確認します。サーバーのキャッシュ ディレクトリを参照する URL が表示されている場合は、キャッシュが使用されています。