GP サービス サンプル:走行時間ポリゴン

複雑さ: 中級者 データ要件: ArcGIS チュートリアル データのセットアップ データ パス: C:\ArcGIS\ArcTutor\GP Service Examples\DriveTimePolygons 目的: 走行時間に基づいてポイントの周囲にポリゴンを作成するジオプロセシング サービスを作成、公開および使用します。

フォルダ

DriveTimePolygons

目的

指定された走行時間値に対する入力ポイントのまわりに走行時間ポリゴンを作成します。

サービス

  • SanFranciscoBaseMap(マップ サービス)
  • DriveTimePolygonsService(ジオプロセシング サービス)

ジオプロセシング タスク

Calculate Drive Time Polygons

入力

デジタイズしたポイントと、スペースで区切られた走行時間値(分単位)のリスト。

出力

すべてのポイントで各入力走行時間値に対応する 1 つの走行時間ポリゴン。

データ

ToolData フォルダで提供されるサンフランシスコ エリアの道路ネットワーク データセット。

エクステンション

Network Analyst

備考

ネットワーク解析ワークフローを実行するために必要な基本手順を示します。

このサンプルについて

対応するフォルダ

C:\arcgis\ArcTutor\GP Service Examples\DriveTimePolygons に完全なモデルとデータが含まれています。

Calculate Drive Time Polygons タスクについて

Calculate Drive Time Polygons タスクの主な目的は、ユーザが指定したポイントを中心とする走行時間ポリゴンを作成することです。走行時間ポリゴンとは、そのポイントから指定された走行時間内にある走行可能なすべての道路をカバーする範囲のことです。走行時間ポリゴンは、他のフィーチャを基準としてポイントのアクセシビリティを評価するために使用できます。たとえば、食料品店の所在地から 1 分、2 分、3 分の走行時間ポリゴンを使用して、店で買い物をする可能性が最も高い人々を判断することができます。

Calculate Drive Time Polygons タスクの出力例
Calculate Drive Time Polygons タスクの出力例

データ

このサンプルのデータは、C:\arcgis\ArcTutor\GP Service Examples\DriveTimePolygons にあります。

DriveTimePolygons フォルダの内容
DriveTimePolygons フォルダの内容

ネットワーク データセット

ToolData フォルダには、ファイル ジオデータベース SanFrancisco.gdb が含まれています。このジオデータベースの Transportation フィーチャ データセットには、ネットワーク データセット Streets_ND が含まれています。このネットワーク データセットは、サンフランシスコ エリアの道路ネットワークをモデリングし、ネットワーク属性 TravelTime(各道路セグメントの走行時間(分)を示す)などを提供します。

ベースマップ

SanFranciscoBasemap.mxd 内のベースマップ レイヤには Streets というレイヤが 1 つ含まれています。このレイヤは、ネットワーク データセットの範囲を示します。つまり、このタスクを使用して、この範囲内でのみ走行時間ポリゴンを決定することができます。

ネットワーク データセットの範囲を示すサンフランシスコのベースマップ
ネットワーク データセットの範囲を示すサンフランシスコのベースマップ

SanFranciscoBaseMap.mxd はマップ サービスとして公開されます。

ツールボックスとマップ ドキュメント

ジオプロセシング サービスのツールボックスは DriveTimePolygonsService であり、サービスのソース マップ ドキュメントは DriveTimePolygonsService.mxd です。DriveTimePolygonsService.mxd には、ソース データ レイヤ Streets_ND(ネットワーク データセット)が 1 つ含まれています。

モデル

モデルの概要

次に、Calculate Drive Time Polygons モデルを示します。入力変数は次の 2 つです。

  • Input Facilities は、生成される走行時間ポリゴンの中心を示します(ネットワーク解析では、施設は建物や現在位置といったネットワーク上の固定の位置を示します)。
  • Drive Time Values は、スペースで区切られた走行時間値(分単位)のリストです。

このモデルは、到達圏ネットワーク解析レイヤを作成し、ユーザがデジタイズしたポイントを施設として追加し、走行時間ポリゴンを決定するための解析を実行します。

エレメント

タイプ

説明

Streets_ND

ネットワーク データセット レイヤ。

ネットワーク データセット レイヤ

Drive Time Values

文字列、入力パラメータ

スペースで区切られた走行時間値(分単位)のリスト。

到達圏レイヤの作成(Make Service Area Layer)

ツール

到達圏ネットワーク解析レイヤを作成します。このレイヤには、到達圏が計算される方法を決定するデータとプロパティに加えて、計算の結果が含まれます。

