ネットワーク データセット構築エラー

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

ネットワーク データセット構築エラーとは

[ネットワークの構築 (Build Network)] ツールを使用してネットワーク データセットを構築すると、構築エラーが生成されることがあります。 これらのエラーは、ネットワークが意図したとおりに動作しない可能性がある潜在的な問題を示しています。 一部の構築エラーは無視しても問題ありませんが、中にはネットワークを動作させるために対処が必要なエラーもあります。 構築エラーのあるフィーチャは、構築ネットワーク データセットに含まれません。

ネットワーク データセット構築エラーにアクセスする方法

[ネットワークの構築 (Build Network)] ツールを実行したときに構築エラーが生成されると、ツールは警告メッセージ 030116 を表示します。 メッセージ テキストに、構築エラーのリストが記載されたテキスト ファイルへのパスが示されます。 このテキスト ファイルをテキスト エディターで開き、構築エラーを確認します。

ArcGIS Pro を閉じる前に、構築エラーのテキスト ファイルを確認するか、コピーを作成してください。 テキスト ファイルは一時的に保存されるものであり、ArcGIS Pro の現在のセッションが終了すると削除されます。

構築エラーのテキスト ファイルの読み方

構築エラーのテキスト ファイルの各行は、構築エラーを表します。 中には、ネットワーク データセット設定のグローバルな問題を示すネットワーク データセット構築エラーもあります。 この場合は、ファイルの行にはメッセージだけが示されます。

これ以外に、ネットワーク データセットの特定のエッジ、ジャンクション、ターン フィーチャに関する構築エラーがあります。 これらのメッセージは、カンマで区切られる 3 つの部分で構成されます。 「SourceName」は、エラーが関連付けられたネットワーク データセット ソース フィーチャクラスを示します。 「ObjectID」は、フィーチャクラスの中で問題の原因となっているフィーチャの ID を示します。 最後の部分は、構築エラー テキストを示します。

一般的な構築エラーと解決方法

一般的に、構築エラーは、ジオメトリ エラー、階層の問題、ターン フィーチャの問題といった、いくつかのカテゴリに分けられます。 次のセクションでは、一般的な構築エラーと、その解決方法に関する情報を記します。

ジオメトリ エラー

構築エラーの一部は、ネットワーク データセットを構成するフィーチャのジオメトリに関するものです。 一般的なジオメトリ エラーのいくつかは、[ジオメトリのチェック (Check Geometry)] ツールや [ジオメトリの修正 (Repair Geometry)] ツールが自動的に識別し、修正します。 個々のフィーチャにおけるジオメトリの重大な問題を手動で修正するには、[ジオメトリの置換] 編集ツールが便利です。

ジオメトリが空です。

このメッセージは、フィーチャのジオメトリが空であることを意味します。 フィーチャが自動処理によって生成され、特に 2 つの一致ポイント間で行が自動的に生成されたときによく見られます。 この問題を修正するには、フィーチャを削除するかジオメトリを置換します。

フィーチャのジオメトリの長さがゼロです。

このメッセージは、フィーチャのジオメトリが空か無効であることを意味します。 フィーチャが自動処理によって生成され、特に 2 つの一致ポイント間で行が自動的に生成されたときによく見られます。 この問題を修正するには、フィーチャを削除するかジオメトリを置換します。

ライン フィーチャの頂点が 2 個より少ない。

このメッセージは、フィーチャのジオメトリが無効であることを意味します。 フィーチャが自動処理によって生成され、特に 2 つの一致ポイント間で行が自動的に生成されたときによく見られます。 この問題を修正するには、フィーチャを削除するかジオメトリを置換します。

エッジ フィーチャが小さすぎてスナップに加えることができません。他のフィーチャに接続されない可能性があります。

システムで計算された小さい許容値よりも近い頂点は、ネットワーク構築アルゴリズムで一致しているものとして見なされます。 この許容値内にあるネットワーク エレメントは、ネットワークで接続されます。 ライン フィーチャの長さがこの許容値よりも小さい場合、そのライン フィーチャは他のフィーチャに正常に接続されないことがあります。 この問題を修正するには、フィーチャを削除するか、形状が大きくなるよう編集します。

階層エラー

構築エラーには、ネットワーク データセットの階層属性に関する問題や、ネットワーク データセットの階層値を計算するフィールド値に関する問題を示すものがあります。

階層属性とその構成方法の詳細

狭い範囲内 (都市圏など) での移動をモデル化する場合は、階層属性は必要ないこともあります。 このような場合は、ネットワークから階層属性を削除することで、階層エラーを解消できます。

階層の値が無効です。

特定のフィーチャに対して計算された階層値が 0、マイナス値、Null、または整数ではない値である場合に発生します。

多くの場合、ネットワークの階層属性にはフィールド エバリュエーターが構成されており、これがソースの属性テーブルのフィールドから階層値を読み込みます。フィールド値が Null であれば、デフォルト値に戻されます。 このエラーは、フィールド値自体が無効であるか、あるいはフィールド値は Null だがデフォルトの階層値が 0 である場合に発生します。

