ネットワーク データセットの作成

Network Analyst のライセンスで利用可能。

このチュートリアルでは、カリフォルニア州サンディエゴの道路と公共の観光名所のデータから、カスタマイズされたネットワーク データセットを作成します。 まずは、[ネットワーク データセットの作成 (Create Network Dataset)] ツールを使用して、基本的なネットワーク データセットを作成します。 次に、各プロパティ ページを移動しながら、ネットワーク ソース、コスト、規制、記述子、移動モード、方向などの追加の移動属性を設定します。

このチュートリアルを使用して作成された最終的なネットワーク データセットを使用して、サンディエゴ周辺の公共の観光名所を訪問する観光客向けのルートとルート案内を生成できます。

完成したネットワーク データセットは、サンプルとしてチュートリアル データに含まれています。

データの取得

このチュートリアルのデータは、ダウンロードして使用できます。

  1. データ ダウンロード ページ」に移動します。
  2. [ダウンロード] ボタンをクリックしてファイルをローカルに保存します。
  3. ダウンロードしたファイルを展開します。

マップの作成

次の手順を実行すると、マップを作成できます。

  1. ArcGIS Pro を起動します。
  2. [マップ] テンプレートをクリックして、新しいプロジェクトを作成します。 必要に応じて、プロジェクトの名前と位置を変更します。

    マップを含む新しいプロジェクトが表示されます。

ソース フィーチャクラスの確認

次に、[Streets] フィーチャクラスと [Walking_Pathways] フィーチャクラスをマップに追加します。

  1. [カタログ] ウィンドウ (デフォルトではアプリケーションの右側にあります) で [フォルダー] を右クリックし、[フォルダー接続の追加] フォルダー接続の追加 を選択します。

    [フォルダー接続の追加] ダイアログ ボックスが表示されます。

  2. チュートリアル データを置いたフォルダーを参照して、[Network Analyst] をダブルクリックし、[Tutorial] をクリックしてこのフォルダーを選択します。
  3. [OK] をクリックします。

    Tutorial フォルダーへの接続が作成されます。

  4. [カタログ] ウィンドウで、[フォルダー] > [Tutorial] > [CreateNetworkDataset] > [SanDiego.gdb] > [Transportation] の順に展開します。
  5. [Streets][Walking_Pathways] をドラッグして、マップ上に配置します。

    両方のフィーチャクラスが、[コンテンツ] ウィンドウとマップに追加されます。

  6. [コンテンツ] ウィンドウで、[Streets] レイヤーを右クリックして、[属性テーブル] を選択します。
    1. 各フィールドとフィールド内の値を確認します。 これらのフィールドの多くは、ネットワーク データセットで一部の機能に使用されます。

      FT_MinutesTF_MinutesKPHMeters などのフィールドを使用すると、各エッジの通過にかかるコストをネットワーク データセットに通知するように、コスト属性を設定できます。 これらのフィールドは通常、倍精度型または浮動小数型のフィールドです。

      F_ZLEV フィールドと T_ZLEV フィールドは、異なるレベルのストリートを定義する場合に使用します。 これらのフィールドを使用すると、高さが異なるために、1 本のストリートから別のストリートに直接ターンできない陸橋や地下道などの構造物を適切に設定することができます。 これらのフィールドについては、ネットワーク データセットの作成と高度モデルの選択の説明箇所で、後から取り上げます。

      FUNC_CLASS フィールドは、各道路にカテゴリを割り当てる整数フィールドです。 このフィールドは、ネットワーク データセットに関する階層属性を設定する場合に使用します。 このフィールドと階層についても、このチュートリアルの後半で、改めて取り上げます。

      これ以外にも、PAVEDAR_PEDESTAR_BUSAR_AUTODIR_TRAVELTF_HeightLimit_MetersFT_HeightLimit_Meters などのフィールドがあります。 これらのフィールドは、特定の状況で、一部の道路の通行を禁止する規制を設定する場合に使用します。 これらのフィールドのほとんどは、Y または N の値を持ちます。 DIR_TRAVEL フィールドの値 (FT や TF など) は、一方通行の規制を設定する場合に使用します。 FT_HeightLimit_Meters フィールドと TF_HeightLimit_Meters フィールドの値は、ほとんどの場合が NULL 値であり、一部のフィーチャには数字が入力されます。 これら 2 つのフィールドは、パラメーター化規制という特殊な規制を設定する場合に使用します。 高さ制限を設定すると、観光バスの車高を解析設定で指定できます。また、車高が原因で、観光バスが一部の道路を通行できない場合は、ネットワーク データセットでその道路を規制することができます。

  7. 確認が終了したら、属性テーブルを閉じます。

ネットワーク データセットの作成

[ネットワーク データセットの作成 (Create Network Dataset)] ジオプロセシング ツールを使用して、基本的なネットワーク データセットを作成します。

  1. [解析] タブの [ジオプロセシング] グループで、[ツール] をクリックして、[ジオプロセシング] ウィンドウを開きます。
  2. [ジオプロセシング] ウィンドウの検索バーをクリックして「ネットワーク データセットの作成」と入力します。
  3. 最初に表示された結果をクリックして、[ネットワーク データセットの作成 (Create Network Dataset)] ジオプロセシング ツールを開きます。
  4. [ターゲット フィーチャ データセット] パラメーターで、[参照] ボタン 参照 をクリックします。
  5. [SanDiego.gdb] > [Transportation] の順に参照して、[OK] をクリックします。

    [Transportation] フィーチャ データセットが、[ターゲット フィーチャ データセット] パラメーターに取り込まれます。

  6. [ネットワーク データセット名] パラメーターに「NewSanDiego_ND」と入力します。
  7. [ソース フィーチャクラス] パラメーターで、[Streets] のチェックボックスだけオンにします。

    Streets フィーチャクラスだけが、ネットワーク データセットの一部となり、Walking_Pathways フィーチャクラスと Signposts フィーチャクラスは、ネットワーク データセットに含まれません。 このチュートリアルで後から、ネットワーク データセットにフィーチャと機能をさらに追加します。

  8. [高度モデル] パラメーターは、デフォルト値の [高度フィールド] をそのまま使用します。
  9. ウィンドウの下部にある [実行] 実行 をクリックします。
    ネットワーク データセットの作成ジオプロセシング ツールのダイアログ ボックス

    NewSanDiego_ND という新しいネットワーク データセットが、マップに追加されます。

  10. マップ上で [NewSanDiego_ND] レイヤーを右クリックし、[削除] を選択して、このネットワーク データセット レイヤーをマップから削除します。

    ネットワーク データセット レイヤーがマップ内に存在する間は、ネットワーク データセットのプロパティを編集することができません。 このチュートリアルの後続のセクションに進むには、マップからレイヤーを削除しておく必要があります。

ネットワーク ソースの追加と接続性ポリシーの設定

最初に、Streets フィーチャクラスのみをネットワーク ソースにして、ネットワーク データセットを作成しました。 ここで、Walking_Pathways フィーチャクラスをネットワーク データセットに追加し、どちらのネットワーク ソースにも適したグループおよび鉛直接続性ポリシーを設定します。

