道路網の間引き (Thin Road Network) について
[道路網の間引き (Thin Road Network)] ツールは、一般特性、密度、および道路の全体的な接続性に影響せずに表示対象から除外できるセグメントを特定し、道路の集合体を単純化して編纂します。編纂結果の道路の集合体に加わっていないフィーチャは、入力レイヤー上の属性 (新しいレイヤーの作成時にフィルター設定/選択に使用できる属性) によって識別されます。
[道路網の間引き (Thin Road Network)] では、フィーチャが実際に削除されることはありません。フィーチャを実際に削除する場合は、[ラインの切詰め (Trim Line)] ツールを使用することを検討してください。
道路の集合体をどの程度まで単純化するかは、[最小長] パラメーターで制御します。道路網の形状と特性を考慮する必要があります。規則的な道路パターン (たとえば、北米都市によく見られるようなグリッド状の領域など) では通常、系統的な形状の道路の集合体と比べて最小長を長くする必要があります。
このパラメーターをいくつかの出力縮尺で使用する際は、マップ単位の値の目安として、次の表を参考にしてください。望みの結果を得るために、必要に応じて、下表に記載されている値を調整してください。
非グリッド状の系統的な道路パターン | グリッド状の規則的な道路パターン | |||||
---|---|---|---|---|---|---|
最終的な縮尺 | マップ単位 | ページ単位 | マップ単位 | ページ単位 | ||
1:25,000 | 250 m | 825 フィート | 1 cm | 500 m | 1,650 フィート | 2 cm |
1:50,000 | 500 m | 1,650 フィート | 1 cm | 1,000 m | 3,300 フィート | 2 cm |
1:100,000 | 1,000 m | 3,300 フィート | 1 cm | 2,000 m | 6,600 フィート | 2 cm |
1:250,000 | 2,500 m | 8,250 フィート | 1 cm | 5,000 m | 16,500 フィート | 2 cm |
1:500,000 | 5,000 m | 16,500 フィート | 1 cm | 10,000 m | 33,000 フィート | 2 cm |
データの準備に関する考慮事項
複数の道路レイヤーを同時に評価することによって、最終的な表示ですべての道路クラスを検討できます。このツールは、道路網によく見られる空間リレーションシップ用に最適化されています。このツールを他の主題の処理に使用した場合、予期しない結果になることがあります。ツールの実行時に、一連の道路データ内で共有されるフィーチャ間の関係性を保持するためには、入力フィーチャのジオメトリを正しく設定することがきわめて重要です。入力データに関して、次の要件と推奨事項を念頭に置いてください。
注意:
投影座標系に入力フィーチャが存在しない場合、警告が出されます。このツールは線形距離単位に依存するため、非投影座標系では予期しない結果になります。有効な結果を得るには、投影座標系のデータに対してこのツールを実行することを強くお勧めします。座標系が見つからないか不明な場合、エラーが発生し、ツールの処理は実行されません。
シングルパート フィーチャ: 入力フィーチャにマルチパート フィーチャを含めることはできません。フィーチャをシングル パートに変換するには、[マルチパート → シングルパート (Multipart To Singlepart)] ツールを使用するか、または [単一パートから構成される] ライン ルールでトポロジを作成します。
共有セグメント - 入力フィーチャ同士は、セグメントを共有するので、互いにオーバーラップすることはできません。これらの問題を解決するには、[重複しない] ライン ルールおよび [同一ライン内で重複しない] ライン ルールでトポロジを作成してください。複数の入力レイヤーでツールを実行する場合、[他クラスと重複しない] ルールでトポロジを作成してください。共有セグメントが検出されると、警告が発生しますが、ツールの実行は続行されます。関与しているフィーチャのオブジェクト ID は、SharedGeom#.txt(# は各ログ ファイルが生成されるたびに増分する数値) という名前のログ ファイルに書き込まれます。
XY 許容値未満のジオメトリ - マップ内またはツールの環境で指定された XY 許容値に達しないフィーチャがデータ内に存在することがあります。長さが許容値に達しないフィーチャが検出された場合、警告が表示され、それらのフィーチャにはツールの処理が行われません。許容値未満のジオメトリを持つフィーチャのオブジェクト ID は、GeomBelowTolerance#.txt (# は各ログ ファイルが生成されるたびに増分する数値) という名前のログ ファイルに書き込まれます。
空または Null ジオメトリ - 入力フィーチャは有効なジオメトリで構成する必要があります。形状長さがゼロまたは NULL のフィーチャが検出された場合、警告が発生し、それらのフィーチャはツールに無視されます。空または NULL ジオメトリを持つフィーチャのオブジェクト ID は、EmptyGeom#.txt (# は各ログ ファイルが生成されるたびに増分する数値) という名前のログ ファイルに書き込まれます。必要に応じて [ジオメトリの修正 (Repair Geometry)] ツールを使用して、これらのフィーチャを修正してください。
フィーチャの交差: 高架交差路と低路交差を除く、すべての真の交差部でラインを分割する必要があります。これにより、街路間の適切な接続を、ツールによって割り出せます。交差部を適切な場所で分割しないと、街路の接続性が正しく評価されないため、予期しない結果になることがあります。これらの問題を表示し解決するには、必要に応じて [同一ライン内で交差しない] および [交差しない、または接しない] トポロジ ルールを使用します。フィーチャ同士の交差が検出されると、警告が発生しますが、ツールの実行は続行されます。分割されない交差部のオブジェクト ID は、NotSplit#.txt(# は各ログ ファイルが生成されるたびに増分する数値) という名前のログ ファイルに書き込まれます。
隠れた行き止まり - 最終的な縮尺でシンボル表示したときに、外観上はあたかも接続されているかのように見えても、実は接続されていない場合があります。そのようなセグメントを「隠れた行き止まり」といいます。行き止まりでよい場合もありますが、本来行き止まりであってはならず、ただ見かけ上つながっているように見えるため、気付かれずに放置されている場合があります。それを修復しないままツールを実行すると、つながっていない箇所が見た目にも明らかになることがあります。別のセグメントから 0.5 mm (基準縮尺を考慮) 以内にある端点は、隠れた行き止まりとして検出されます。隠れた行き止まりが検出されると、警告が発生しますが、ツールの処理は続行されます。隠れた行き止まりは、検出されたときに DeadEnd#.txt (# は各ログ ファイルが生成されるたびに増分する数値) という名前のログ ファイルに書き込まれます。
Windows オペレーティング システムでは、警告またはエラーが C:\Users\<user name>\AppData\Local\ESRI\GeoProcessing に書き込まれると、ログ ファイルが生成されます。
頂点: 頂点が余計なものかどうかは、品質と処理時間の兼ね合いで判断してください。余計な頂点を除去するには、[ラインの単純化 (Simplify Line)] ツールを使用します。
基準縮尺: [最小長] パラメーターをページ単位 (pt、in、mm、cm) で指定する場合は、必ず基準縮尺を設定してください。
ワークフローに関する考慮事項
このツールはほとんどの場合、他の [ジェネラライズ] ツールや [シンボル表現の競合解決] ツールと一緒に使用するのが一番効果的です。
これらのツールをワークフロー内の他のレイヤーおよび他のツールと一緒に使用するうえで参考になるヒントを、以下にいくつか紹介します。
フィーチャ階層を設定します。 道路フィーチャの相対的な重要度を特定するには、[階層フィールド] パラメーターを使用します。道路フィーチャの重要度は通常、道路の分類およびシンボル表示の仕方に対応しています。階層値 1 は最も重要な道路を示し、大きい整数値は重要度の低い道路を示します。最適な結果を得るには、入力データに適用する分類レベルを 5 つ以下に抑えてください。あるフィーチャ階層に対してすべての入力レイヤーを一括して評価するには、同じ分類値を使用して各レイヤーに同じ名前のフィールドを格納しておく必要があります。
複数の非表示フィールドを使用します。 このツールに非表示フィールドを 1 つだけ指定する場合でも、入力フィーチャクラス内に複数のフィールドを設定することを検討し、各フィールドを使用してツールを複数回実行してください。これにより、単純化された道路網を複数の縮尺でいくつか作成して永存させることができます。あるいは、[最小長] 値をいくつか試して、結果を比較することもできます。
- シェープファイルの使用時には、[非表示フィールド] は -1 となります。デフォルト値である 0 を用いた処理をすると、ツールはこのフィールドの値をもとに判断するため、より多くのフィーチャが保持されます。もしデータの処理をしない場合、あるいは前回までの処理は無視して、最初からデータを処理する場合は、このフィールドの値を -1 に設定します。
データの前回までの実行に注意してください。 [非表示フィールド] の状態のままデータセットを処理する場合、ツールでは各道路セグメントに関する決定を行う際にこれらの値が適用されます。前回までの処理は無視して、最初からデータを処理する場合は、このフィールドの値を NULL に設定します。
重要なフィーチャを強制的に表示しておきます。 [階層フィールド] パラメーターを使用してフィーチャをロックすると、そのフィーチャの [階層フィールド] を 0 に計算することにより、単純化された道路の集合体の中に強制的にフィーチャを表示することができます。この機能は、フィーチャの長さまたは階層値が小さい場合でも適用されます。目印となる建物のある短い街路は、その例です。1 つの道路をロックすると、隣接する道路フィーチャに影響する可能性があります。ある道路をロックしたのが原因で、隣接する道路フィーチャが表示されたままになることもあります。これが原因で、編纂結果の道路の集合体に不整合が生じ、ロックされたフィーチャの近隣の道路に予期しない有意性が置かれ、この領域内のフィーチャ密度が増大する場合があります。
編纂結果の単純化された道路網を見て確認します。 ツールの処理結果を確認するには、入力フィーチャクラスを描画するレイヤーに対して「Invisibility <> 1」のようなフィルター設定を設定します。元のフィーチャ同士を比較するには、フィルター設定を使わずにレイヤーを表示対象に含めます。このレイヤーを、シンボルが同じ他の透明なレイヤーの下に描画することを検討してください。こうすれば、どのフィーチャが表示対象から除外されたかを確認するのが容易になります。かわりに、非表示フィールドを使用して、1 に等しくないすべてのフィーチャを選択して、新しいフィーチャクラスを作成する方法もあります。フィーチャクラス内のすべてのフィーチャをそのままにして、フィルター設定を指定して描画すると、ツールの処理結果を手動で変更でき、変更の際に一部のフィーチャ用の非表示フィールドの値を変更するだけで済むというメリットがあります。
道路接続部のシンボルを調べます。 一部の道路を表示の対象から除去してしまうと、道路フィーチャ同士が接続されている領域で、シンボル (道路の分類) が突然切り替わる可能性があります。そのため、この処理はフィーチャを少数しか表示しない場合は適していません。
平行なフィーチャ同士の競合解決を検討してください。 このツールでは通常、互いに平行なフィーチャ同士がそのまま維持されます。これらのフィーチャをシンボル表示したときに、所定の出力縮尺でフィーチャ同士が互いに近接して密に重なり合うことがあります。多車線の道路用に代表的なラインを 1 つだけ作成する [道路のマージ (Merge Divided Roads)] ツール、およびグラフィカルに競合する道路を別々の場所に移動する [道路の競合を解決 (Resolve Road Conflicts)] ツールの両方を実行するか、またはどちらか一方の実行を検討してください。
大きなデータセットの分割
このツールは、個々のフィーチャの最終的な状態を決定する際に、隣接および接続したフィーチャが考慮されるよう状況に応じて機能します。複数のデータセットを一度に入力することができるため、これらはすべて同時に考慮されます。大量の入力データを (または個別の入力レイヤーを多く) を使用すると、メモリの制限を超えることがあります。これを防ぐには、このツールの実行中にパーティション化を有効にすることを検討します。それは、[カートグラフィック パーティション] ジオプロセシング環境変数にフィーチャクラスの分割を指定することによって行います。分割すると、ツールは、論理的で処理しやすいサイズで順次データを処理できます。各パーティションのポリゴンに特定された入力フィーチャは、パーティションを囲むバッファー ゾーンからの別データとともにツールに読み込まれます。この別データは、処理の進行と同時に反映されます。これにより、作成されたフィーチャクラスがシームレスになり、パーティションの境界を越えて重なり合うフィーチャの状態の整合性がとれるようになります。
パーティション単位で処理を実行する場合、パーティションの境界を越える道路には、2 つの隣接するパーティションによって [非表示フィールド] の競合結果でフラグが設定されることがあります。このような競合エリアを特定するために、処理の前に、[TRN_DIFF] と呼ばれるフィールドを入力フィーチャクラスに追加します。各パーティションに [非表示フィールド] を定義する場合、ツールによって、フィールドが空ではなく、新しく指定された値が設定済みの値と等しくないかどうかが判断されます。この場合は、競合が発生しているため、[TRN_VIS_DIFF] フィールドに 1 を指定します。