相対的な主軸は、エッジを処理するスケマティック レイアウトです。 これは、本来平行な鉄道の線路用に設計されたラインを参照する任意のデータに適用することもできます。
このレイアウト アルゴリズムでは、アクティブなダイアグラム内のネットワーク ダイアグラム フィーチャが、接続されるすべてのエッジが同じ属性値を持つ平行な直線に沿って配置されます。 さらに、それらの直線からの分岐が、直線に対する分岐の方向と、初期距離に比例し、相互に相対的な距離を維持しながら、配置されます。
このアルゴリズムでは、ネットワーク ライン クラスに特定の値を持つネットワーク属性が必要です。これによって直線を構成するエッジを特定し、各エッジを分類して処理において優先するか除外するかを決定します。
ルート フラグを設定して、直線を開始するジャンクションのポイントを指定できます。ルートが設定されていない場合、アルゴリズムは最初に直線の始点として見なすことができる、単一のエッジに接続されているジャンクションを探します。これらのジャンクション候補のうち、最も長い直線の始点となっているジャンクションがルート ジャンクションになります。
以下の例は、相対的な主軸の適用前後のダイアグラムを示しています。


以下の例は、上記の相対的な主軸レイアウトの実行前後の例の中の円で囲まれた部分に焦点を合わせています。


アクティブなダイアグラム マップ ビューへの相対的な主軸レイアウトの適用
このレイアウトをネットワーク ダイアグラムに適用する場合は、次の前提条件を満たす必要があります。
- この操作は、トランザクションであるため、実行前に編集内容を保存する必要があります。
- レイアウトを適用する入力ネットワーク ダイアグラム レイヤーは、ファイル ジオデータベースまたはモバイル ジオデータベース内のユーティリティ ネットワークまたはトレース ネットワークから取得するか、ネットワーク ダイアグラム サービスから取得する必要があります。 エンタープライズ ジオデータベース内のユーティリティ ネットワークまたはトレース ネットワークを操作する場合、入力ネットワーク ダイアグラム レイヤーは、サービスから取得する必要があります。
アクティブなダイアグラム マップ ビューに相対的な主軸レイアウトを適用するには、[ジオプロセシング] ウィンドウで [相対的な主軸レイアウトの適用 (Apply Relative Mainline Layout)] ツールを選択します。
次に「相対的な主軸レイアウトのパラメーター」を調整し、[実行] をクリックします。
注意:
ネットワーク ダイアグラム内のフィーチャのサブセットに対して、レイアウト アルゴリズムを適用するには、[フィーチャの選択] ツールのいずれか (たとえば、[四角形による選択]、[ポリゴンによる選択] など) を使用して、実行前にダイアグラム フィーチャを選択します。
ダイアグラム テンプレートの相対的な主軸レイアウトの構成
ダイアグラム テンプレートでこのレイアウトを構成するには、[相対的な主軸レイアウトの追加 (Add Relative Mainline Layout)] ツールを使用します。
相対的な主軸レイアウトのパラメーター
以下のセクションでは、相対的な主軸ダイアグラム レイアウトの主なパラメーターについて説明します。
ライン属性
このパラメーターは必須です。 直線を構成するエッジの識別とグループ化に使用するネットワーク属性の名前を設定します。 このネットワーク属性は、ネットワーク ライン クラス内に存在する必要があります。 その値は、直線を構成するすべてのエッジで同じである必要があります (たとえば、「Line 1」や「Line 2」など)。 属性値の欠落しているエッジは、ブランチの一部だと見なされます。
以下の例は、その他の属性パラメーターはデフォルトで設定せずに、[ライン属性] パラメーターのみを指定した後に相対的な主軸を適用した前後のダイアグラムを示しています。


以下の例は、[ライン属性] 値に従って色が指定された各ラインを示しています。画像では [ライン属性] 値もラベル表示されています。 このアルゴリズムでは、同じ属性値のラインを明確にグループ化し、同じ直線に沿って各ライン グループをできるだけ離して配置します。

方向
主軸には、2 つの方向が考えられます。
- [左から右へ] - 主軸は、左から開始して右で終了する横線として描画されます。 これがデフォルトです。
- [上から下へ] - 主軸は、上から開始して下で終了する縦線として描画されます。
以下の例は、それぞれ [左から右へ] と [上から下へ] の方向を使用してレイアウトされたダイアグラムを示しています。


ブランチ間のオフセット
このパラメーターは、ラインの向きに対して垂直な軸に沿って隣接する 2 つのブランチの間隔を決定します。つまり、以下の例で A というラベルの付いた間隔は、[方向] が [左から右へ] に設定された状態で相対的な主軸レイアウトが適用されています。

ブレーク ポイント角度 (度)
このパラメーターは、ブランチにブレーク ポイントを配置する際の角度を指定します。 値は 30 ~ 90 度の範囲で指定し、[ブランチ間のオフセット] パラメーターの値と組み合わせてブレーク ポイントの位置が計算されます。 ブレーク ポイント角度が 90 度の場合、各分岐は直交するように表示されます。
以下の例は、[ブレーク ポイント角度 (度)] にさまざまな値を使用してレイアウトされたダイアグラムを示しています。