ネットワーク データセットを作成したら、そのネットワーク データセットのプロパティ ページで、すべての編集を行います。

  1. [カタログ] ウィンドウで、[NewSanDiego_ND] ネットワーク データセット ネットワーク データセット を右クリックして [プロパティ] を選択し、[ネットワーク データセット プロパティ] ダイアログ ボックスを開きます。
  2. [ソースの設定] > [ソース] の順にクリックします。

    ネットワーク データセットに現在含まれているすべてのソース フィーチャクラスがページに表示されます。

  3. ダイアログ ボックスの右上隅にある [ソースを追加/削除] ボタンをクリックします。

    1 つのエッジ ソースと 1 つのジャンクション ソースがすでに存在します。 このジャンクション ソースは、ネットワーク データセットで作成および管理されているデフォルトのジャンクション フィーチャクラスです。

    [ソースの追加/削除] ダイアログ ボックスが表示されます。

  4. [ソースの追加/削除] ダイアログ ボックスで、[Walking_Pathways] の横にあるチェックボックスをオンにして、[OK] をクリックします。
    ソースの追加/削除ダイアログ ボックスを使用したソースの追加

    フィーチャ データセットに含まれている他のポリライン フィーチャクラスとポリゴン フィーチャクラスも [ソースの追加/削除] ダイアログ ボックスに表示されます。 別々の役割を果たす多数のエッジ ソースとジャンクション ソースを 1 つのネットワーク データセットに含めることができます。 ここで、[Walking_Pathways] だけオンにします。

    Walking_Pathways が、ネットワーク データセット ソースとして表示されます。

  5. [鉛直接続性] タブをクリックします。
    ネットワーク データセット プロパティ ウィンドウの 
    注意:

    ソースごとに別々の高度モデルを使用することはできません。 Walking_Pathways には Z 座標を使用できず、Streets には高度フィールドを使用できません。 すべてのネットワーク データセット ソースで、同じ高度モデルを使用する必要があります。 ネットワーク データセットで Z 座標または高度フィールドを使用する方法の詳細については、接続性をご参照ください。

  6. [Streets (始点ノード)] および [Walking_Pathways (始点ノード)] のドロップダウン リストで、プロパティを [なし] から [F_ZLEV] に変更します。
  7. [Streets (終点ノード)] および [Walking_Pathways (終点ノード)] のドロップダウン リストで、プロパティを [なし] から [T_ZLEV] に変更します。

    始点ノードおよび終点ノードの概念は、ライン フィーチャのデジタイズ方向に由来しています。 始点ノードはラインの始点にあり、終点ノードはラインの終点にあります。 同様に、順方向はラインのデジタイズ方向に移動することを意味し、逆方向はラインのデジタイズ方向とは逆の方向に移動することを意味します。

  8. [ネットワーク データセット プロパティ] ダイアログ ボックスの [OK] をクリックし、変更を確定してダイアログ ボックスを閉じます。

コストの追加

ネットワーク解析では、経路の計算 (最適ルートの検索) 時に、多くの場合はコスト (インピーダンス) の最小化が求められます。 このセクションでは、ネットワーク データセットにコスト属性を追加します。 コスト属性は、ネットワーク データセットでインピーダンスをモデル化する場合に使用します。 これらの属性は、エッジに沿って割り当てることができます。つまり、エッジの長さに沿って、比例分割することができます。

コスト属性の詳細

  1. [カタログ] ウィンドウで、[NewSanDiego_ND] ネットワーク データセット ネットワーク データセット を右クリックして [プロパティ] を選択し、[ネットワーク データセット プロパティ] ダイアログ ボックスを開きます。
  2. [移動属性] ページをクリックしてから、[コスト] タブをクリックします。

    [ネットワーク データセットの作成] ツールでは、ネットワーク ソース内のジオメトリ フィールドに基づいて、1 つのコスト属性 [長さ] が自動的に作成されます。

  3. 長さは、コスト属性が表す内容を正確に記述していますが、あまり明確ではありません。 また、デフォルトの距離コストの単位は、ソース フィーチャクラスの空間参照に基づいています。 この場合、単位はメートルですが、単位をマイルに変換する必要があります。 コストに最初に加える変更として、デフォルトの距離属性の名前をマイルに変更します。エバリュエーターがすべてのエッジ ソースに対して正しく設定されているかを確認したら、式を適用して、メートルをマイルに変換します。
  4. コストの [距離] セクションで、[長さ] 属性をクリックします。
  5. [メニュー] ボタン メニュー をクリックして、[名前の変更] を選択します。
    コスト属性の名前を変更します。
  6. [プロパティ] セクションで [名前] テキスト ボックスに「Miles」と入力し、Enter キーを押して、名前の変更を適用します。
  7. [単位] の値を [マイル] に変更します。

    [Streets (順方向)] 行の値は、Shape フィールドであることに注意してください。 Shape フィールドをエバリュエーターに渡すと、エッジの空間参照、単位、およびジオメトリもエバリュエーターに渡されます。 Shape フィールドにより、エバリュエーターはエッジの長さを算出する際に、空間参照を使用することができます。 一方、Shape_Length フィールドの場合は、数値と単位しか渡されないため、データの座標系によっては、エッジの長さの精度が下がることがあります。

    エバリュエーターがコストに整数フィールドを使用している場合に、エバリュエーターの単位を変更するには、エバリュエーター設定ダイアログ ボックスで、そのフィールドから取得された数値を新しい単位に変換する式を作成する必要があります。 たとえば、マイルをフィートに変換する場合は、次の式を使用します。

    !Miles_Field!*5280

    エバリュエーターで Shape フィールドと Shape_Length フィールドを使用する場合、コストの単位のみを変更すればよく、エバリュエーターはバックグラウンドで変換を行います。

  8. [エバリュエーター] セクションにある [エッジ] グループの [Walking_Pathways (順方向)] 行で、[タイプ][デフォルトと同じ] から [フィールド スクリプト] に変更します。
    Walking_Pathways (順方向) のエバリュエーターをフィールド スクリプトに変更
  9. [Walking_Pathways (順方向)][値] 列をダブルクリックして、[フィールド スクリプト設定] ボタンを有効にした後、[フィールド スクリプト設定] ボタン 式の設定 をクリックします。

    エバリュエーター設定ダイアログ ボックスが表示されます。

  10. [結果] ボックスに「!Shape!」と入力し、[OK] をクリックします。

    エバリュエーターは、エッジごとにインピーダンス (つまり、コスト) の計算方法をネットワークに通知します。 定数にするか、フィールドを基準にするか、別の属性を基準にするか、スクリプトから算出することができます。 これらは、それぞれタイプの異なるエバリュエーターです。

  11. 次に、ネットワーク データセットに Minutes という時間コストを追加します。
  12. [メニュー] ボタン メニュー をクリックして、[新規] を選択します。
  13. 新しいコストの名前として「Minutes」と入力します。
  14. [エバリュエーター] セクションにある [エッジ] グループの [Streets (順方向)] 行で、[タイプ][デフォルトと同じ] から [フィールド スクリプト] に変更します。

    [Streets (順方向)] 行と [Streets (逆方向)] 行の横に X アイコンが表示されますが、エバリュエーターの基準となるフィールドを選択すると、表示されなくなります。

  15. [Streets (順方向)][値] 列をダブルクリックして、[フィールド スクリプト設定] ボタン 式の設定 を有効にした後、[フィールド スクリプト設定] ボタンをクリックします。

    エッジ上でどちらの方向に移動する場合にも必要となるコストを表す 1 つのフィールドを設定できます。 たとえば、ラインの長さを制限速度で除算して計算される Minutes フィールドは、順方向と逆方向の両方に使用できます。 同じフィールドを両方の移動方向に使用できる場合は、[Streets (順方向)] 行に対して、フィールド スクリプト エバリュエーターを使用することができます。 [Streets (逆方向)] 方向に対して、フィールド スクリプト エバリュエーターを設定する代わりに、エバリュエーターの [タイプ][順方向と同じ] に変更します。

    このデータの場合、順方向と逆方向をそれぞれ表す別々のフィールドが存在するため、両方の方向を設定します。

  16. [結果] ボックスに「!FT_Minutes!」と入力し、[OK] をクリックします。
  17. [Streets (逆方向)] 行に対して、手順 12 ~ 13 を繰り返します。
  18. [結果] ボックスに「!TF_Minutes!」と入力し、[OK] をクリックします。
  19. [Walking_Pathways (順方向)] 行と [Walking_Pathways (逆方向)] 行に対して、手順 12 ~ 16 を繰り返します。
    Minutes コストに関してフィールド スクリプト エバリュエーターに適したフィールドを設定
    注意:

    エバリュエーターにはさまざまなタイプがあり、コスト、規制、および記述子で使用できます。 フィールド スクリプト エバリュエーターは、エッジの通過にかかるコストを算出するのに、1 つのフィールドまたは 1 つのフィールドに基づく単純な式を使用するため、最もよく利用されています。

    ネットワークで使用されるエバリュエーターの種類の詳細

  20. [エバリュエーター] セクションの [ターン] グループで、[<デフォルト>] 行の [タイプ] の値を [ターン カテゴリ] に変更します。
  21. [<デフォルト>][値] 列をダブルクリックして、[ターン カテゴリ設定] ボタン 式の設定 を有効にした後、[ターン カテゴリ設定] ボタンをクリックします。

    [ターン カテゴリ エバリュエーター] ダイアログ ボックスが表示されます。

    ターン カテゴリ エバリュエーターの詳細

  22. [左折][U ターン] の秒数を「5」に変更します。
    ターン カテゴリ エバリュエーターで左折と U ターンを 5 秒の遅延に変更

    Minutes コスト属性を使用した解析では、左折または U ターンが発生した場合に、5 秒の遅延時間が加算されます。

  23. [OK] をクリックして、変更を適用し、[ターン カテゴリ エバリュエーター] ダイアログ ボックスを閉じます。
    注意:

    階層属性が存在しないため、ターン カテゴリ エバリュエーターは、道路クラスを使用して、ターンを区別できないという内容の Minutes コストに関する警告が生成されます。 この警告は無視してかまいません。 この警告については、このチュートリアルで後から階層属性を追加する際に対処します。

  24. [ネットワーク データセット プロパティ] ダイアログ ボックスの [OK] をクリックし、変更を確定してダイアログ ボックスを閉じます。

