リンク展開ルールのサンプル結果

次に、2 つのダイアグラムでのリンク展開ルールの実行結果を示します。

サンプル 1 - 文字値の連結に従ったリンクの展開

次のサンプル 1 ダイアグラム(図 1.1)を実装するダイアグラム テンプレートでは、リンク展開ルールが、赤いスケマティック フィーチャ リンクをそれらのフェーズ コードに従って展開するように定義されています。

ダイアグラム サンプル 1、初期コンテンツ

これらの赤いリンクは、LV_Line リンクに対応しており、LV_Line リンクの PhaseCode フィールド値によってそのフェーズの数が決まります。これらの文字列フィールド値は、AB、ABCD、CD などの文字を連結したものです。これらは、赤い初期スケマティック フィーチャ リンクを、新しい複数のスケマティック フィーチャ リンクに展開するために使用されます。それにより、ルールの実行後、各フェーズが新しいスケマティック フィーチャ リンクの 1 つに対応するようになります。

PhaseCode フィールド値に従って LV_Line スケマティック リンクを展開するように指定されたリンク展開ルール プロパティ ページ

図 1.2 は、このリンク展開ルールをアクティブにしてダイアグラムを更新した後に、重複リンクの切り離しスケマティック レイアウト アルゴリズムをそのスケマティック ダイアグラムに実行して得られた結果を示しています。

ダイアグラム サンプル 1、リンク展開ルール実行の結果

展開されたリンク上で [個別属性] ツール [個別属性] ツール アイコン を使用すると、初期スケマティック フィーチャ リンクの個別属性を表示できます。

ダイアグラム サンプル 1、5-4-0-B スケマティック リンクとそれに関連する初期スケマティック リンクの個別属性表示

同様に、ダイアグラム内で、展開されたスケマティック フィーチャ リンクが選択されているときに [スケマティックの選択セットをマップに反映] [スケマティックの選択セットをマップに反映] アイコンコマンドを使用すると、マップ内で、関連付けられたエッジ フィーチャが選択されます。

サンプル 1 ダイアグラムで 5-4-0-B スケマティック リンクが選択されているときに、[マップの選択セットをスケマティックに反映] コマンドを使用する

マップ内で、エッジ フィーチャが選択されているときに [マップの選択セットをスケマティックに反映] [マップの選択セットをスケマティックに反映] アイコンコマンドを使用すると、スケマティック ダイアグラム内で、関連付けられた展開されたリンクがすべて選択されます。

マップで、展開されたスケマティック リンクと関連付けられた GIS エッジが選択されているときに、[マップの選択セットをスケマティックに反映] コマンドを使用する

展開された各リンクを生成するために使用されるデコードされたフィールド値に対応するラベルを、これらのリンクに沿って表示する場合は、次の操作を実行します。

  1. リンク展開ルールのプロパティ ページを編集します。
  2. これらの値を格納する新しい PropertySet 属性の名前を [名前] フィールドに入力します。
    PhaseCode フィールド値に従って LV_Line スケマティック リンクを展開し、デコードされた値を DecodedPhaseCode propertyset プロパティに格納するように指定されたリンク展開ルール プロパティ ページ
  3. [OK] をクリックします。
  4. [スケマティック データセット エディタ] ツールバーの [ビュー][プロジェクト ツリー] をクリックします。
  5. データセット エディタのツリーで、リンク展開ルール プロパティ ページで展開するように指定されているリンク スケマティック フィーチャクラスのエントリを展開します。
  6. 手順 1 で指定した名前で新しい PropertySet 属性が作成されていることを確認します。
  7. この PropertySet 属性のエントリをクリックします。
  8. そのストレージ モードが [フィールド] に指定され、その評価モードが [生成/更新時] に指定されていることを確認します。
    DecodedPhaseCode propertyset 属性のパラメータの確認
  9. [スケマティック データセット エディタ] ツールバーの [保存] をクリックします。
  10. ArcMap を起動し、リンク展開ルールが構成されているダイアグラム テンプレートによって実装されている任意のスケマティック ダイアグラムを開きます。
  11. 展開されるように構成されているスケマティック フィーチャ リンクに関連するフィーチャ レイヤから [レイヤ プロパティ] ダイアログ ボックスを開きます。
  12. [ラベル] タブをクリックします。
  13. [このレイヤのラベルを表示] をオンにします。
  14. [ラベル フィールド] ドロップダウン リストから PropertySet 属性名を選択します。
    DecodedPhaseCode フィールド値を、展開されたスケマティック リンクのラベルとして指定します
  15. [OK] をクリックします。

ダイアグラムを更新してルール パラメータの変更を反映すると、展開されたスケマティック フィーチャ リンクは、ラベル付きで表示されます。各ラベルは、デコードされたソース値の 1 つの値に対応しています。

ダイアグラム サンプル 1、リンク展開ルールを実行し、DecodedPhaseCode ラベルを表示した結果

ヒントヒント:

スケマティック データセット エディタ内で、スケマティック ダイアグラムをレイヤ ファイルとしてエクスポートし、それを、[デフォルト シンボルのインポート] 機能を使用してインポートします。これにより、同じダイアグラム テンプレートに基づくすべてのダイアグラムが、デフォルトで、展開されたリンクにラベルが付いた状態で表示されます。

[デフォルト シンボルのインポート] 機能の詳細

サンプル 2 - 端点ノードからの情報に従ったリンクの展開

次のサンプル 2 ダイアグラム(図 2.1)では、リンク展開ルールは、すべての Cables スケマティック リンクを、その元の Plants スケマティック フィーチャ ノードから使用可能な属性に従って展開するように定義されています。

このダイアグラムに含まれている Plants は、指定された数の接続をサポートします。この接続数は、Plants フィーチャクラスに格納されている特定のフィールドから取得されます。ISchematicExpandLinksByAttributeExtended インタフェースを実装するカスタム コンポーネントが作成されています。このコンポーネントは、フィーチャクラスまたはオブジェクト テーブルからこれらのフィールド値を取得します。それにより、ルールで、これらのフィールド値を使用して Cables リンクを展開できます。

ダイアグラム サンプル 2、初期コンテンツ

Cables スケマティック フィーチャクラスのすべてのスケマティック フィーチャに対して展開が実行されるように、リンク展開ルールのプロパティが指定されています。

元の Plants スケマティック ノードの MaxOutLines フィールド値に従って、各 Cables スケマティック リンクを展開するように指定された、リンク展開ルールのプロパティ ページ

図 2.2 は、このリンク展開ルールをアクティブにしてダイアグラムを更新した後に、重複リンクの切り離しスケマティック レイアウト アルゴリズムを実行して得られた結果を示しています。

ダイアグラム サンプル 2、リンク展開ルール実行の結果

関連項目


7/10/2012