チュートリアル: ネットワーク解析サービスの公開
ArcGIS Server でネットワーク解析サービスをホストすることにより、Web 上で交通ネットワークのネットワーク解析を実行できます。ネットワーク解析には、最寄り施設の検索、単一車両向けおよび複数車両向けの最適ルートの検索、ロケーション-アロケーションを使用した施設の検索、OD コスト マトリックスの計算、および到達圏の解析が含まれます。このチュートリアルでは、ネットワーク解析に使用できるマップ ドキュメントを作成し、ネットワーク解析サービスとして公開する手順を示します。その後に、ArcMap と Web アプリケーションでネットワーク解析サービスを使用する方法について説明します。さまざまな種類のネットワーク解析とそれらの機能の詳細については、ArcGIS ヘルプの「ネットワーク解析の種類」をご参照ください。
チュートリアルを始める前に
現在 ArcGIS Server をインストールしただけの状態であれば、サーバに接続してサービスを公開する前に、いくつかの準備作業が必要です。
- ArcGIS Server サイトを構成する方法については、このヘルプ システムの「インストール後の作業」セクションをご参照ください。
- GIS リソースで参照されているデータをサーバで利用できるようにする方法については、「データを ArcGIS Server でアクセス可能にする」をご参照ください。
チュートリアル データ
このチュートリアルのデータは ArcGIS Server と共にインストールされ、<ArcGIS for Server インストール ディレクトリ>\help\samples\data\network_analyst にあります。
必要に応じて、代わりに自分のデータを使って手順を試すこともできます。
マップ ドキュメントの作成
ネットワーク解析サービスには、ネットワーク解析レイヤが 1 つ以上含まれたマップ サービスが必要です。つまり、サーバに公開されるマップ ドキュメントには、[Network Analyst] ツールバーのツールを使用して作成されたネットワーク解析レイヤが、少なくとも 1 つ含まれている必要があります。ネットワーク解析サービスは、ルート解析レイヤ、最寄り施設解析レイヤ、および到達圏解析レイヤをサポートします。
次の手順に従って、これら 3 種類のネットワーク解析をすべて実行できる単一のマップ ドキュメントを作成します。
- ArcMap を起動して、新しい空のマップ ドキュメントを開きます。
- [カスタマイズ] → [エクステンション] の順にクリックし、[Network Analyst] をオンにして、Network Analyst エクステンションを有効にします。
- [カスタマイズ] → [ツールバー] → [Network Analyst] の順にクリックして、[Network Analyst] ツールバーが表示されるようにします。
- 標準ツールバーの [データの追加] をクリックして、ネットワーク データセットを追加します。このデータセットは、ネットワーク解析レイヤを作成するためにマップに含まれている必要があります。SanFrancisco データベースにある Streets_ND ネットワーク データセットを参照します。Streets_ND に含まれるフィーチャクラスをすべて追加するかどうかを確認するメッセージが表示されたら、[いいえ] をクリックします。
-
[Network Analyst] ツールバーの [Network Analyst] ドロップダウン メニューをクリックし、[新規ルート] を選択して、ルート ネットワーク解析レイヤをマップに追加します。
ネットワーク解析レイヤは、ArcMap で作成するときに自動的にアクティブなネットワーク データセットに関連付けられます。ルート解析レイヤの作成時に San Francisco ネットワークがアクティブであったため、これら 2 つのレイヤは一緒に関連付けられます。また、ネットワーク解析レイヤは関連付けられたネットワーク データセットをファイル パスで参照します。したがってネットワーク データセット レイヤは、これ以降 ArcMap では必要ありません。
- Streets_ND またはネットワーク データセット レイヤの名前を右クリックし、[削除] をクリックします。マップは空ですが、ルート解析レイヤが存在し、サービスとして公開できます。最終的に公開したネットワーク解析サービスをマップに追加するとき、最初は(つまり、結果を生成するまで)フィーチャは表示されません。ネットワーク解析サービスを利用するときに追加コンテキストを指定するために、ArcGIS Online などで提供されるキャッシュされたマップ サービスを利用することもできます。
- [ファイル] → [名前を付けて保存] の順にクリックして、マップ ドキュメントを保存します。
ネットワーク解析サービスの公開
ネットワーク解析レイヤが含まれたマップ ドキュメントを作成したら、それをネットワーク解析サービスとして公開できます。マップ ドキュメントをサービスとして公開し、ネットワーク解析ケーパビリティを有効にすると、同じ名前のネットワーク解析サービスが作成されます。
ArcMap を使用してマップ ドキュメントを構成し ArcGIS Server で公開するには、以下の手順に従います。
- ArcMap のメイン メニューで、[ファイル] → [共有] → [サービス] の順にクリックします。
- [サービスとして共有] ウィンドウで、[サービスを公開] を選択します。[次へ] をクリックします。
- [サービスを公開] ダイアログ ボックスで、[ArcGIS Server に接続] をクリックして、サーバへの新しい接続を作成します。
- [ArcGIS Server サーバの追加] ウィンドウで、[GIS サービスを公開する] を選択します。[次へ] をクリックします。
- [サーバの URL] に、接続する ArcGIS Server サイトの URL を入力します。たとえば、「http://myserver:6080/arcgis」と入力します。
- [サーバ タイプ] ドロップダウン リストから、[ArcGIS Server] を選択します。
- 公開プロセス中に、サービス定義ファイルが作成されローカルのディスクに一時的に保存されます。公開プロセスが完了すると、サービス定義がサーバにアップロードされ、ローカル ファイルは削除されます。このチュートリアルでは、デフォルトのステージング フォルダを使用して操作を続けます。
- サーバ管理者がサイトのセキュリティを有効にしている場合は、[ユーザ名] と [パスワード] に値を入力します。[完了] をクリックします。
- 必要に応じて、[サービスを公開] ウィンドウでサービスの新しい名前を入力します。120 文字を超える名前や、英数字とアンダースコア(_)以外の文字が含まれた名前を使用することはできません。[次へ] をクリックします。
- デフォルトでは、ArcGIS Server のルート フォルダ(root)にサービスが公開されます。サービスはルート フォルダ以下のサブディレクトリに整理することができます。サービスを公開するフォルダを選択するか、サービスを格納する新しいフォルダを作成します。[続行] をクリックします。
- [サービス エディタ] が表示されます。[サービス エディタ] を使用して、ネットワーク解析サービスでユーザが実行できる操作を選択し、サーバがサービスを公開する方法を調整します。[ケーパビリティ] タブをクリックします。
- デフォルトでは、マッピングと KML が有効になっています。[Network Analysis] をオンにします。
- [サービス エディタ] の左側のペインで、[Network Analysis] タブをクリックして、ネットワーク解析サービスで有効なオペレーションとプロパティを確認します。このチュートリアルでは、デフォルトの設定を使用して操作を続けます。詳細については、「ネットワーク解析サービス」をご参照ください。ネットワーク解析サービスを配備するための最適な構成方法については、「サービスのチューニングと構成」をご参照ください。
- [分析] をクリックします。マップ ドキュメントをサーバに公開できるかどうかが検証されます。ヒント:
ネットワーク解析サービスを構成するときに表示領域を広くするには、[サービス エディタ] の上部にある [折りたたみ] ボタンをクリックします。
- [準備] ウィンドウでエラー を修正します。エラーの修正は公開の前に行う必要があります。さらに必要であれば、警告メッセージと情報メッセージに従って問題を修正し、ネットワーク解析サービスのパフォーマンスと外観を改善します。これらの問題の解決の詳細については、「GIS リソースの解析」をご参照ください。注意:
サーバが確実にデータを認識して使用できるように、フォルダとジオデータベースを ArcGIS Server サイトに登録することができます。以下の手順を続ける場合、未登録のフォルダまたはジオデータベースからマップ ドキュメントが参照するデータはすべて、公開時にサーバにコピーされます。これは、サーバがサービスで使用されているすべてのデータにアクセスできることを保証するための予防的な処置です。フォルダまたはジオデータベースを ArcGIS Server サイトに登録する手順については、「ArcGIS for Desktop を使用したデータの ArcGIS Server への登録」をご参照ください。
- マップ ドキュメント内のエラーを修正したら、[公開] をクリックします。
マップ ドキュメントが ArcGIS Server で公開され、マップ サービスおよび関連するネットワーク解析サービスが同じ名前で作成されます。
ネットワーク解析サービスの使用
ArcGIS Server のクライアント(たとえば、ArcMap や Web ブラウザ)は、ネットワーク解析サービスを利用する機能を備えています。ArcMap では、[ルート検索] ボタンを使用して、ネットワーク解析サービスが標準で備えるルーティング機能を利用できます。Web ブラウザでは、JavaScript、Flex、Silverlight、および構成可能な Web アプリケーション(ArcGIS Viewer for Flex や ArcGIS Viewer for Silverlight など)を使用して構築された Web アプリケーションを通して、ネットワーク解析サービスをプログラムから利用します。これらのクライアントの詳細については、ネットワーク解析サービスに関するトピックの「サービスの使用」をご参照ください。
ネットワーク解析サービスを、ArcGIS for Desktop や ArcGIS API for JavaScript を使用して構築された簡単な Web アプリケーションで利用する方法については、以下のセクションをご参照ください。
ArcMap でのルート サービスの利用
- ArcMap を起動して、新しい空の ArcMap ドキュメントを開きます。
- ArcGIS Server への公開者接続は今もあるはずですが、このサービスを ArcMap で利用するにはユーザ接続が必要です。カタログ ウィンドウで、[GIS Servers] ノードを展開し、[ArcGIS Server サーバの追加] をダブルクリックして、ユーザ接続の作成を開始します。接続を設定する手順を追った説明については、「ArcGIS for Desktop での ArcGIS Server へのユーザ接続の作成」をご参照ください。
- カタログ ウィンドウで、[GIS Servers] ノードを展開し、新しい ArcGIS Server 接続(最後に「(ユーザ)」が付いています)をダブルクリックします。
- サーバ接続内で、ネットワーク解析サービスが含まれているマップ サービスを検索して、コンテンツ ウィンドウにドラッグします。
- レイヤがコンテンツ ウィンドウに存在していますが、マップは空のままです。マップにコンテキストを指定するには、ArcGIS Online からベースマップを追加します。
- [標準] ツールバーの [データの追加] ボタン の横にあるドロップダウン矢印をクリックし、[ベースマップの追加] を選択します。
- [Topographic] などのベースマップをダブルクリックします。
- マップの南側にあるサンフランシスコ半島を拡大します。追加するストップは、ネットワーク解析レイヤの作成に使用する San Francisco ネットワーク データセットの範囲内に収まる必要があります。提供された SanFrancisco データベースを使用していない場合は、この手順を省略します。
- [ツール] ツールバーで、[ルート検索] をクリックします。
- [ルート検索] ダイアログ ボックスで、[オプション] タブをクリックします。
- [ルート サービス] ドロップダウン リストをクリックし、[ルート <Layers\[ルート サービス名]>] を選択します。
- [ストップ] タブをクリックします。[ストップ] タブのコントロールとパラメータを使用して、ネットワーク解析の入力を設定します。
- ルートを解析する準備ができたら、[ルート検索] をクリックします。
簡単な Web アプリケーションでのルート サービスの利用
- ネットワーク解析サービスを Web アプリケーションで利用する前に、URL を確認しておく必要があります。Web ブラウザで、ArcGIS Server Services Directory にアクセスします。URL は http://myserver:6080/arcgis/rest/services などになります。
- サービス リストで、使用するネットワーク解析サービスをクリックします。ネットワーク解析サービスには「(NAServer)」が付加されます。サービスがフォルダに存在する場合は、そのフォルダに移動してサービスを選択します。
- サービスの名前、サービスの説明、および利用可能な解析レイヤのリストを示すページが表示されます。[ルート] をクリックします。
- ルート レイヤのプロパティを示すページが表示されます。ブラウザのアドレス バーに表示されているこのページの URL をコピーして、テキスト エディタに貼り付けます。これがネットワーク解析サービスのルート タスクの REST URL です。URL の形式は、「http://myserver:6080/arcgis/rest/services/<フォルダ名(必要に応じて)>/<ネットワーク解析サービス名>/NAServer/Route」になります。
- Web ブラウザで、ArcGIS API for JavaScript の「Find a route」サンプルにアクセスします。
- サンプル コードをコピーして、メモ帳などのテキスト エディタに貼り付けます。
- 「routeTask = new esri.tasks.RouteTask」パラメータを検索し、括弧内の URL をネットワーク解析ルート タスクの REST URL に一致するように変更します。
- SanFrancisco データベースを使用している場合は、「extent: new esri.geometry.Extent」パラメータを検索して、デフォルト値を次のように置き換えます。
- "xmin":-13639289
- "ymin":4539384
- "xmax":-13622091
- "ymax":4550850
- テキスト ドキュメントを保存して閉じます。
- ドキュメントのファイル拡張子を、元の拡張子から「.html」に変更します。たとえば、Route.txt を Route.html に変更します。
- HTML ドキュメントを Web ブラウザで開きます。Web アプリケーションの指示に従って、ネットワーク解析サービスを使用します。