これで、ネットワーク データセットに長さコストと時間コストが設定されました。 次に、自動車の通行、徒歩、車高制限などの規制を追加します。

規制と記述子の追加

このセクションでは、徒歩、乗用車の運転、バスの運転、車高制限ありをモデル化した規制を追加します。 また、車高制限で使用される車高の記述子も追加します。

解析中、規制によって、ある種の特色のある道路の走行を完全に禁止するか、回避するか、優先するかを決めることができます。 たとえば、規制を使用して、歩行者が高速道路上を歩くのを防いだり、頭上が十分ではない道路上を車高の高いトラックが通過するのを防いだりできます。

記述子は、ネットワークまたはそのエレメントの特性を定義する属性です。 コストとは異なり、記述子は割り当てできません。 つまり、この属性の値は、エッジ エレメントの長さには依存しません。 記述子を使用すると、コストに割り当てることもコストで使用することも意図されていない属性を階層と規制で使用するために、ネットワーク データセットに取り込むことができます。 このチュートリアルでは、記述子を使用して、Streets フィーチャクラスの TF_HeightLimit_Meters フィールドと FT_HeightLimit_Meters フィールドから車高を取得し、高さ規制で使用します。

規制の属性に関する詳細

記述子属性の詳細

まず、乗用車の運転、バスの運転、および徒歩をモデル化するための基本的な規制を作成します。

  1. [カタログ] ウィンドウで、[NewSanDiego_ND] ネットワーク データセット ネットワーク データセット を右クリックして [プロパティ] を選択し、[ネットワーク データセット プロパティ] ダイアログ ボックスを開きます。
  2. [移動属性] ページをクリックしてから、[規制] タブをクリックします。
  3. [規制] タブの右上隅にある [メニュー] ボタン メニュー をクリックして、[新規] を選択します。
  4. 新しい規制の名前として「Driving an Automobile」と入力します。
  5. [使用タイプ][禁止] のままにしておきます。
  6. [エバリュエーター] セクションにある [エッジ] グループの [Streets (順方向)] 行で、[タイプ] の値を [デフォルトと同じ] から [フィールド スクリプト] に変更します。

    [Streets (順方向)] 行と [Streets (逆方向)] 行の横に X アイコンが表示されますが、エバリュエーターの基準となるフィールドを選択すると、表示されなくなります。

  7. [Streets (順方向)] 行の [禁止] 列をダブルクリックして、[フィールド スクリプト設定] ボタン 式の設定 を有効にした後、[フィールド スクリプト設定] ボタンをクリックします。

    エバリュエーター設定ダイアログ ボックスが表示されます。

  8. [結果] ボックスに「!AR_AUTO!=="N"」と入力し、[OK] をクリックします。

    このフィールドは、乗用車が道路を合法的に走行できるかどうかを示します。 値が Y の場合は、乗用車がその道路を走行できることを示し、値が N の場合は、乗用車がその道路を走行できないことを示します。

    規制は常にブール型です。 規制に対してフィールド スクリプト、エレメント スクリプト、または関数を定義する場合は、式、スクリプト、または関数から返された値のうち、どの値を True (そのエッジに影響を与える) と見なすかを規制に認識させます。 それ以外の値はすべて、False (そのエッジに影響を与えない) と解釈されます。 この場合は、規制がエッジに影響を与えると、そのエッジの通過が禁止されます。

  9. [Streets (逆方向)][順方向と同じ] のままにします。
  10. [Walking_Pathways (順方向)][タイプ][定数] に変更し、[禁止][True] に変更します。
  11. [Walking_Pathways (逆方向)][順方向と同じ] のままにします。

    歩道では、動力付き車両を許可しないようにする必要があります。この場合、定数値を設定することで、この規制が有効な場合に、車両を常に規制することができます。

  12. バスが特定の道路を走行するのを禁止する新しい規制を追加するには、手順 4 ~ 11 を繰り返し、規制に「Driving a Bus」という名前を付けて、AR_BUS フィールドを使用します。
    Driving a Bus 規制を示すネットワーク データセット プロパティ ウィンドウの規制ページ
  13. Walking」という名前の新しい規制を追加します。
  14. [Streets (順方向)] で、エバリュエーターの [タイプ][フィールド スクリプト] に変更します。
  15. [Streets (順方向)] 行の [禁止] 列をダブルクリックして、[フィールド スクリプト設定] ボタンを有効にした後、[フィールド スクリプト設定] ボタン 式の設定 をクリックします。
  16. エバリュエーター設定ダイアログ ボックスで、[結果] ボックスに「!AR_PEDEST! == "N"」と入力します。

    これで、[Walking] 規制が有効な場合に、州間道路 (つまり、交通量が多く、歩行者が入れない他の道路) が規制されます。

  17. [Walking_Pathways] エッジは、デフォルトのエバリュエーター設定をそのまま使用します。
  18. 次に、未舗装道路を回避する規制を作成します。 前の規制では、規制の [使用タイプ][禁止] に設定しました。この場合は、エッジを通過できるか通過できないかのいずれかです。 [Avoid Unpaved Roads] 規制では、[回避] 使用タイプが使用されます。
  19. Avoid Unpaved Roads」という名前の規制を作成します。
  20. [使用タイプ] の値を [禁止] から [回避] に変更します。
  21. [Streets (順方向)] で、エバリュエーターの [タイプ][フィールド スクリプト] に変更します。
  22. エバリュエーター設定で、[結果] ボックスに「!PAVED! == "N"」と入力します。

    これで、PAVED フィールド内の値が N のすべてのエッジが適切に回避されます。

  23. 次に、一方通行の道路の規制を追加します。
  24. Oneway」という名前の新しい規制を追加します。
  25. [Streets (順方向)] で、エバリュエーターの [タイプ][フィールド スクリプト] に変更します。
  26. [Streets (順方向)] 行の [禁止] 列をダブルクリックして、[フィールド スクリプト設定] ボタンを有効にした後、[フィールド スクリプト設定] ボタン 式の設定 をクリックします。

    一方通行の道路では通常、道路の一方向の移動が規制されます。 この場合には、エッジに沿って移動する方向ごとに、別々の値が必要です。 [Streets] で移動方向ごとに、類似しているが、少し異なるフィールド式を設定します。

  27. [結果] ボックスに「SetOneway(!DIR_TRAVEL!)」と入力し、[コード ブロック] ボックスに次の式を入力します。

    def SetOneway(value):
     if value and value.upper() in ('N', 'TF', 'T'):
      return True
     return False

    この Python 式は、値が NTF、または T かどうかを確認し、値がこれらのいずれかの場合に、該当するエッジを規制します。 これは、大文字と小文字が区別されない式として記述されます。

    TF 値と T 値は、それぞれ To-From と To を表します。 これらの値は、エッジに対して規制された移動方向を意味します。 この式では、To-From 方向 (逆方向) の移動が禁止され、From-To 方向 (順方向) の移動が許可されます。 N は、順方向と逆方向の両方の式で使用されます。 値が N のラインは、ルートでの使用を禁じられます。

    フィールド スクリプト: 順方向に対する一方通行規制のスクリプトを示す Oneway ダイアログ ボックス
  28. エバリュエーター設定ダイアログ ボックスの [OK] をクリックして、変更を適用します。
  29. [Streets (逆方向)] で、エバリュエーターの [タイプ][フィールド スクリプト] に変更します。
  30. [Streets (逆方向)] 行のエバリュエーター設定ダイアログ ボックスを開きます。
  31. [結果] ボックスに「SetOneway(!DIR_TRAVEL!)」と入力し、[コード ブロック] ボックスに次の式を入力します。

    def SetOneway(value):
     restricted = False
     if value and value.upper() in ('N', 'FT', 'F'):
      restricted = True
     return restricted

    この式は、TFT の代わりに FTF を使用している点を除いて、上記の式と同じです。 この式では、もう 1 つの式で指定された方向とは反対の方向が規制されます。これは、一方通行規制の残りの半分で必要となります。

  32. エバリュエーター設定ダイアログ ボックスの [OK] をクリックして、変更を適用します。
  33. 一部の道路での車高制限をモデル化するために、新しいパラメーター化規制を追加します。 まず、[Streets] フィーチャクラスから車高を除去する記述子を作成します。
  34. [記述子] タブをクリックします。
  35. [メニュー] ボタン メニュー をクリックしてから、[新規] をクリックします。
  36. 名前として「Height Limit (Feet)」と入力します。
  37. [Streets (順方向)] 行で、エバリュエーターのタイプを [フィールド スクリプト] に変更します。
  38. [Streets (順方向)] 行のエバリュエーター設定ダイアログ ボックスを開きます。
  39. [結果] ボックスに「MetersToFeet(!FT_HeightLimit_Meters!)」と入力し、[コード ブロック] ボックスに次の式を入力します。

    def MetersToFeet(value):
     if value is None:
      return value
     return value / 0.3048

    この式は、FT_HeightLimit_Meters フィールドから値を取得し、その単位をメートルからフィートに変換します。

  40. [Streets (逆方向)] 行で、エバリュエーターのタイプを [フィールド スクリプト] に変更します。
  41. [Streets (逆方向)] 行のエバリュエーター設定ダイアログ ボックスを開きます。
  42. [結果] ボックスに「MetersToFeet(!TF_HeightLimit_Meters!)」と入力し、[コード ブロック] ボックスに次の式を入力します。

    def MetersToFeet(value):
     if value is None:
      return value
     return value / 0.3048

  43. [OK] をクリックして、この式を適用します。
    完全な
  44. 上部にある [規制] タブをクリックします。
  45. Height Restriction」という名前の新しい規制属性を追加します。
  46. 必要に応じて、[パラメーター] セクションを展開します。
  47. [パラメーター] セクションで、グリッドをクリックして、新しい行を追加します。
  48. 新しいパラメーターの名前を「Vehicle Height (Feet)」に変更します。

    ネットワーク解析は、さまざまな状況によって変わることがあります。 この場合には、パラメーターを使用できます。 パラメーターは、プレースホルダー変数に似た役割を果たします。 別の値で上書きされない限り、デフォルト値が使用されます。 このパラメーターは、解析レイヤーの [移動モード] 設定で公開されます。ここで、この解析に合わせて、車高を変更することができます。

    パラメーターを規制、コスト、または記述子に追加すると、その規制、コスト、または記述子がパラメーター化属性になります。 パラメーター化属性では、高さ、重量、車軸数の規制、コスト係数指定の移動コストなど、多くのものをモデル化できます。

    パラメーターの詳細

  49. [タイプ] 列を [double][デフォルト値] を 0 のままにします。
    注意:

    車両の高さは 4 または 4.5 メートルのため、このパラメーターのタイプは double が適しています。 [デフォルト値] は、解析レイヤー プロパティから変更しない限り、車高のプレースホルダーとして使用されます。

  50. [Streets (順方向)] 行の [タイプ] の値を [関数] に変更して、エバリュエーター設定ダイアログ ボックスを開きます。

    関数エバリュエーターで、単純な数学関数を作成します。 コストや記述子などの数値タイプの属性では、乗算、除算、減算、および加算を演算として実行できます。 規制などのブール属性では、比較オペランド (例: より大きい、より小さい) が使用されます。

  51. [属性名][Height Limit (Feet)] (前に作成した記述子) に設定します。
  52. [パラメーター名][Vehicle Height (Feet)] (この規制に追加したパラメーター) に設定します。
  53. 演算子として以下 (<=) を選択します。

    式が Height Limit (Feet) <= Vehicle Height (Feet) を読み取ります。

    エッジの Height Limit (Feet) が解析レイヤーに入力された Vehicle Height (Feet) 以下の場合は、そのエッジが規制されます。

  54. [OK] をクリックして、この関数を適用します。
  55. [Walking_Pathways] 行は、デフォルト値をそのまま使用します。

    歩道では高さ制限がなく、車両の通行が許可されていないので、この規制を設定する必要はありません。

  56. [ネットワーク データセット プロパティ] ダイアログ ボックスの [OK] をクリックし、変更を確定してダイアログ ボックスを閉じます。

