マップ サービスを ArcGIS Server サイトに公開するときに、必要に応じて、ArcGIS Web API などのサーバーのクライアントがマップ サービスでのレイヤーの外観と振舞いを動的に変更できるように選択することができます。マップに表示されるレイヤー、レイヤー シンボル、レイヤーの順序と位置、ラベリングなどの決定を、ダイナミック レイヤーを使用することによってサーバー上で実行できます。このように、ダイナミック レイヤーによってユーザーがマップに対して行える操作を拡張することができます。
たとえば、米国の州のレイヤーでマップ ドキュメントを作成し、2000 年度の各州の人口に基づいて色分類を適用しているとします。このマップをサービスとしてサイトに公開し、このサービスを ArcGIS API for JavaScript Web アプリケーションで参照しています。ここで、この Web アプリケーションのユーザーが各州の 2000 年の人口を別のカラー ランプで表示できるようにしたいとします。マップ サービスでダイナミック レイヤーを有効にすることにより、クライアントは Web アプリケーションで州のシンボルを自由に変更できるようになります。変更したカラー ランプの適用はサーバーによって処理され、結果として作成されたマップ イメージがクライアント アプリケーションに返されます。
注意:
ダイナミック レイヤーを有効にするプロセスは ArcGIS for Desktop で行われますが、ダイナミック レイヤーを使ってシンボルを変更したり、レイヤーを追加したりする処理には通常、コードが使用されます。ArcGIS Web API には、ダイナミック レイヤーを有効にしたマップ サービスの利用方法に関するドキュメントが含まれています。
ダイナミック ワークスペース
フィーチャ レイヤー、フィーチャクラス、フィーチャ属性テーブル、シェープファイル、ラスター、スタンドアロン テーブルなどのデータをマップ サービスに動的に追加するには、追加するデータを格納できるようにワークスペースを設定する必要があります。ダイナミック ワークスペースは、エンタープライズ データベース、エンタープライズ ジオデータベース、ファイル ジオデータベース、またはサーバーからアクセス可能なディスク上のファイル ディレクトリのどれでもかまいません。
ワークスペースを選択すると、マップ サービスで利用可能なワークスペース内でワークスペースを一意に識別するための ID が生成されます。マップ サービスではこの ID を使用して、ダイナミック レイヤー リクエストで指定されたデータ ソースに接続します。この ID は、マップ サービスのダイナミック ワークスペースを構成するときに変更できます。
ダイナミック ワークスペースを選択する際の注意事項
ダイナミック ワークスペースを選択する際は、マップ サービスをサポートするために必要なレイヤーおよびテーブルだけをワークスペースに含めることをお勧めします。エンタープライズ ジオデータベースをダイナミック ワークスペースとして選択する場合は、データベースに接続するアカウントにデータに対する最小限のアクセス権限を付与する必要があります。可能であれば、独立した本番データベースを用意してダイナミック ワークスペースとして使用することをお勧めします。データベースでのデータ アクセス権限の設定については、使用するデータベース プラットフォームに応じて次のトピックをご参照ください。
- DB2 でのユーザー権限
- Informix でのユーザー権限
- Netezza でのユーザー権限
- Oracle でのユーザー権限
- PostgreSQL でのユーザー権限
- SQL Server でのユーザー権限
- Teradata でのユーザー権限
上の方法を利用できない環境では、マップ サービスおよび Web アプリケーションに対するアクセスを制限することを検討してください。HTTPS を使用して Web アプリケーションとマップ サービス間の通信を暗号化することもできます。これにより、Web アプリケーションが送信したサービス リクエストを暗号化して、悪意を持った組織にワークスペース ID が取得されるのを防ぐことができます。詳細については、「GIS Web サービスへのアクセスの制限」をご参照ください。
ダイナミック レイヤーの要件
ArcGIS Server アカウントには、マップ サービスに動的に追加するデータが含まれているダイナミック ワークスペースに対する読み取りアクセス以上の権限が必要です。公開時にワークスペースに対する共有権限とファイル権限を設定する方法の詳細については、「データを ArcGIS for Server でアクセス可能にする」をご参照ください。
ダイナミック レイヤーの全要件の一覧と、マップ サービス内のダイナミック レイヤーによって提供される機能については、「マップ サービスでサポートされている機能」をご参照ください。