ライン分類
このサブセクションには、ラインのタイプを限定するためのパラメーターがまとめられています。 これらのパラメーターはオプションです。
タイプ属性
このパラメーターは、アルゴリズムが各ラインを限定するために使用するネットワーク属性の名前を設定します。 この特定のネットワーク属性は、ネットワーク ライン クラス内に存在することが可能です。 [ライン属性] パラメーターと [タイプ属性] パラメーターでは同じネットワーク属性名を指定できます。
このパラメーターを設定するときには、アルゴリズムが主軸、ブランチ、または体系的に除外する必要があるライン (交差やはしごなど) を識別しやすくなるように、ユーザーがタイプ属性値を指定する必要があります。 このために、以下のパラメーターのすべてまたは一部を設定します。
- [主軸値] - これらの値は、他のライン タイプと主軸とを見分けるために使用できるタイプ属性値です。
- [分岐値] - これらのタイプ属性値は、他のライン タイプ間でブランチを明確に識別するものです。
- [除外する値] - これらのタイプ属性値は、直線から除外する必要があるエッジを識別します。
以下の例は、タイプ属性値の設定なしの状態と、タイプ属性値に [除外する値] パラメーターを指定した状態で、それぞれレイアウトを実行した後のダイアグラムを示しています。

ライン圧縮
このサブセクションには、近接ジャンクションの隣接するグループ間の距離を、グループの相対的な配置を維持したまま方向に沿って縮小するために使用できるパラメーターがまとめられています。 近接ジャンクションとは、近い位置にある、必ずしも直接接続されていないジャンクションです。 圧縮パラメーターはオプションです。デフォルトでは、アルゴリズム レイアウトは圧縮を適用せずに実行されます。 圧縮を有効にすると、アルゴリズム処理の最後に圧縮の手順が追加されます。
方向に沿って圧縮
圧縮を有効にするには、このオプションをオンにします。
圧縮を有効にする場合には、[比率 (%)] と [最小距離] という 2 つの圧縮パラメーターを指定します。
- [比率 (%)] - 圧縮比率は 0 ~ 100 の間の値です。 これは、指定された [最小距離] (下の例では MD) を減算した後の、近接ジャンクションの 2 つの隣接するグループ (下の例ではオレンジ色の円) の間のそれぞれの距離 (下の例の D1 および D2 など) に適用されます。 [比率 (%)] が 100 の場合、検出された各ジャンクション グループ間の距離は最小距離 (MD) と等しくなります。
- [最小距離] - 最小距離とは、近接ジャンクションの 2 つの隣接するグループ間で維持する必要がある距離のことです。 この距離は、方向軸に沿ったジャンクションの投影で、近接ジャンクションをグループ化するためにも使用されます。 この軸に投影された 2 つのジャンクションに注目したとき、投影された 2 つのポイント間の距離がこの距離より小さい場合、これらのジャンクションは同じグループに分類されます。
以下の例は、異なる [比率 (%)] パラメーター値と固定の [最小距離] パラメーター値を使用してレイアウトを実行した後のダイアグラムを示しています。

高度な設定
このサブセクションには、いくつかの高度なパラメーターがまとめられています。
整列属性
このパラメーターは、分割されたライン上の不明確さを解決するために値が使用されるネットワーク属性を識別します。 たとえば、ダイアグラムに以下の特性が含まれているとします。
- 2 つのブランチ (1 つは赤でもう 1 つは緑) に分かれるライン (下の最初の画像に青色で示されたもの) が存在します。
- [ライン属性] 値と [タイプ属性] 値は、この 3 本のラインの配置方法を決める上で関連性を持ちません。つまり、[ライン属性] 値はすべてのラインに対して同じであるか、あるいはすべて異なっています。
この状況で、[整列属性] パラメーターを指定しない場合、アルゴリズムでは、2 つ目の画像に示すように、デフォルトで 2 つのブランチが青いラインの両側に配置されます。
次に、ネットワーク ライン クラス上に、ブランチ ラインのどちらか 1 つと青いラインの値が同じである別のネットワーク属性がある場合、この属性を [整列属性] 値に指定できます。 これを設定すると、アルゴリズムがこれを使用して、[整列属性] 値が同じである接続ラインを体系的に配置します。 たとえば、3 つ目の画像には、青色と緑色の接続エッジの [整列属性] 値が同じであるときにこの属性が指定された場合の相対的な主軸レイアウトの結果が示されています。

初期距離
[初期距離] パラメーターでは、アルゴリズムがダイアグラム エッジの長さを評価する方法を指定できます。 この長さは、方向に沿ったダイアグラム ジャンクションの配置を決定します。 方向に沿った接続ジャンクション間は等距離ではありません。これらの距離は相対的で、最も短いエッジの長さに応じて処理されたエッジの長さに依存します。
- [現在のエッジ ジオメトリから] - アルゴリズムは、各ダイアグラム エッジの長さを現在のジオメトリから計算します。 これがデフォルトです。
- [属性エッジから] - アルゴリズムは、各ダイアグラム エッジの長さを特定のネットワーク属性から計算します。 この場合、この属性名は [長さ属性] ドロップダウン リストで選択します。
注意:
属性エッジから実行するようにアルゴリズムを構成した場合は、属性名が必須で、指定した属性がすべてのネットワーク ライン クラスにネットワーク属性として存在する必要があります。