タイム ゾーン属性の追加

タイム ゾーン属性を使用して、ネットワーク データセットで、タイム ゾーンを管理することで、時刻の値が明確になり、交通量対応のネットワーク データセットが、正確な時刻で移動時間を取得できるようになります。 ラスト マイル デリバリー解析などの一部のタイプのネットワーク解析では、タイム ゾーン属性が必要です。 タイム ゾーン属性を設定することで、このネットワーク データセットを使用して、すべての解析タイプを実行できるようになります。

タイム ゾーン属性の詳細

  1. [カタログ] ウィンドウで、[NewSanDiego_ND] ネットワーク データセット ネットワーク データセット を右クリックして [プロパティ] を選択し、[ネットワーク データセット プロパティ] ダイアログ ボックスを開きます。
  2. [移動属性] ページをクリックしてから、[タイム ゾーン] タブをクリックします。
  3. [タイム ゾーン属性の追加] チェックボックスをオンにします。
  4. [タイム ゾーン テーブル] ドロップダウン リストで、TimeZones テーブルが選択されていることを確認します。
  5. エバリュエーター グリッドに値がすでに入力され ([<デフォルト>] エバリュエーターの [タイプ][定数] に設定され、[値][(UTC-08:00) 太平洋標準時 (米国とカナダ)] に設定されている)、その他のエバリュエーターには、デフォルト値が使用されていることを確認します。
    エバリュエーター グリッド

    TimeZones テーブルには、[太平洋標準時] エントリしかありません。 これは、Windows レジストリ内の値に対応する値であり、これに基づいて、ネットワーク データセットは、使用するタイム ゾーンを特定します。 エントリが 1 つしかないため、ネットワーク データセットは、その値を使用するデフォルト (かつ唯一の) 値として入力します。 ネットワーク データセットが複数のタイム ゾーンにまたがっている場合、フィールド エバリュエーターを使用して、これを設定できます。 そのプロセスの手順およびタイム ゾーン属性の詳細については、タイム ゾーン属性ドキュメントで説明しています。

  6. [ネットワーク データセット プロパティ] ダイアログ ボックスの [OK] をクリックし、変更を確定してダイアログ ボックスを閉じます。

