バリアはネットワーク解析レイヤー内のフィーチャクラスで、関連付けられたネットワーク データセットの元のエッジやジャンクションのコストを規制または変更します。バリアは 3 つのジオメトリ タイプ (ポイント、ライン、ポリゴン) に分割され、ネットワークの一時的な変更をモデリングします。次のように、バリアにはさまざまなタイプがあります。
- 通行不可ポイント バリアは、倒木、事故、落下した電線など、ネットワーク上の特定の地点で通行を完全に遮断するものを表します。ポイント バリアをエッジ上に配置した場合、そのエッジ上を移動することは可能ですが、バリアを通過することはできません。必要に応じて、通行不可ポイント バリアを配置したエッジ全体の移動を禁止することもできます。
- 追加コスト ポイント バリアの場合、そのバリアを通過することは可能ですが、指定したコスト (1 分間など) が課せられます。追加コスト ポイント バリアを使用すれば、交通事故による遅れや、危険物を運ぶトラックが踏み切りで停止する時間などをモデリングできます。
- 通行不可ライン バリアは、そのバリアが道路網と交差している場所を移動できないようにします。たとえば、複数の区画にわたって通行禁止となるパレードやデモを表すときに通行不可ライン バリアを使用します。また、このタイプのバリアを使用すれば、道路網の特定の区間を迂回する経路をすばやく見つけることができます。
- コスト係数指定ライン バリアは、対象範囲のエッジやジャンクション上の移動を禁止しません。ただし、指定した係数に基づいて、対象エッジやジャンクションを移動する際のコストが決定されます。たとえば、係数 0.5 を割り当てると、移動速度が通常の 2 倍になります。係数 2.0 を割り当てると、移動時間が通常の 2 倍になります。工事中のため、幹線道路のある区間の交通量が一時的に制限される場合などに、コスト係数指定ライン バリアを使用して移動時間を長くします。
- 通行不可ポリゴン バリアは、そのポリゴンが道路網と重なる場所を通過できないようにします。たとえば、道路網の特定の領域が浸水し、通過できない状況を表す場合などに、このタイプのバリアを使用します。
- コスト係数指定ポリゴン バリアは、対象範囲のエッジやジャンクション上の移動を禁止しません。ただし、指定した係数に基づいて、対象エッジやジャンクションを移動する際のコストが決定されます。たとえば、係数 0.25 を指定すると、移動速度が通常の 4 倍になります。係数 3.0 を指定すると、移動時間が通常の 3 倍になります。暴風のため特定領域の移動速度が低下する場合などに、このタイプのバリアを使用します。
バリアは、ネットワーク データセットではなく、ネットワーク解析レイヤーの一部です。つまり、バリアは、そのバリアを含むネットワーク解析レイヤーにのみ影響を与えます。他の解析でもバリアを使用する場合は、目的のネットワーク解析レイヤーにバリアを配置する必要があります。バリアを使用する代わりに、ネットワーク データセットを編集する方法もあります。
ネットワーク データセットを編集すれば、バリアと同じようにネットワーク (道路網) の移動可能経路またはエレメントのコストを変更できます。ただし、道路網の規制をすばやく変更したり、既存の規制を簡単に削除したりできるという点で、バリアの方が一時的なコスト変更のモデリングに適しています。通行を妨げる倒木はいずれ撤去され、浸水もやがては解消されます。モデリング対象のイベントが解消された時点で、そのバリアをすぐに削除できます。
編集権限が与えられていない場合でも、バリアを使用してネットワーク (道路網) の移動可能経路やコストを変更できます。たとえば、StreetMap Premium North America など編集不可能なネットワーク データセットがあり、ある領域のコスト値が実際の移動時間を反映していないと思われる場合、ポリゴン バリアを追加してコストを適切な値に調整できます。ただし、バリアを使用すると、解析のパフォーマンスが低下する可能性があります。
ライン バリアまたはポリゴン バリアを作成したり、読み込んだりする時間は、対象となるネットワーク エレメントの数に比例します。規制対象が密集した道路網や広範囲の場合、バリアは適していません。
ポイント バリア、ライン バリア、ポリゴン バリア
バリア クラスはすべてのネットワーク解析レイヤーに表示されます。
[編集] タブの [作成] ツール、または [ロケーションの追加 (Add Locations)] ジオプロセシング ツールを使用して、バリア クラスにバリアを追加できます。
バリアの属性を参照および編集するには、属性テーブルを使用するか (そのバリア クラスのすべてのバリアと属性が一覧表示されます)、バリアの [属性] ウィンドウを使用します (バリアとその属性が 1 つずつ表示されます)。
ポイント バリア フィーチャ レイヤー
ポイント バリアを作成または追加すると、検索許容値内で最も近いネットワーク エッジまたはジャンクションにスナップします。ネットワーク上でのバリアの位置は、ネットワーク ロケーション フィールド (SourceID、SourceOID、SideOfEdge、PosAlong) によって指定されます。通行不可ポイント バリアをエッジ上に配置する場合、そのポイント バリアのみの通過を禁止するか、エッジ全体の通過を禁止することができます。コスト係数指定ポイント バリアは、そのバリアを通過するたびにコストが加算されます。
ポイント バリアのプロパティ
次の表に、ポイント バリアのプロパティを示します。
ポイント バリアの入力フィールド
入力フィールド | 説明 |
---|---|
ObjectID | システムで管理される ID フィールド。 |
Name | ネットワーク解析オブジェクトの名前。 |
BarrierType | ポイント バリアの通過を完全に禁止するか、通過時にコストを追加するかを指定します。次のオプションを利用できます。
|
FullEdge | このプロパティは、エッジ エレメント上の通行不可ポイント バリアに適用されます。デフォルト値は False です。
|
Attr_[Cost] (たとえば、Minutes 属性がネットワークのコスト属性である場合は「Attr_Minutes」となります) | このプロパティは追加コスト バリアにのみ適用され、ゼロ以上の値に制限されます。バリアの通過時に追加するネットワーク コストの大きさを指定します。 |
ネットワーク ロケーション フィールド
| これらのプロパティを組み合わせて、オブジェクトが配置されているネットワーク上のポイントを表します。 |
CurbApproach | CurbApproach プロパティは、バリアによって影響を受ける移動方向を指定します。次のオプションを利用できます。
ジャンクションは特定のポイントなので、右側/左側がありません。したがって、ジャンクション上にバリアを配置した場合は、アプローチ制限にかかわらずすべての車両に影響を与えます。 |
ポイント バリアの入力/出力フィールド
入力/出力フィールド | 説明 |
---|---|
Status | このフィールドは、以下に示す値のドメインによって制約されます (それぞれのコード値は括弧内に示されています)。
解析後、次のいずれかの状態値を使用して状態を変更できます。
|
ライン バリア フィーチャ レイヤー
ポイント バリアは最寄りのエッジまたはジャンクションにスナップしますが、ライン バリアはネットワークにスナップしません。したがって、ライン バリアを機能させるには、エッジやジャンクションに重ねて配置する必要があります。
ライン バリアが、ネットワーク エレメントを分割し、バリアがエッジおよびジャンクションと交差する場所の通行をブロックすることを目的としている場合、編集セッションでライン フィーチャを作成し、ライン バリア クラスに読み込む必要があります。
ライン バリアのプロパティ
次の表に、ライン バリアのプロパティを示します。
ライン バリアの入力フィールド
入力フィールド | 説明 |
---|---|
ObjectID | システムで管理される ID フィールド。 |
Name | ネットワーク解析オブジェクトの名前。 |
BarrierType | バリアの通過を完全に禁止するか、バリアを通過する際のコストを係数に基づいて計算するかを指定します。次のオプションを利用できます。
|
Attr_[Cost] (たとえば、Minutes 属性がネットワークのコスト属性である場合は「Attr_Minutes」となります) | このプロパティは、コスト係数指定のバリアだけで使用されます。バリアの対象となるエッジのコストに乗算する係数です。 値は 0 以上で指定する必要があります。ただし、この値を 0 に設定した場合は、対象エッジの通過コストが 0 になるため、解析で意味のない結果が返されることになります。したがって、0 より大きい値を使用することをお勧めします。 |
ポリゴン バリア フィーチャクラス
ライン バリアと同様、ポリゴン バリアはネットワークにスナップしません。ポリゴン バリアを機能させるには、エッジやジャンクションに重ねて配置する必要があります。
ポリゴン バリアのプロパティ
次の表にポリゴン バリアのプロパティを示します。これらのプロパティはライン バリアと同じです。
ポリゴン バリアの入力フィールド
入力フィールド | 説明 |
---|---|
ObjectID | システムで管理される ID フィールド。 |
Name | ネットワーク解析オブジェクトの名前。 |
BarrierType | バリアの通過を完全に禁止するか、バリアを通過する際のコストを係数に基づいて計算するかを指定します。次のオプションを利用できます。
|
Attr_[Cost] (たとえば、Minutes 属性がネットワークのコスト属性である場合は「Attr_Minutes」となります) | このプロパティは、コスト係数指定のバリアだけで使用されます。バリアの対象となるエッジのコストに乗算する係数です。 値は 0 以上で指定する必要があります。ただし、この値を 0 に設定した場合は、対象エッジの通過コストが 0 になるため、解析で意味のない結果が返されることになります。したがって、0 より大きい値を使用することをお勧めします。 |
複数のバリアが重なっている場合の優先順位
複数のバリアが重なっている場合、一貫した動作と結果を保証するため ArcGIS Network Analyst エクステンション では次の規則が適用されます。
- 通行不可バリアは、追加コスト バリアおよびコスト係数指定バリアより優先されます。
- 複数の追加コスト バリアが重なっている場合、それらの Attr_[Cost] 値がコストごとに加算されます。
- 複数のコスト係数指定バリアが重なっている場合、それらの Attr_[Cost] 値がコストごとに乗算され、さらに対象エッジの該当部分のコストが乗算されます。
- 追加コスト バリアとコスト係数指定バリアが重なっている場合、コスト係数指定バリアには、先に対象エッジの該当部分が乗算されます。次に、その積が追加コスト バリアの対応する Attr_[Cost] 値に追加されます。
バリアの作成方法
ここでは、いくつかのバリア作成方法を取り上げ、それらの利点と欠点について説明します。それぞれの作成方法を理解した上で、必要に応じて最適な方法を選択してください。
ポイント バリアは常に 1 つのネットワーク エレメントに関連付けられます。そのエレメントが他のエレメントと重なっている場合も同様です。一方、ライン バリアとポリゴン バリアは、デフォルトでは、そのバリアを適用しているすべてのネットワーク エレメントに影響を与えます。ラインまたはポリゴンの下にあるネットワーク エレメントを見落とすと、意図しない結果になる可能性があります。たとえば、高架道路を再舗装するため高架に沿って通行不可ライン バリアを追加すると、高架道路とその下の道路の両方が通行不可になります。これは、2 次元空間ではバリアが両方の道路に接触しているためです。バリアがどのように作成されるかを慎重にチェックしてください。
次に、上記の高架道路を例にとり、下側の道路は規制せず、高架道路の通行のみを規制する方法を検証します。
ポイント バリアを使用する - 高架上のバリアは、FullEdge プロパティを true に設定したポイント バリアで置き換えることができます。FullEdge はエッジ全体の通行を禁止するプロパティです。このバリアはポイント バリアなので、バリアを配置したエッジのみが通行禁止になります。
ただし、FullEdge ポイント バリアはエッジの一部分だけに適用することができません。したがって、エッジの一部分に適用できるライン バリアに比べて精度が低下します。また、ポイント バリアがポイントとして表示されますが、実際にはエッジ全体が通行禁止になるので、誤解を招く可能性があります。
編集環境を使用する - 高架道路にライン バリアを配置する場合など、ライン バリアをエッジ上に正確に配置するには、エッジのソース フィーチャをトレースできる編集環境でライン フィーチャを作成する方法があります。その後、正確に一致する新しいライン フィーチャをライン バリア クラスに読み込みます。
高架下の道路の通行を制限しないよう、慎重に編集します。たとえば、高架に沿って 1 つのライン フィーチャを作成し、下側道路をバッファー処理して、そのバッファー領域を切り抜きます。これによって、道路の両側に 2 本のラインが残るので、これらのラインをライン バリア クラスに読み込みます。また、高架上に 2 本のエッジ (下側道路の両側にそれぞれ 1 本ずつ) をトレースする方法もあります。この場合、多少手間はかかりますが、対象エレメントがライン バリアで覆われるので、ネットワーク (道路網) に対するバリアの影響をはっきりと確認できます。
状況によっては、その他のライン バリア作成方法も役立ちます。以下に例を示します。
- 選択したフィーチャを読み込む - 道路などのフィーチャを選択し、選択した道路をバリア クラスに読み込みます。この方法を使用すれば、ライン バリアを道路に正確に重ねることができます。
- 別のネットワーク解析の経路を読み込む - 別のネットワーク解析レイヤーで経路を作成し、その経路を、元の解析レイヤーにライン バリアとして読み込みます。この方法では、ライン バリアを道路に正確に重ねることができます。また、エッジ全体を覆うのではなく、エッジの一部分のみを覆うライン バリアを柔軟に作成できます。