Service Area

ネットワーク解析レイヤ

到達圏レイヤ。

Input Facilities

フィーチャ セット(ポイント)、入力パラメータ

走行時間ポリゴンの中心となるポイント フィーチャ。

ロケーションの追加(Add Locations)

ツール

到達圏レイヤに施設として入力ポイントを追加します。

Service Area (2)

ネットワーク解析レイヤ

施設が含まれた到達圏レイヤ。

解析の実行(Solve)

ツール

走行時間ポリゴンを計算します。

Service Area (3)

ネットワーク解析レイヤ

計算された走行時間ポリゴンが含まれた到達圏レイヤ。

SolveSucceeded

ブール値

[解析の実行(Solve)] ツールが成功したことを示す [解析の実行(Solve)] の出力。

データの選択(Select Data)

ツール

到達圏レイヤからポリゴン サブレイヤを選択します。

Polygons

フィーチャ レイヤ、出力パラメータ

Service Area (3) ネットワーク解析レイヤのポリゴン レイヤ。

モデル エレメント
Calculate Drive Time Polygons モデル

ネットワーク解析のワークフロー

このモデルは、あらゆる種類のネットワーク解析の実行に共通する、4 段階のワークフローを示します。

  1. ネットワーク解析レイヤを作成します。
  2. 1 つ以上のネットワーク解析クラスにロケーションを追加します。
  3. ネットワーク解析レイヤに対して解析を実行します。
  4. 解析の実行結果を使用します。

ネットワーク レイヤの使用

サンフランシスコ エリアのネットワーク データセットがマップ ドキュメント DriveTimePolygonsService.mxd にネットワーク レイヤ(Streets_ND)として追加されます。このレイヤは、モデル内で [到達圏レイヤの作成(Make Service Area Layer)] ツールの入力変数として使用されます。ネットワーク レイヤを使用すると、ネットワーク データセットへの接続がネットワーク レイヤによって開かれたままになるので、モデル全体の実行時間が大幅に改善されます。ネットワーク データセットがディスク上から参照された場合、モデルを実行するたびにネットワーク データセットへの接続が確立されるため、モデルを使って作成されるジオプロセシング サービスのパフォーマンスが低下します。

ネットワーク データセット レイヤの使用
ネットワーク データセット レイヤの使用

モデル プロセス

[到達圏レイヤの作成(Make Service Area Layer)] ツールは、新しい Network Analyst(NA)レイヤ ServiceArea を作成します。このレイヤは、解析プロパティを格納し、解析に使用する Streets_ND ネットワーク データセット レイヤを参照し、入力施設と出力ポリゴンを格納します。このネットワーク データセットには、各道路セグメントを通過するために必要な走行時間を指定する、TravelTime というネットワーク コスト属性があります。この属性は、インピーダンス属性として使用されます。デフォルトの閾値は、スペースで区切られた値のリストとして、Drive Time Values 変数から読み取られます。

[到達圏レイヤの作成(Make Service Area Layer)] ツールのパラメータ
[到達圏レイヤの作成(Make Service Area Layer)] ツールのパラメータ

このサービスでは、施設ごとにマージされない重複ポリゴンを作成するために、NO_MERGE オプションが使用されています。また、走行時間値ごとにポリゴンがリングとして描画されるように、RINGS オプションも使用されています。これにより、前の閾値から閾値の境界値までのエリアをカバーし、それよりも小さい閾値のエリアをカバーしないポリゴンが作成されます。

[ロケーションの追加(Add Locations)] ツールは、ユーザがデジタイズしたポイントを施設として到達圏レイヤに追加します。Input Facilities パラメータはフィーチャ セット データ タイプなので、ユーザがデジタイズしたポイントを施設としてモデルに対話形式で指定することができます。フィーチャ セットのスキーマとシンボルは、ToolData フォルダにある InputFacilities.lyr ファイルから取得されます。

入力施設のためのフィーチャ セットの使用
入力施設のためのフィーチャ セットの使用

[解決の実行(Solve)] ツールは、入力到達圏レイヤで指定されたオプションに基づいて到達圏を計算し、走行時間ポリゴンを生成します。計算されたポリゴンは、出力到達圏レイヤの Polygons サブレイヤに書き出されます。

Network Analyst レイヤは、ArcGIS Server クライアントでサポートされる出力パラメータ データ タイプではありません。したがって、到達圏レイヤからの Polygons サブレイヤの取得には [データの選択(Select Data)] ツールが使用されます。Polygons サブレイヤはフィーチャ レイヤ データ タイプです。