階層属性の追加

階層は、ネットワーク エレメントに割り当てられる順序またはランクです。 通常、道路には 3 ~ 5 のクラスがありますが、これより多くのクラスを使用できます。 3 つのレベルの階層の場合、クラスは幹線道路、一般道路、および生活道路になります。 生活道路の例として、狭い住宅地道路などがあります。 一般道路には、市街地を通る広い道路や州道などがあり、幹線道路には、州間道路や高速道路などがあります。

階層属性の詳細

  1. [カタログ] ウィンドウで、[NewSanDiego_ND] ネットワーク データセット ネットワーク データセット を右クリックして [プロパティ] を選択し、[ネットワーク データセット プロパティ] ダイアログ ボックスを開きます。
  2. [移動属性] ページをクリックしてから、[階層] タブをクリックします。
  3. [階層属性の追加] チェックボックスをオンにします。

    [範囲][エバリュエーター] の階層設定が表示されます。

  4. [幹線道路] の範囲の上限を「2」に設定します。
  5. [一般道路] の範囲の上限を「4」に設定します。
    注意:

    これらの範囲はこのチュートリアルのデータであり、お使いのデータの分類方法は、これと異なっている可能性があります。

  6. [Streets (順方向)] 行で、エバリュエーターのタイプを [フィールド スクリプト] に変更して、エバリュエーター設定ダイアログ ボックスを開きます。
  7. [結果] ボックスに、次の式を入力します。
    int(!FUNC_CLASS!)

    階層属性には、0 より大きい整数値を入力する必要があります。 FUNC_CLASS フィールドはテキスト フィールドであるため、フィールド値を整数に変換する簡単なメソッドを使用する必要があります。

    フィールド値を整数に変換します。
  8. [OK] をクリックして、この式を適用します。
  9. [Walking_Pathways (順方向)] 行に対して、手順 6 ~ 8 を繰り返します。
    Walking_Pathways (順方向) のフィールド値を整数に変換します。
  10. [ネットワーク データセット プロパティ] ダイアログ ボックスの [OK] をクリックし、変更を確定してダイアログ ボックスを閉じます。

移動モードの追加

移動モードとは、基本的に、車両や歩行者の物理的な特徴を定義する移動設定の長いリストで構成されるテンプレートです。 これらの特徴は、車両または歩行者が移動する方法や移動できる場所を定義するためのネットワーク解析の実行時に考慮されます。 事前定義された移動モードを使用すると、各設定を手動で選択せずに、事前に決められた設定をネットワーク解析にすぐ適用できます。

移動モードでは、乗用車の運転や徒歩などの一般的なモードをモデル化できるだけでなく、制限速度を超えることがないトレーラー トラックの運転や一部の道路交通法を無視できる救急車の運転などの具体的なモードをモデル化することもできます。

移動モードは、ネットワーク データセットに格納されるため、必要に応じて、解析レイヤー内で変更できます。

