ネットワーク解析サービス
ある地点から別の地点への道順を示したり、入力した住所に基づいて付近の病院などの施設を一覧表示する Web アプリケーションを使用した経験があるかもしれません。これらのアプリケーションは、指定された情報をサーバ上のネットワーク解析にかけ、適切なルートや施設を検索します。必要な作業はサーバによって実行され、Web サービスを通じて結果がローカル コンピュータに返されるので、特別なネットワーク解析ソフトウェアをローカル コンピュータにインストールする必要はありません。
ArcGIS for Server を使用すると、最寄り施設の検索、単一車両向けおよび複数車両向けの最適ルートの検索、ロケーション-アロケーションを使用した施設の検索、OD コスト マトリックスの計算、および到達圏の解析など、交通ネットワーク解析操作を実行する複数の似たサービスをホストできます。これらのサービスは、Network Analyst エクステンションを使用して、ネットワーク データセットを解析にかけます。
ネットワーク解析サービスは、ジオメトリック ネットワーク上のユーティリティ ネットワーク解析には使用できません。代わりに、ArcGIS for Desktop を使用する必要があります。詳細については、「ジオメトリック ネットワークとは」をご参照ください。
ネットワーク解析サービスを作成するための最初の手順は、ArcMap を使ってネットワーク解析レイヤが含まれたマップ ドキュメントを作成することです。次に、[ネットワーク解析] ケーパビリティが有効な状態で、マップ ドキュメントをサービスとして公開します。公開されたサービスは、ArcGIS に含まれているさまざまなツールを使って利用することができます。このプロセスについて、以下のセクションで詳しく説明します。
マップ ドキュメントの作成
ネットワーク解析サービスを公開するには、ArcMap を使用して、サービスで使用するネットワーク解析レイヤが最低でも 1 つ含まれたマップ ドキュメントを作成する必要があります。[データの追加] ダイアログ ボックスを使用して、既存のネットワーク解析レイヤを追加するか、[Network Analyst] ツールバーを使用して、マップの既存のネットワーク レイヤ(ネットワーク データセットを参照するレイヤ)に基づいて新しいネットワーク解析レイヤを作成することができます。サービスの解析結果をマップにイメージとして返すようにしたい場合は、マップに他のレイヤも追加して、それらのシンボルを適切に調整する必要があります。
また、ArcMap を使用して、デフォルトで解析に適用されるパラメータを設定することもできます。これには、施設やバリアなどのネットワーク ロケーションや、検索する施設の数や規制といった解析プロパティが含まれます。ArcMap でネットワーク解析レイヤを操作する方法については、ArcGIS ヘルプの「Network Analyst」をご参照ください。
サービスの公開
マップ ドキュメントを作成して保存した後は、「サービスの公開方法」の手順に従って、ネットワーク解析サービスを作成することができます。リソースを公開する際には、次の点に注意してください。
ArcGIS for Desktop では、公開時にデータをサーバにコピーする場合とコピーしない場合の 2 つのシナリオがあります。公開時にデータをサーバにコピーしない場合、公開する前に、マップ ドキュメントが参照するデータに対する読み取り権限を ArcGIS Server アカウントに明示的に付与する必要があります。公開時にデータをサーバにコピーする場合、データに対する権限を ArcGIS Server アカウントに付与する必要はありません。このプロセスの詳細については、「データを ArcGIS for Server でアクセス可能にする」をご参照ください。
サービス エディタでケーパビリティを指定するときに、[ネットワーク解析] が有効になっていることを確認します。
ネットワーク解析サービスの公開の例については、「チュートリアル:ネットワーク解析サービスの公開」をご参照ください。
サービスの使用
特殊なルート検索またはローカルでホストされたルート検索を、デスクトップ アプリケーション内に備えるために、ネットワーク解析サービスを使用することができます。たとえば、ArcMap 内の[ルート検索] ダイアログ ボックス、および ArcGIS Explorer 内の [ルート] ダイアログ ボックスは、本来 Esri がホストしているネットワーク解析サービスにアクセスするために設定されました。特殊なルールまたはデータを追加、あるいはインターネットに接続していな等のいずれかの理由で、独自のサービスを使用したい場合には、これらのコマンドを再設定して独自のネットワーク解析サービスを使用することができます。これにはコードを書き込む必要はありません。
Web アプリケーションやその他のデスクトップ シナリオでは、ネットワーク解析サービスはプログラムから使用する必要があります。ArcGIS の開発者には、ArcGIS Web API や SOAP および REST API など、ネットワーク解析サービスを操作できるプラットフォームについて、多くの選択肢があります。サーバでのネットワーク解析は、汎用的なオブジェクト NAServer を使用した ArcObjects を介しても利用することができます。
ArcGIS Web API アプリケーションでのネットワーク解析
ArcGIS Resource Center には、JavaScript、Flex、Silverlight に対応した ArcGIS Web API でネットワーク解析サービスを利用するための詳細なヘルプがあります。ただし、ネットワーク解析サービスを操作する上での一般的なパターンは API に関係なく同じです。
- ネットワーク解析サービスへの参照の取得
- 解析パラメータを設定します。これには、実行したい解析のタイプ、および解析中に使用するネットワーク ロケーション(ストップなど)が含まれます。
- 解析パラメータを介してネットワーク解析サービスで解析メソッドを呼び出します。
- サービスから返された結果を操作します。これには、マップ上への結果の表示、またはルート案内のレポートが含まれます。
ネットワーク解析サービスの実際のサンプルについては、以下のリンクをご参照ください。
- ArcGIS API for JavaScript
- ArcGIS API for Flex(コンテンツ ウィンドウで [Network Analyst Tasks] を展開)
- ArcGIS API for Silverlight(コンテンツ ウィンドウで [Network] を展開)
ArcObjects を使用したネットワーク解析
ArcGIS Resource Center の「ArcObjects SDK for the Microsoft .NET Framework」ページには、SOAP および REST を使用してネットワーク解析サービスの開発に取りかかるために役立つ概念とサンプルが記載されています。詳細については、以下のリンクをご参照ください。
- 2 点間ルート計算の実行(REST)
- 最寄り施設解析の実行(REST)
- 到達圏ポリゴンと到達圏ラインの計算(REST)
- ジオコード アドレスからのルートおよびルート案内の生成(SOAP)
- ルート ネットワーク解析の実行(SOAP)
ジオプロセシング サービスによるネットワーク解析
コードを記述したくない場合は、ジオプロセシング サービスを通じて Web アプリケーションにネットワーク解析機能を追加することができます。通常、ジオプロセシング サービスは、ModelBuilder で作成したモデルや、[配車ルート(VRP)の解析(Solve Vehicle Routing Problem)] や [到達圏の生成(Generate Service Areas)] などサービスとして公開するように設計されている個別のツールから実行します。ユーザがジオプロセシング サービスに入力を送信すると、サーバ上でモデルまたはツールが実行され、結果がユーザのコンピュータに返されます。
ライブ走行速度を使用してネットワーク解析を実行することもできます。これには、[交通量データの更新(Update Traffic Data)] ジオプロセシング ツールを使用して独自の交通量サービスを設定し、解析を実行するネットワーク データセットをそのサービスに指定する必要があります。または、ネットワーク データセットを、ArcGIS Online で利用できる交通量サービスに指定することもできます。設定した解析が TravelTime など交通量ベースのコスト属性を指定し、開始時間が指定されていることを確認します。
利用可能な機能
Esri クライアントの API の一部は、複雑さのレベルではさまざまですが、ネットワーク解析サービスの操作の際にそれは容認されます。次の表は、各 API で使用できる解析を示しています。
ArcGIS API |
ネットワーク解析サービス |
ジオプロセシング サービス |
---|---|---|
JavaScript、Flex、Silverlight、REST、Windows Phone、iOS |
ルート、到達圏、最寄り施設 |
すべて |
SOAP(Simple Object Access Protocol) |
すべて |
すべて |