前提条件:
関連フィーチャの折りたたみルールを構成する前に、ルールの実行に必要なノード スケマティック フィーチャクラスがスケマティック データセットにすでに存在し、ルールが指定されるスケマティック ダイアグラム テンプレートに関連付けられていることを確認する必要があります。
関連フィーチャの折りたたみルールにより、指定されたノード スケマティック フィーチャクラスによって実装される特定のいくつかの親ノードに関連付けられているすべてのスケマティック フィーチャが折りたたまれ、トポロジが保持されるよう、折りたたまれたこれらのスケマティック フィーチャを接続していたリンクがそれらの親ノードに再接続されているスケマティック ダイアグラムを取得できます。折りたたまれたフィーチャは親スケマティック ノードに関連付けられたスケマティック フィーチャです。これらのリレーションは、リレーションシップ ルール、空間検索ルール、または PEN および PTN 定義済み属性を使用して指定されたスケマティック データセットに保存されたリレーションに起因します。
折りたたまれたスケマティック フィーチャは、指定された親スケマティック ノードに関連付けられたスケマティック リンクおよびノードで、生成される最終的なダイアグラムでは表示されません。指定された親ノード スケマティック フィーチャクラスのすべてのノードに関連付けられたスケマティック フィーチャを折りたたむことも、以下によって除外されている特定のいくつかの親スケマティック ノードに関連付けられたスケマティック フィーチャのみを折りたたむこともできます。
- 親ノード スケマティック フィーチャクラスに関連付けられた実際のフィーチャクラス/オブジェクト テーブルで機能する SQL フィルター
- 関連するフィーチャを折りたたむ親ノードまたは折りたたまない親ノードを決定するために特別に作成された拡張条件
たとえば、ルールでは、(1) 特定のフィールド値を確認する親ノードに関連付けられたスケマティック フィーチャ、(2) 親ノードが関数コードにより検出された特定のプロパティ値を確認する関連スケマティック フィーチャ、または (3) これら 2 種類の条件を同時に確認する親ノードに関連付けられたスケマティック フィーチャのみを折りたたむことができます。
以下の手順は、関連フィーチャの折りたたみルールがすでに [ルール] タブに追加されている場合に、[ルール] タブ ツールバーの [ルール プロパティ] ボタンをクリックすると表示される関連フィーチャの折りたたみルール プロパティ ページの構成に重点を置いています。[ルール] タブに新しいルール アイテムを追加したり、[ルール プロパティ] ページを表示する方法については、「スケマティック ダイアグラム テンプレートでのスケマティック ルールの指定」をご参照ください。
[ルール] タブに追加されたばかりの関連フィーチャの折りたたみルールの場合、[ルール] タブ ツールバーの [ルール プロパティ] ボタンをクリックすることにより、次のように [ルール プロパティ] ダイアログ ボックスが開かれます。
- [説明] フィールドにルールの説明を入力します。
この説明文字列は、関連するルール アイテムの [ルール] タブに表示されます。また、スケマティック ダイアグラムの生成および更新の間にも表示され、このルールが実行されていることをユーザーに通知します。
- [親ノードのスケマティック フィーチャクラスを選択] ドロップダウン リストから、親ノード スケマティック フィーチャクラスの名前を選択します。
このドロップダウン リストには、スケマティック ダイアグラム テンプレートに関連付けられているノード スケマティック フィーチャクラスのみが表示されます。
ルール構成のこの手順において、親ノード スケマティック フィーチャクラスによって実装されるすべてのノードに関連付けられたすべてのフィーチャが、折りたたまれるように構成されます。
- 特定の親ノードのみが関連するスケマティック フィーチャを折りたたむように、その親ノードで SQL フィルターを指定する場合は、次の操作を実行します。
- [関連するフィーチャ/オブジェクト クラスに SQL フィルターを追加] エリアの右にある [編集] ボタンをクリックします。
[SQL クエリ] ダイアログ ボックスが表示されます。
- 必要な SQL 文を作成します。
フィルタリングは、指定された親ノード スケマティック フィーチャクラスに関連付けられているフィーチャクラスまたはオブジェクト クラスに格納されるフィールドで行われます。
- [OK] をクリックします。
[SQL クエリ] ダイアログ ボックスが閉じられ、指定した SQL フィルターが [関連するフィーチャ/オブジェクト クラスに SQL フィルターを追加] エリアに自動的に表示されます。
指定した SQL フィルターが、関連するスケマティック フィーチャが折りたたまれる親スケマティック ノードのサブセットの決定に使用されます。SQL フィルターを確認しない場合、関連するスケマティック フィーチャはルール実行時に折りたたまれません。
- [関連するフィーチャ/オブジェクト クラスに SQL フィルターを追加] エリアの右にある [編集] ボタンをクリックします。
- 特定の拡張条件を使用する場合は、次の操作を実行します。
- [拡張条件の使用] ボックスをオンにします。
- ドロップダウン リストから必要な拡張条件を選択します。
関連フィーチャの折りたたみルールの拡張条件は、esriSchematic.ISchematicCollapseRelatedElementsExtended インターフェイスを実装するコンポーネントです。
拡張条件コンポーネントは、親ノード候補から折りたたみまで、つまり、手順 2 および 3 で指定されたオプションで生成される親ノードのセットに対して機能します。次に、独自の条件に基づいて、ルール実行中に関連スケマティック フィーチャを折りたたむかどうかを、各候補ノードについて決定します。
- 関連するスケマティック フィーチャを接続するリンク上に表示される頂点が、これらのリンクがトポロジを保持するため親スケマティック ノードに再接続される際に保持されるようにする場合は、[頂点を保持する] オプションをオンにします。
- [OK] をクリックして [ルール プロパティ] ダイアログ ボックスを閉じます。