乗用車の運転、観光バスの運転、および徒歩という 3 つの移動手段に対して、5 つの移動モードを作成します。 乗用車の運転および観光バスの運転では、距離ベースの移動モードと時間ベースの移動モードを作成します。 徒歩の場合は、距離ベースの移動モードのみを作成します。

  1. [カタログ] ウィンドウで、[NewSanDiego_ND] ネットワーク データセット ネットワーク データセット を右クリックして [プロパティ] を選択し、[ネットワーク データセット プロパティ] ダイアログ ボックスを開きます。
  2. [移動属性] ページをクリックしてから、[移動モード] タブをクリックします。
  3. ダイアログ ボックスの右上隅にある [メニュー] ボタン メニュー をクリックして、[新規] を選択します。
  4. 移動モードに「Automobile Time」という名前を付けます。
  5. この移動モードが乗用車の運転時間ベースの移動モードであることを示す内容を [説明] に入力します。
  6. [タイプ][運転] のままにしておきます。
  7. [コスト] セクションで、[インピーダンス][分] に設定されているかを確認します。
  8. [距離コスト][マイル] に設定されているかを確認します。
  9. [規制] セクションで、下の画像に示すとおり、Avoid Unpaved Roads、Driving an Automobile、Oneway 規制のチェックボックスをオンにします。
    Automobile Time 移動モードで Avoid Unpaved Roads、Driving an Automobile、および Oneway 規制がオン

    移動モードを設定する場合は、移動手段 (Driving an Automobile、Driving a Bus、または Walking) のうちの 1 つだけをオンにします。 これらの規制は、該当する各移動手段が合法的であることを示します。 複数をオンにすると、一部のエッジが不正に規制されたり、許可されたりすることがあります。

    乗用車は通常、道路上での高さ制限の問題がないため、[Height Restriction] 属性はオンにしません。

  10. [U ターン] セクションで、設定を [行き止まりと交差点] に変更します。
  11. 折りたたまれている場合は、[高度な設定] セクションを展開します。
  12. [高度な設定] セクションで、[階層を使用] の横にあるチェックボックスをオンにします。

    通常、階層を使用すると、大規模なネットワークの解析にかかる時間が短縮されます。 また、人々のように、生活道路よりも単調で予測しやすい州間道路や高速道路などの幹線道路を優先するため、人が好む運転方法がシミュレートされます。

  13. [メニュー] ボタン メニュー をクリックして、[コピー] を選択します。
  14. 新しい移動モードの名前を「Automobile Distance」に変更します。
  15. [インピーダンス] の値を [マイル] に変更します。
  16. [高度な設定] セクションで、[階層を使用] の横にあるチェックボックスをオフにします。

    階層は、時間ベースのコスト属性で使用すると最適です。 インピーダンスが時間ベースでない場合は、解析で階層を使用しても、現実的な結果が得られません。

  17. これで、乗用車の運転に関する 2 つの移動モードが作成されました。 次に、バスの運転に関する移動モードを作成します。
  18. Tour Bus Time」という名前の移動モードを作成します。
  19. [インピーダンス] の値を [分] に変更します。
  20. [規制] セクションで、[Avoid Unpaved Roads] をクリックします。
  21. [規制の使用] パラメーターの値を [回避 (高)] に変更します。
    Avoid Unpaved Roads 規制の値を回避から回避 (高) に変更

    観光バスは、あまり未舗装道路を運転することがありません。 この移動モードの [規制の使用] パラメーターを [回避 (高)] に設定すると、未舗装道路が必要な場合のみ使用されるようになります。

  22. [Avoid Unpaved Roads] のチェックボックスがオンになっているを確認します。
  23. [Driving a Bus] をクリックします。
  24. [Driving a Bus] のチェックボックスがオンになっているかを確認します。
  25. [Height Restriction] をクリックします。
  26. [Vehicle Height (Feet)] パラメーターの値を「11」に変更します。

    ここに入力された値はすべて、道路の高さ制限に対して車高を評価する場合のデフォルト値として使用されます。 1 階建ての観光バスの高さは、平均で 10 ~ 11 フィートであるため、11 フィートは、車高の適切なデフォルト値です。

  27. [Height Restriction] チェックボックスがオンで、[規制の使用][禁止] に設定されていることを確認します。
  28. [Oneway] チェックボックスがオンで、[規制の使用][禁止] に設定されていることを確認します。
  29. [U ターン] セクションで、ポリシーを [なし] に設定します。
  30. [高度な設定] セクションで、[階層を使用] の横にあるチェックボックスをオンにします。
  31. この移動モードをコピーして、新しい移動モードの名前を「Tour Bus Distance」に変更します。
  32. [インピーダンス] の値を [マイル] に変更し、[階層を使用] の隣のチェックボックスをオフにします。それ以外のすべてのプロパティは、そのまま同じ値を使用します。
  33. このチュートリアルで最後に追加する移動モードは、徒歩距離の移動モードです。
  34. [Walking Distance] という名前の新しい移動モードを追加します。
  35. この移動モードの [タイプ][徒歩] に変更します。
    移動モード タイプを徒歩に変更
  36. [インピーダンス] の値を [マイル] に変更します。
  37. [Walking] 規制のみをオンにします。

    歩行者は、一方通行の道路、高さ制限、未舗装道路を気にしないので、これらの規制をオンにする必要はありません。

  38. [U ターン] ポリシーを [すべて] のままにします。
  39. [階層を使用] チェックボックスをオフのままにします。

    [Walking] 規制により、階層で優先される多数の幹線道路 (州間道路や高速道路など) 上を歩行者が移動できなくなります。

  40. [ネットワーク データセット プロパティ] ダイアログ ボックスの [OK] をクリックし、変更を確定してダイアログ ボックスを閉じます。

コスト属性の更新

ネットワーク データセットに関する階層属性がすでに存在するので、ターン遅延を定義できるカテゴリをターン カテゴリ エバリュエーターに割り当てます。 Minutes コストに戻って、新しい遅延時間をターン カテゴリ エバリュエーターに反映します。

ターン カテゴリ エバリュエーターの詳細

  1. [カタログ] ウィンドウで、[NewSanDiego_ND] ネットワーク データセット ネットワーク データセット を右クリックして [プロパティ] を選択し、[ネットワーク データセット プロパティ] ダイアログ ボックスを開きます。
  2. [移動属性] ページをクリックしてから、[コスト] タブをクリックします。
  3. [Minutes] コストを選択します。
  4. [Minutes] コストを下にスクロールして、[ターン] セクションを確認します。
  5. [<デフォルト>][値] 列をダブルクリックして、[ターン カテゴリ設定] ボタン 式の設定 を有効にします。

    値を確認すると、ターン カテゴリ数がターン カテゴリ エバリュエーターの設定時に表示された 5 件ではなく、20 件あることがわかります。

  6. [ターン カテゴリ設定] ボタン 式の設定 をクリックして、[ターン カテゴリ エバリュエーター] ダイアログ ボックスを開きます。
    分類済みの道路が反映されたターン カテゴリ エバリュエーター

    [ターン方位角範囲] セクションに変更はありませんが、道路クラスというセクションが追加されています。 このセクションを使用すると、ターン カテゴリ エバリュエーターで幹線道路、一般道路、または生活道路と見なされる階層値を変更することができます。

    デフォルトでは、階層属性で定義された範囲が使用されます。 範囲を変更する理由が特にない限り、デフォルトの範囲をそのまま使用してください。

    これで、[ターン カテゴリの移動時間] セクションに、道路を階層で分類できるターン カテゴリがさらに多く表示されるようになります。

  7. [左折] グループで、[生活]: [生活]: [すべて][秒] 値を 5 から 7 に変更します。

    これらの列は、ターンが開始された道路のクラス、ターンが終了した道路のクラス、道路が横切られているかどうか (通常の交差点など)、該当する道路のクラスが表示されます。 たとえば、生活道路に進入するのに広い大通りを横切る必要がある場合は、走行車両が途絶えるまで数秒待機しなければなりません。 デフォルトでは、この種の走行の遅延時間は 15 秒です。 ただし、生活道路に進入するのに別の狭い道だけを横切る必要がある場合は、それほど長く待機しなくても済みます。 この種の走行の遅延時間は 2 秒です。

  8. [OK] をクリックして変更を適用し、[ターン カテゴリ エバリュエーター] ダイアログ ボックスを閉じます。
  9. [ネットワーク データセット プロパティ] ダイアログ ボックスの [OK] をクリックし、変更を確定してダイアログ ボックスを閉じます。