この問題を修正するには、フィーチャの階層値を編集し、ネットワークの階層に対して適切なデフォルト値を設定します。

ネットワーク データセット内の 1 つ以上のフィーチャの階層値が 1 でなくてはなりません。

適切に構成された階層属性では、ネットワーク内の 1 つ以上のフィーチャで、階層値が 1 でなくてはなりません。 この問題を修正するには、フィーチャ属性または階層属性のデフォルト値を編集し、いくつかのフィーチャの階層値を 1 に設定します。

ターン エラー

構築エラーには、ターン フィーチャに関する問題もあります。 ターン フィーチャにはジオメトリがありますが、ネットワーク データセットでは、ターン フィーチャクラスの属性テーブルのフィールドしか使用しません。 そのため、ターン フィーチャの多くの問題は、これらのフィールドの値に関連しています。

ターン フィーチャの詳細

Network Analyst ツール ツールボックスのターン フィーチャクラス ツールセットのツールを使用すると、ターン フィーチャを作成し、修正できます。

ターン エレメントはすでに存在します。

2 つのターン フィーチャが同一のターン移動を表すことはできません。 最初と最後の外部エッジを同じにすることはできません。

この問題を修正するには、このターン フィーチャを削除するか、同じターン移動を表すその他のターン フィーチャを削除します。

ターン エレメントのエッジが既存の内部/外部エッジと競合しています。

ターンの最初または最後のエッジ (外部エッジ) は、別のターンの内部エッジとなることはできません。

この問題を修正するには、このターン フィーチャか、その他の競合するターン フィーチャを編集するか削除します。

ターン エレメントの内部エッジの 1 つが、最初または最後のエッジと同じです。

ターン フィーチャが無効です。 ターン フィーチャが、あるエッジで開始するか、そのエッジで終了した後には、そのエッジを通過することはできません。

この問題を修正するには、ターン フィーチャの属性を編集し、どの内部エッジも最初のエッジまたは最後のエッジと同じにならないようにします。

ターン エレメントのエッジ同士が接続されていません。

ターンは、ネットワーク データセットで論理的に接続されていないエッジを接続できません。 このメッセージは、ターンを構成するエッジのいくつかが接続されていない場合に発生します。

この問題を修正するには、ターンを削除するか、論理的に接続されたネットワーク エッジを接続するよう編集します。 エッジ フィーチャを編集するか、ネットワーク データセットの接続性ポリシーを確認しなくてはならないこともあります。

ジャンクションが見つかりません。

ターンは、ネットワーク データセットで論理的に接続されていないエッジを接続できません。 このメッセージは、ターンを構成するエッジのいくつかが接続されていない場合に発生します。

この問題を修正するには、ターンを削除するか、論理的に接続されたネットワーク エッジを接続するよう編集します。 エッジ フィーチャを編集するか、ネットワーク データセットの接続性ポリシーを確認しなくてはならないこともあります。

ターン エレメントのエッジの 1 つが自己ループしています。

自己ループするエッジは、そのエッジ自体に接続されます。 そのようなエッジにターンを接続できません。

この問題を修正するには、ターン フィーチャを削除するか、エッジが自己ループしないよう編集します。

ターン行を読み込めません。

ターンのエッジ識別子フィールドの値が無効または NULL です。

この問題を修正するには、ターンを定義するフィールドを確認して更新するか、ターンを削除します。

ターン フィーチャクラスのスキーマの詳細

交通量のエラー

構築エラーには、交通量に関する問題もあります。

フリーフロー速度は正の値ではありません。

道路 - プロファイル履歴交通量テーブルでは、フリーフロー速度のフィールド値は NULL、ゼロ、負のいずれかになります。

この問題を修正するには、フリーフロー速度フィールドで正の値を指定します。

フリーフロー移動時間は正の値ではありません。

道路 - プロファイル履歴交通量テーブルでは、フリーフロー移動時間のフィールド値は NULL、ゼロ、負のいずれかになります。

この問題を修正するには、フリーフロー移動速度フィールドで正の値を指定します。

エッジ フィーチャクラスとフィーチャ ID エラー

ネットワーク データセットに参加している複数のテーブルとフィーチャクラスには、行をエッジ ソース フィーチャクラスの行と関連付けるフィールドが含まれます。 これらのエッジ識別子フィールドの値をエッジ フィーチャと上手く対応付けられない場合は、構築エラーが発生します。

影響を受けるフィーチャクラスとテーブルには、ターン フィーチャクラス、履歴交通量の道路 - プロファイル テーブル、ライブ交通量の道路 - TMC テーブル、参照ランドマーク、ルート案内構成で使用される標識 - 道路テーブルと道路分岐テーブルが含まれる場合があります。

ターン フィーチャクラスのスキーマの詳細