ツール レイヤ

Calculate Drive Time Polygons ツール レイヤは、モデルを ArcMap のコンテンツ ウィンドウにドラッグすることにより作成されます。次の手順に従って、公開する前にモデルをテストする必要があります。

  1. ツール レイヤを作成します。
  2. ツール レイヤを右クリックし、[開く] をクリックします。ツールのダイアログ ボックスが表示されます。
  3. ポイントと走行時間距離を入力して(「1 2 3」など)、[OK] をクリックします。

    走行時間ポリゴンがツール レイヤにサブレイヤとして追加されます。

Calculate Drive Time Polygons モデルの出力はフィーチャ レイヤです。フィーチャまたはラスタ レイヤがモデルによって出力されると、出力モデルがツール レイヤにそのまま追加され、ツール サブレイヤで定義するシンボルは無視されます。次はこれを試してみます。

  1. ツール レイヤを開いて実行した後、Polygons サブレイヤを右クリックして [プロパティ] をクリックします。
  2. [シンボル] タブをクリックします。
  3. シンボルを単一シンボル(青のポリゴン塗りつぶしなど)に変更します。

    Polygons サブレイヤが等級色ではなくベタ一色で描画されます。

  4. ツール レイヤを開いて実行します。

    再び Polygons サブレイヤが等級色で描画されます。

トピック「ジオプロセシング タスクの出力シンボルの定義」で説明するように、モデルがレイヤを出力する際には、レイヤ内のシンボルがツール レイヤのシンボルよりも優先されます。これは、[到達圏レイヤの作成(Make Service Area Layer)] などの一部のツールがカスタム シンボルを含んだレイヤを出力するためです。このカスタム シンボルを維持するために、ツール サブレイヤ内のシンボルが無視されます。走行時間ポリゴンのシンボルを変更したい場合は、Calculate Drive Time Polygons モデルでフィーチャ レイヤの代わりにフィーチャクラスを出力する必要があります。これは、Polygons 変数を [フィーチャのコピー(Copy Features)] への入力として使用し、[フィーチャのコピー(Copy Features)] ツールを当該モデルに追加することで簡単に実行できます。

公開

SanFranciscoBaseMap.mxd はマップ サービスとして公開されます。DriveTimePolygonsService.mxd は、結果マップ サービスに基づかないジオプロセシング サービスとして公開されます。

  1. カタログ ウィンドウで、SanFranciscoBaseMap.mxd を右クリックして [ArcGIS Server で公開] をクリックします。
  2. すべてデフォルト設定を使用します。
  3. カタログ ウィンドウで、[GIS Servers] ノードの下のサーバ管理者接続に移動して右クリックし、[新規サービスの追加] を選択します。サービスの名前として DriveTimePolygonsService を指定し、タイプとして [Geoprocessing Service] を選択します。
  4. [次へ] をクリックします。
  5. 次のパネルでは、[実行方法][非同期] を選択します。[ジオプロセシング サービスで公開されているツールの格納場所] オプションでは、[マップ] を選択し、[マップ ドキュメント]DriveTimePolygonsService.mxd を指定します。サービスをテストするので、[メッセージの表示] をオンにします。
    DriveTimePolygonsService の公開
    DriveTimePolygonsService の公開
  6. [次へ] をクリックします。ここからは、ウィザードによって提供されるデフォルト値を使ってサービスを作成することができます。

使用

  1. ArcMap を空のドキュメントで開始します。
  2. ArcGIS Server へのユーザ接続が存在しない場合は、カタログ ウィンドウで作成します。
  3. ArcMap のコンテンツ ウィンドウに SanFranciscoBaseMap マップ サービスを追加します。
  4. カタログ ウィンドウの [GIS Servers] ユーザ接続ノードの下にある DriveTimePolygonsService ツールボックスを展開し、Calculate Drive Time Polygons ツールをダブルクリックして開きます。結果は次のようになります。
    ArcMap セッションにおける Calculate Drive Time Polygons タスク
  5. ポイントを追加して施設を作成します。走行時間値に「2 3 4」を指定し、[OK] をクリックしてタスクを実行します。

    タスクが完了すると、コンテンツ ウィンドウに Polygons 出力レイヤが表示されます。

    完了したタスク
    完了したタスク
  6. [結果] ウィンドウでタスクの結果を確認してください。
    タスクの結果
    タスクの結果

関連項目


7/10/2012