ルート案内の設定

ルート案内は、ルートを進むためのターンごとの指示です。 ルート案内をサポートするネットワーク データセットの最低要件は次のとおりです。

  • 長さの値が入力されている属性フィールド (単位はメートルやキロメートルなどの長さ単位)
  • 少なくとも 1 つのエッジ ソース
  • エッジ ソースに少なくとも 1 つのテキスト フィールド

基本的なルート案内は、最小限の要求事項で設定できますが、ルート案内の一部の機能には、さらに多くの要求事項が必要となります。

ルート案内を設定する方法の詳細

  1. [カタログ] ウィンドウで、[NewSanDiego_ND] ネットワーク データセット ネットワーク データセット を右クリックして [プロパティ] を選択し、[ネットワーク データセット プロパティ] ダイアログ ボックスを開きます。
  2. [ルート案内] ページをクリックします。
  3. [ルート案内のサポート] の横にあるチェックボックスをオンにします。

    [ルート案内] ページと [フィールド マッピング] タブに無効な状態を表すマーク (赤色の下付きの破線) が付けられます。 今のところ、これは無視してかまいません。 [フィールド マッピング] タブにアクセスすると、この問題が修正されます。

  4. [一般] タブをクリックします。
  5. [属性の割り当て] セクションは、すべてのデフォルト設定をそのまま使用します。

    [属性の割り当て] セクションのプロパティは、ネットワーク データセットの属性になります。

    [フィーチャ カテゴリ] プロパティ、[マヌーバー クラス] プロパティ、[通行側] プロパティは、ルート案内の詳細な調整に使用されます。 これらのプロパティの詳細

  6. [補助データ ソース] セクションで、次のプロパティを設定します。

    • [標識フィーチャ]Signposts に設定します。
    • [標識結合テーブル]Signposts_Streets に設定します。
    • [略語テーブル] を Abbreviations に設定します。

    [補助データ ソース] セクションのプロパティは、ネットワーク データセットまたはジオデータベース テーブルと同じフィーチャ データセット内の他のフィーチャクラスになります。

    [標識フィーチャ] 属性と [標識結合テーブル] 属性は、出口番号、連絡道路、連絡道路を進んで到達可能な主な行先など、高速道路標識に表示される行先情報を提供します。 これらのプロパティは、組み合わせて使用されるため、ルート案内で標識情報を利用したい場合は、両方とも指定する必要があります。

    [フィーチャ カテゴリ] 属性、[マヌーバー クラス] 属性、[通行側] 属性と同様、[道路分岐] テーブルは、特定タイプのターンでの詳細なルート案内に使用されます。

    書き込まれたルート案内には、一般的な単語の略語が頻繁に含まれます。 ただし、書き込まれたルート案内を音声ガイダンスに変換するときには、略語を一般的な単語にする必要があります。 略語テーブルには、略語を一般的な単語にするルールを格納します。

  7. [ローカライズ名] は、デフォルト設定をそのまま使用します。

    ネットワーク データセット ソースでは、ストリート名と標識のテキストが、複数の言語で表示されることがあります。 たとえば、欧州のいくつかの国には複数の公用語があるため、一部の地域のストリート名は、複数の言語で表示されています。 この設定によって、ルート案内にストリート名を利用可能なすべての言語で表示するか、ルート案内言語でのみ表示するかが決まります。

    [優先出力ルート案内言語] を選択する前に、いくつかのデータ要件を満たしておく必要があります。

    ローカライズ名の詳細

  8. [フィールド マッピング] タブをクリックします。

    ネットワーク内の各エッジ ソースには、ストリート名のフィールドを設定できます。 これは、ルート案内の表示に使用される名前です。

  9. [代替名] で、[Streets (エッジ)] ソースの数値を引き上げます。

    1 つのエッジ ソースに、複数の名前を割り当てることができます。 たとえば、2 つの高速道路が同じ 1 本の道路を数マイルにわたって共有していることがあります。 この 1 本の道路を表すエッジには、2 つの名前が割り当てられます。 ルート案内でこの状況を表現するために、エッジ ソースで代替名を使用することができます。

  10. [代替名] で、[Streets (エッジ)] ソースの数値を引き下げます。

    このチュートリアルのデータは、代替名を使用していないので、代替名を設定する必要はありません。

  11. 以下に示された [Streets (エッジ)] ソースと [Walking_Pathways (エッジ)] ソースの [優先名] のプロパティに値を入力します。

    ルート案内でのエッジ ソースのフィールド マッピング

    名前ソース フィールド

    接頭辞の方位

    ST_NM_PREF

    接頭辞タイプ

    ST_TYP_BEF

    ベース名

    ST_NM_BASE

    接尾辞タイプ

    ST_TYP_AFT

    接尾辞の方位

    ST_NM_SUFF

    高速道路の指示

    DIRONSIGN

    フル ネーム

    ST_NAME

    言語

    Language

    名前クラス

    NameClass

    ルート案内でのエッジ ソースのフィールド マッピング
    注意:

    [ベース名] プロパティだけが必要となります。 それ以外のフィールドは、すべてオプションです。

    ルート案内は、複数の言語での道路名の表示に対応しています。 [言語] フィールドでは、名前をどの言語で記述するかを指定します。 優先名を 1 つの言語で記述し、代替名をもう 1 つの言語で記述することができます。

  12. [補助プロパティ] セクションの [Streets (エッジ)][Walking_Pathways (エッジ)] で、[国/地域コード]CountryRegionCode に設定し、他のプロパティを既定値のまま残しておきます。

    [行政界] フィールドには、エッジが属している行政界が名前で表示されます。 行政界に変更があった場合は、州境を通過する際に、ルート案内にたとえば「Enter California (カリフォルニア州に入りました)」と表示されます。

    [レベル (From)][レベル (To)][フロア名 (From)]、および [フロア名 (To)] フィールド関数は、[行政界] によく似ていますが、屋内のルート検索に有効です。 これらの関数はそれぞれ、階数と階名の変更を表示します。

    [国/地域コード] の設定は、略語テーブルと組み合わせて使用されます。 これには、音声ガイダンスのルート案内で使用するときの略語を一般的な単語にする方法を決定する場合に使用される ISO 3166-2 コードが含まれます。 [行政界] フィールドの値とは異なり、[国/地域コード] 設定の値は、ルート案内に直接表示されません。

  13. [ランドマーク] タブをクリックします。

    [空間ランドマーク] および [参照ランドマーク] という 2 つのグループが表示されます。 空間ランドマークはフィーチャクラスであり、参照ランドマークはテーブルです。 空間ランドマークでは、解析時に空間検索を利用して、ランドマークを参照するタイミングを決定します。 参照ランドマークでは、ネットワーク上の場所が行内に作成されるので、ルート案内でのランドマークの使用がテーブル検索だけで済みます。 空間検索は、テーブル検索よりも時間がかかるため、空間ランドマークよりも、参照ランドマークの方が実行速度が速くなります。

    空間ランドマークでは、場所を特定するのに簡単な空間検索が使用されるので、すぐに設定できます。 空間ランドマークのラベルになるテキスト フィールドを少なくとも 1 つ含むポイント フィーチャクラスが必要となります。 それ以外のフィールドは、階、屋内のルート検索、各ポイント フィーチャのカスタム検索許容値などの特性を定義するのに使用できます。

    参照ランドマークの設定には、多くの作業が必要です。 参照ランドマークでは、特定のスキーマが必要であり、ネットワーク ロケーションと他の必須フィールドを手動で設定しなければなりません。

    空間ランドマークと参照ランドマークの両方を設定します。

  14. まず、空間ランドマークを設定します。
  15. [空間ランドマークの追加/削除] ボタンをクリックします。

    2 つのグループを含む [空間ランドマークの追加/削除] ダイアログ ボックスが表示されます。 たとえば、「左手の Eastlake Park の横を通ってください」といった確認ガイダンス ランドマークにより、運転者に対し、正しいルートを走行していることが通知されます。「1st Avenue の背の高い円筒形の白い建物の手前で左に曲がってください」といったターン ガイダンス ランドマークにより、運転者は、ジャンクションの走行を手助けされます。

    ランドマーク フィーチャクラスは、ネットワーク データセットと同じフィーチャ データセットに配置する必要があります。 1 つのランドマーク フィーチャクラスを確認ガイダンス ランドマークとターン ガイダンス ランドマークの両方として登録することができます。

  16. [確認ガイダンス] グループで、[MajorAttractions] のツリー ビューを展開します。

    エッジ ソースごとに、ランドマーク フィーチャクラスが、確認ガイダンス ランドマークまたはターン ガイダンス ランドマークのいずれかとして登録されます。 ほとんどの場合、すべてのエッジ ソースのランドマーク フィーチャクラスを確認ガイダンス ランドマーク、ターン ガイダンス ランドマーク、またはその両方のランドマークとして登録します。

  17. [確認] セクションと [ターン ガイダンス] セクションの両方で、最上位の [MajorAttractions] フィーチャクラスの横のチェックボックスをオンにします。

    [MajorAttractions] フィーチャクラスは、サンディエゴ市の主要な観光名所を表します。 これらの観光名所は、[Streets] または [Walking_Pathways] フィーチャに隣接している場合があります。 また、これらの観光名所を確認ガイダンスとターン ガイダンスに使用することもできます。 すべてのエッジ ソースの [MajorAttractions] フィーチャクラスを両方のランドマーク グループに登録します。

    なお、最上部のチェックボックスをオンにすると、そのサブレベルのチェックボックスもすべてオンになります。

  18. [OK] をクリックして、空間ランドマークの登録を適用します。
    ターン ガイダンスおよび確認ガイダンス空間ランドマークとして登録された MajorAttractions フィーチャクラス

    [空間ランドマーク] ヘッダーにあるグリッドには、ランドマーク登録が入力されます。

  19. [フィールド マッピング] ボタンをクリックします。

    [空間ランドマーク フィールド マッピング] ダイアログ ボックスが表示されます。

    デフォルトでは、ランドマークの [ラベル フィールド] には Name フィールドが選択されており、[レベル フィールド] は、[<なし>] のままになっています。

  20. [ラベル フィールド][レベル フィールド] のドロップダウン リストをクリックし、選択肢をメモしておきます。
    MajorAttractions フィーチャクラス内のすべてのテキスト フィールドが表示されたラベル フィールド ドロップダウン リストを含む空間ランドマーク フィールド マッピング ダイアログ ボックス

    [ラベル フィールド] ドロップダウン リストには、[MajorAttractions] フィーチャクラス内のすべてのテキスト フィールドが表示され、[レベル フィールド] ドロップダウン リストには、すべての整数フィールドが表示されます。

    このダイアログ ボックスに変更を加えると、すべてのガイダンス タイプとエッジ ソースで、フィールド マッピングが設定されます。

  21. ここで、フィールドに変更を加えたり、[キャンセル] をクリックしたりして、[空間ランドマーク フィールド マッピング] ダイアログ ボックスを閉じないでください。
  22. 次に、参照ランドマークを設定します。
  23. [参照ランドマークの追加/削除] ボタンをクリックします。

    [参照ランドマークの追加/削除] ダイアログ ボックスが表示されます。

  24. [Reference_Landmarks] の横にあるチェックボックスをオンにします。
    Reference_Landmarks テーブルが、ルート案内にランドマーク テーブルとして登録されます。

    このダイアログ ボックスには、参照ランドマークに必要なスキーマを含むテーブルだけが候補として表示されます。

  25. [OK] をクリックして、参照ランドマークの登録を適用します。

    設定が完了した [ランドマーク] タブは、下の図のようになるはずです。

    登録済みの空間ランドマークと参照ランドマークを含むランドマーク タブ
  26. [ネットワーク データセット プロパティ] ダイアログ ボックスの [OK] をクリックし、変更を確定してダイアログ ボックスを閉じます。