道路 - プロファイル テーブルのスキーマの詳細

道路 - TMC テーブルのスキーマの詳細

参照ランドマーク テーブルのスキーマの詳細

Signposts_Streets テーブルのスキーマの詳細

道路分岐テーブルのスキーマの詳細

無効な EdgeFCID フィールド値

注意:

このメッセージにより、一部のフィーチャクラスとテーブルについて、Edge1FCIDEdge2FCID など、少し異なるフィールド名が指定される場合があります。

EdgeFCID フィールド (または一部のテーブルの Edge1FCIDEdge2FCID など) は、この行と関連付けられているエッジ ソースのオブジェクト クラス ID です。 このエラーは、この ID の値がエッジ ソースとしてネットワーク データセットに参加しているフィーチャクラスの ID と合致していないことを示しています。 これは、オブジェクト クラス ID が異なる可能性があるためにフィーチャクラスをエクスポートまたはコピーし、そのコピーを使用してネットワーク データセットを再作成した場合に最もよく発生します。

この問題を解消するには、データを手動で編集するか、[フィールド演算 (Calculate Field)] ツールを使用して無効な EdgeFCID フィールド (または Edge1FCIDEdge2FCID など) の値を対応するエッジ ソースの正しい値に置き換えます。

フィーチャクラスまたはレイヤーのプロパティを開いて、[ソース] タブをクリックすると、フィーチャクラスのオブジェクト クラス ID の値を確認できます。 [データ ソース] セクションの [名前] 行で、[オブジェクト クラス ID] ボタンをクリックして、表示された値を確認します。

無効な EdgeFID フィールドの値

注意:

このメッセージにより、一部のフィーチャクラスとテーブルについて、Edge1FIDEdge2FID など、少し異なるフィールド名が指定される場合があります。

EdgeFID フィールド (または一部のテーブルの Edge1FIDEdge2FID など) は、この行と関連付けられているエッジ ソース フィーチャのオブジェクト識別子です。 このエラーは、この ID の値がエッジ ソースの行の ID と合致していないことを示しています。 これは、道路フィーチャを削除したものの、対応するレコードを削除するために別のテーブルをまだ更新していない場合に最もよく発生します。 これは、エッジ ソース フィーチャクラスをエクスポートまたはコピーしていて、そのオブジェクト識別子が変更された場合にも発生することがあります。

原因によって、複数の方法でこの問題を解消できます。 対応するエッジ フィーチャが削除され、関連性がなくなった場合は、構築エラーを無視するか、構築エラーの原因となっている行を削除します。 レコードがすでに存在する行を指している場合は、EdgeFID (または Edge1FIDEdge2FID など) フィールドの値を正しい値で更新します。 ターン フィーチャクラスについては、ジオメトリによる更新ツールを使用して、これを自動的に行えます。 他のフィーチャクラスとテーブルを修正するには、手動での検査と編集を行う必要があります。

<値> から <値> の位置にネットワーク エッジが見つかりませんでした。

このメッセージは、EdgeFrmPos フィールドと EdgeToPos フィールド (または一部のテーブルの Edge1FrmPos および Edge1ToPosEdge2FrmPos および Edge2ToPos など) の値が内部論理ネットワークのネットワーク データセット エッジ エレメントと合致しないことを示しています。 通常、これは、ディゾルブされたネットワーク データセットがクリップまたは編集されると発生します。

ネットワークをクリップしていて、エラーが、分析のための移動が発生しないと予想されるネットワークの外側の境界上のエッジ フィーチャに合致する場合は、これらのエラーを無視できます。 それ以外の場合は、値を手動で検査、編集します。

ターン識別子 <値> と対応するエッジ エレメントが見つかりません

このメッセージは、ターン フィーチャクラスの Edge1FIDEdge2FID などのフィールドの無効な値を示しています。 このメッセージの数値は、フィールド名の数値に合致します。 たとえば、「ターン識別子 2 と対応するエッジ エレメントが見つかりません」というメッセージは、Edge2FID フィールドの問題を示しています。

詳細は、上の「無効な EdgeFID フィールドの値」というメッセージの説明をご参照ください。 ジオメトリによる更新ツールを使用すると、問題を自動的に解消できる場合があります。

その他

その他のエラーについては以下をご参照ください。

スタンドアロンのユーザー定義ジャンクションは削除されます。

ジャンクション フィーチャがどのエッジにも接続されていないため、ルーティングの際に到達できません。

ジャンクションを削除するか、正常に接続されるようジャンクションかエッジを編集します。

接続性ポリシーがありません。

一般的に、このメッセージは、フィーチャのサブタイプ値が Null であるか、ネットワークの接続性ポリシーで定義されたどの値にも対応しないときに、サブタイプを使用して接続性を定義しようとすると表示されます。 この問題を修正するには、フィーチャのサブタイプ フィールド値か、ネットワークの接続性ポリシーを更新します。

サブタイプの詳細

ネットワーク データセットの接続性の詳細