マップを Web 上で使用可能にするには、まず ArcGIS Desktop でマップを作成してから、Web で共有します。ArcMap を使用している場合、マップをマップ サービスとして ArcGIS Server で公開します。ArcGIS Pro を使用している場合、フェデレートされた ArcGIS Server サイトでマップ サービスを活用して、マップを Web マップとして ArcGIS Enterprise ポータルで共有できます。
マップ サービスを使ってできることの多くは、初期の作成段階で準備する必要があります。サイトで公開しようとするマップを作成する際の注意事項を、以下に示します。
一般的なヒント
次のヒントは、ArcGIS Server サイトで公開するすべてのマップ ドキュメントにとって重要です。
- データ フレーム名やレイヤー名での英数字以外の文字 (スペースを除く) の使用は避けてください。 サービスを公開するときに、データ フレーム名およびレイヤー名は、URL、キャッシュ フォルダー名、および Web サービス リクエスト パラメーターで使用される場合があります。英数字以外の文字がこれらに使用された場合、正しく解釈されない恐れがあります。 サービスが OGC 仕様によって公開される場合、注意してください。 たとえば、WMS サービスで使用できない文字の一覧については、「使用可能な WMS サービス プロパティ」をご参照ください。
- ドキュメントのプロパティに機密情報を設定しないでください。ArcGIS Server には Services Directory が備わっています。このアプリケーションを使用して、サーバーのコンテンツを参照し、サービスに関するメタデータを取得することができます。Services Directory を利用して、すべてのユーザーがサービスを表示できるようにする場合でも (ArcGIS Server のデフォルト構成)、マップ ドキュメントに共有したくない機密情報が含まれている場合があります。 表示される情報を確認するには、マップ ドキュメントを ArcMap で開き、メイン メニューで [ファイル] > [マップ ドキュメント プロパティ] の順に選択します。マップを公開するときに [サービス エディター] を使用して、作成者のユーザー名やコメントなどの表示したくない情報を削除することができます。 マップ サービスの目的や対象ユーザーを反映するように、必要に応じて情報を編集してください。
- すべてのマップ サービス レイヤーをマップ ドキュメントから削除します。サービス レイヤーが埋め込まれているマップ ドキュメントを公開することは、許可されていません。
- データ フレームの背景色は、デフォルトの NULL 背景色のままにせず、明示的に設定してください。マップ サービスは背景色を透過表示として扱うため、マップ内の別の場所で使用されている色は選択しないでください。マップの白い部分が透過表示されないようにするには、背景色を灰色がかった白色に設定することができます (RGB 254、255、255 など)。
[データ フレーム プロパティ] ダイアログ ボックスの [フレーム] タブで背景色を設定できます。
レイヤー ID とテーブル ID を保存するためのマップ ドキュメントの設定
旧バージョンの ArcGIS Server では、ソース マップ ドキュメントの変更後、マップおよびフィーチャ サービスのレイヤー ID とテーブル ID は保存されませんでした。更新された ID を使用するように、レイヤーとテーブルを使用するすべてのクライアント アプリケーションを更新する必要がありました。クライアント アプリケーションの更新を避けるために、以下の説明に従って、レイヤー ID とテーブル ID を保存するようにマップ ドキュメントを構成することをお勧めます。
- ArcMap でソース マップ ドキュメント (MXD) を開きます。
- 目的のデータ フレームの名前を右クリックし、[プロパティ] をクリックします。
- [データ フレーム プロパティ] ダイアログ ボックスで、[一般] をクリックし、[マップ サービス公開に一意の数値 ID の割り当てを許可] オプションをクリックします。
- [OK] をクリックします。
ArcMap は、連続する ID をデータ フレーム内のレイヤーとテーブルに自動的に割り当てます。
- あるいは、レイヤーとテーブルにカスタム ID を割り当てることもできます。
- カスタム ID を割り当てるレイヤーまたはテーブルを右クリックし、[プロパティ] をクリックします。
- [レイヤー プロパティ] ダイアログ ボックスで [一般] をクリックし、[レイヤー ID] フィールドで整数を割り当てます。
- [OK] をクリックします。
- 上のサブステップを、レイヤーまたはテーブルごとに繰り返します。
- マップ ドキュメントを公開するか、既存のサービスを上書きします。
これで、レイヤー ID は公開後に保存されるようになりました。ソース マップ ドキュメントを変更した後にクライアント アプリケーションを変更する必要はなくなります。
パフォーマンスを向上させるためにマップをキャッシュする
変更される可能性の低いデータがマップ内に含まれている場合は、パフォーマンスを向上させるためにマップをキャッシュすることを検討してください。 マップをキャッシュすると、特定の縮尺レベルでレンダリングされた一連のマップ イメージを作成します。実際のキャッシュは、マップをサービスとして公開した後に実行されます。ただし、マップをキャッシュすることがわかっている場合、これはマップの作成プロセスに影響します。キャッシュ対象のすべての縮尺で適切に表示されるようにマップを作成します。 キャッシュされたタイルはデータの単なる”絵”にすぎず、実際のレンダリング エンジンとラベリング エンジンはキャッシュの作成後には使用されないため、カートグラフィック ツールを使用してもパフォーマンスへの影響はありません。
マップをキャッシュできない場合、レンダリング エンジンとラベリング エンジンはマップ サービスのパフォーマンスに影響を与えます。詳細については、「マップ キャッシュとは」をご参照ください。
キャッシュされていないマップのパフォーマンスに関するヒント
マップ キャッシュは必要に応じて作成してください。ただし、頻繁に変化するデータが大量にある場合は、マップ キャッシュを作成して維持することは不可能かもしれません。そのような場合は、次のヒントを参考にして、マップのパフォーマンスを改善することができます。マップ ドキュメントを公開するときに、[サービス エディター] を使用してマップを解析することができます。 これにより、マップ ドキュメントのパフォーマンスを向上させる方法を簡単に判定できます。
データ レイヤーに縮尺範囲を指定したレンダリングを設定する: レイヤーを表示する縮尺範囲を指定して、マップが縮小表示されたときに不要なレイヤーが描画されないようにします。データ量が多いレイヤーまたは詳細データのレイヤーを描画させるのは、マップが大縮尺に拡大される場合だけでよいでしょう。
不要なレイヤーとデータ フレームを削除する: レイアウト ビューとデータ ビューの両方をチェックし、マップの目的とは無関係なデータ フレームとレイヤーがマップ ドキュメントに含まれていないことを確認します。たとえば、レイアウト ビューにサービスを使用するどのアプリケーションでも表示されないデータ フレームが含まれている場合は、そのデータ フレームを削除します。
フィルター設定を適切に使用する: フィルター設定を使用してマップ上のデータ量を制限すれば、マップを高速に描画できます。たとえば、ある県のマップを作成していて、フィーチャクラスに国全体のデータが含まれる場合は、フィルター設定を使用するとその県の境界線内にあるフィーチャだけを表示し、県外のフィーチャを非表示にすることができます。 ただし、フィルター設定が複雑すぎると、パフォーマンスが低下する可能性があります。
レイヤー シンボルを単純化する: 複雑なシンボルは単純なシンボルよりも描画に時間がかかります。可能であれば、シンプル ライン シンボルとシンプル塗りつぶしシンボルを使用し、マルチレイヤー シンボル、複雑な破線パターン、ハッシュ ライン、アウトラインを含むシンボルは避けてください。高速道路標識シンボルは描画パフォーマンスを遅くさせることがあります。
ピクチャ塗りつぶしシンボルを使用する際は、BMP ではなく EMF ファイルを使ってパフォーマンスを改善することができます。
ESRI_Optimized スタイルを使用すると、マップ内のシンボルを単純化することができます。 このスタイルには、パフォーマンスに優れ、デフォルトの Esri スタイルを使用した場合に近い表示を保つ、ライン シンボルと塗りつぶしシンボルが含まれます。 このスタイルの操作方法については、ArcGIS ヘルプの「スタイル コンテンツの管理」をご参照ください。
キャッシュされたマップ サービスを作成する場合、マップを単純化しても、完成したマップの描画速度は変わりません。マップの単純化が影響を与えるのはキャッシュの作成速度だけです。 キャッシュの作成時間に問題がない場合は、シンボルの単純化を考慮する必要がありません。
ラベルではなくアノテーションを使用する: ラベルの配置を決定するには計算が必要になるので、通常はアノテーション レイヤーを使用するほうが高速です。
ラベルを単純化する: マップにラベルが含まれている場合は、ラベルとフィーチャの重なり回避のウェイトを控えめに使用します。ハロー、オフセット、およびその他のラベル効果もパフォーマンスを低下させます。
ラベルに縮尺依存のレンダリングを設定する: マップを縮小表示するときに描画が必要なラベルの数が増えると、それだけ時間がかかります。マップ ドキュメントを調べて、小さい縮尺で表示する必要のないラベルかどうかを判断します。
データとマップで同じ座標系を使用する: ソース データとマップ ドキュメントの座標系が異なる場合、データをリアルタイムに投影変換する必要があり、それによってパフォーマンスが低下します。パフォーマンスを最適化するために、データとマップ ドキュメントの両方で同じ座標系を使用してください。それが不可能な場合は、リアルタイムに投影変換する必要があるレイヤーに適切な地理座標変換が適用されるようにしてください。
ブラウザーがキャッシュ内の応答を使用する期間を調整する: マップを Web ブラウザーで表示するときに、サーバーからのマップ イメージの応答がブラウザーによってキャッシュされ、一定期間再利用されます。アプリケーションでのマップ サービスと関連データの使用方法に応じて、ブラウザーがキャッシュ内の応答を使用する期間を調整することを検討してください。詳細については、「マップ サービスの表示パフォーマンスを改善する」をご参照ください。
ネットワーク解析
マップをサーバー上でのネットワーク解析に使用する場合は、ネットワーク データセットを参照するネットワーク解析レイヤーを追加する必要があります。マップ サービスを公開する際に、[Network Analysis] ケーパビリティを有効にできます。 これにより、マップ上でネットワーク解析タスクを実行するための Web サービスが作成されます。