ネットワーク データセットの構築

ネットワーク データセット設定にすべての変更を加えたら、ネットワークを構築する必要があります。 ネットワークを構築すると、ネットワーク エッジが作成および更新されるため、ソース フィーチャからの最新の情報が確保されます。

ネットワーク データセットを構築するタイミングの詳細

  1. [解析] リボン上の [ジオプロセシング] グループで、[ツール] をクリックして [ジオプロセシング] ウィンドウを開きます。
  2. [ジオプロセシング] ウィンドウの検索バーをクリックして「ネットワークの構築」と入力します。
  3. 最初に表示された結果をクリックして「ネットワークの構築」ツールを開きます。
  4. [入力ネットワーク データセット] パラメーターで、[参照] ボタン 参照 をクリックした後、[NewSandiego_ND] ネットワーク データセットを参照して選択し、[OK] をクリックします。
  5. 下部にある [実行] ボタン 実行 をクリックします。
  6. または、マップまたは [コンテンツ] ウィンドウでネットワーク データセットを追加し、ネットワーク データセットを右クリックして、表示されたショートカット メニューの [構築] をクリックします。

    [ネットワークの構築 (Build Network)] ジオプロセシング ツールが実行され、ネットワークが構築されます。

ネットワーク データセットの検索

ネットワーク データセットのプロパティを設定して「構築」したら、[ネットワークの検索] ツールを使用して、エレメントと属性を検査できます。

  1. 新しく作成したネットワーク データセット [NewSanDiego_ND] をマップにドラッグし、[コンテンツ] ウィンドウで、ネットワーク データセット レイヤーが選択されていることを確認します。
  2. リボンの [ネットワーク データセット レイヤー] グループで、[データ] をクリックします。 [ネットワークの検索] ツールが使用できます。
    ネットワークの検索ツールをリボンで使用できるようになります。
  3. ツールをクリックしてアクティブ化し、マップ内でボックスをドラッグして、ネットワーク データセットからエレメントを選択します。

    [ネットワークの検索] ウィンドウが表示されます。 このウィンドウには、マップ上で特定されたネットワーク エレメント、それに関連付けられたエレメントと属性が表示されます。

    ネットワークの検索の詳細