ネットワーク解析サービス
ある地点から別の地点への道順を示したり、入力した住所に基づいて付近の病院などの施設を一覧表示する Web アプリケーションを使用した経験がおそらくあるでしょう。これらのアプリケーションは、指定された情報をサーバ上のネットワーク解析にかけ、適切なルートや施設を検索します。必要な作業はサーバによって実行され、Web サービスを通じて結果がローカル コンピュータに返されるので、特別なネットワーク解析ソフトウェアをローカル コンピュータにインストールする必要はありません。
ArcGIS Server を使用して、ルート検索、最寄り施設、到達圏解析などの交通ネットワーク解析を実行する、同様のサービスを作成することができます。これらのサービスは、Network Extension を使用して、ネットワーク データセットを解析にかけます。したがって、サーバ上に Network Extension ライセンスが必要です。
注意: ネットワーク解析サービスは、ジオメトリック ネットワーク上のユーティリティ ネットワーク解析には使用できません。
ネットワーク解析サービスを作成するための最初の手順は、ArcMap を使ってネットワーク解析レイヤが含まれたマップ ドキュメントを作成することです。次に、[ネットワーク解析] ケーパビリティが有効な状態で、マップ ドキュメントをサービスとして公開します。公開されたサービスは、ArcGIS Server に含まれている開発者ツールを使って利用することができます。次のセクションでは、公開の手順を詳しく見ていきます。
マップ ドキュメントの作成
ネットワーク解析サービスを公開するには、ArcMap を使用して、サービスで使用するネットワーク解析レイヤが最低でも 1 つ含まれたマップ ドキュメントを作成する必要があります。[データの追加] ダイアログ ボックスを使用して、既存のネットワーク解析レイヤを追加するか、[Network Analyst] ツールバーを使用して、マップの既存のネットワーク レイヤ(ネットワーク データセットを参照するレイヤ)に基づいて新しいネットワーク解析レイヤを作成することができます。サービスの解析結果をマップにイメージとして返すようにしたい場合は、マップに他のレイヤも追加して、それらのシンボルを適切に調整する必要があります。
また、ArcMap を使用して、デフォルトで解析に適用されるパラメータを設定することもできます。これには、施設やバリアなどのネットワーク ロケーションや、検索する施設の数や規制といった解析プロパティが含まれます。ArcMap でネットワーク解析レイヤを操作する方法については、ArcGIS Desktop ヘルプの「Network Analyst とは」をご参照ください。
マップ ドキュメントとマップ ドキュメントが参照しているすべてのデータを、すべての SOC コンピュータからアクセスできるディレクトリに配置する必要があります。つまり、データが格納されているディレクトリへの読み取りのアクセス権を ArcGIS SOC アカウントに割り当てる必要があります。ArcGIS SOC アカウントに、マップ ドキュメントを含むディレクトリからの読み取り権限のみがあり、マップが参照するデータを含むディレクトリからの読み取り権限がない場合には、マップとデータ間のリンクは無効になります。
ネットワーク解析サービスは、ディスクに負荷がかかりやすいため、同じパス上の各 SOC コンピュータで利用可能なデータのローカル コピーを作成することをお勧めします。これが不可能な場合には、データは共有ネットワーク ディレクトリに格納することができます。
サービスの公開
マップ ドキュメントを作成して保存した後は、「GIS リソースのサーバへの公開」の手順に従って、ネットワーク解析サービスを作成することができます。リソースを公開する際には、次の点に注意してください。
- リソースを指定する際には、ネットワーク解析レイヤが含まれたマップ ドキュメントを選択します。
- ケーパビリティを指定する際には、[ネットワーク解析] チェックボックスがオンになっていることを確認します。
ネットワーク解析サービスの公開の例については、「チュートリアル:ネットワーク解析サービスの公開」をご参照ください。
サービスの使用
特殊なルート検索またはローカルでホストされたルート検索を、デスクトップ アプリケーション内に備えるために、ネットワーク解析サービスを使用することができます。たとえば、ArcMap 内の [ルート検索] ダイアログ ボックス、および ArcGIS Explorer 内の [ルート] ダイアログ ボックスは、本来 Esri がホストしているネットワーク解析サービスにアクセスするために設定されました。特殊なルールまたはデータを追加したためか、あるいはインターネットに接続していないためのいずれかの理由で、独自のサービスを使用したい場合には、これらのコマンドを再設定して独自のネットワーク解析サービスを使用することができます。これにはコードを書き込む必要はありません。
Web アプリケーションやその他のデスクトップ シナリオでは、ネットワーク解析サービスはプログラムから使用される必要があります。ネットワーク解析サービスの開発では、Silverlight 用、Flex 用、および JavaScript 用の ArcGIS API、ArcGIS Server SOAP API、および ArcGIS Server REST API といった、さまざまなプラットフォームを利用することができます。サーバでのネットワーク解析は、汎用的なオブジェクト NAServer を使用した ArcObjects を介しても利用することができます。
「ArcGIS Server Resource Center」は、各 API の詳細なヘルプにリンクしています。各ヘルプ システムには、ネットワーク解析サービスの使用に関するセクションが含まれています。ただし、ネットワーク解析サービスを操作する上での一般的なパターンは API に関係なく同じです。
- ネットワーク解析サービスへの参照の取得
- 解析パラメータを設定します。これには、実行したい解析のタイプ、および解析中に使用するネットワーク ロケーション(ストップなど)が含まれます。
- 解析パラメータを介してネットワーク解析サービスで解析メソッドを呼び出します。
- サービスから返された結果を操作します。これには、マップ上への結果の表示、またはルート案内のレポートが含まれます。
次に、ネットワーク解析サービスを使用する異なるタイプのサンプルへのいくつかのリンクを示します。リンクは、API およびアプリケーションのタイプ(Web またはデスクトップ)で分類されています。
API によってリスト表示された、ルート検索の Web アプリケーション サンプル
- ArcGIS API for JavaScript
- ArcGIS Extension for the Google Maps API([Routing(ルーティング)] を選択し、[Find a route(ルート検索)] をクリック)
- ArcGIS Extension for Bing Maps([Route Task(ルート タスク)] を選択し、[Solve a route(ルート解析)] をクリック)
- ArcGIS API for Flex(対話型 SDK で [Network Analyst Tasks(ネットワーク解析タスク)] を展開)
- ArcGIS API for Silverlight(対話型 SDK で [Network(ネットワーク)] を展開)
- ArcGIS Server REST API
- ArcGIS Server .NET Web ADF
Server API を使用するデスクトップ クライアント サンプル(ArcObjects)
SOAP を使用するデスクトップ クライアント サンプル
ジオプロセシング サービスによるネットワーク解析
コードを記述したくない場合は、ジオプロセシング サービスを通じて Web アプリケーションにネットワーク解析機能を追加することができます。ジオプロセシング サービスは、ModelBuilder で構築したモデルに基づいて動作します。ユーザがジオプロセシング サービスに入力を送信すると、サーバ上でモデルが実行され、結果がユーザのコンピュータに返されます。モデルには、ジオプロセシング メニューから追加するネットワーク解析ツールを含めることができます。
次のサンプルは、ジオプロセシング サービスでネットワーク解析ツールを使用する方法を示します。
ArcGIS Server Manager は、コードを書かずに Web アプリケーションでジオプロセシング サービスを使用するためのジオプロセシング タスクを提供します。
利用可能な機能
Esri クライアントの API の一部は、複雑さのレベルではさまざまですが、ネットワーク解析サービスの操作の際にそれは容認されます。次の表には、この可用性が示されています。
ArcGIS API |
ネットワーク解析サービスの使用に際して利用可能な解析 |
ジオプロセシング サービスの使用に際して利用可能な解析 |
---|---|---|
REST, Flex, JavaScript, Silverlight |
ルート、到達圏、最寄り施設 |
All(すべて) |
SOAP(Simple Object Access Protocol) |
All(すべて) |
All(すべて) |
ArcObjects |
All(すべて) |
All(すべて) |