前提条件:
フローによるノード削減ルールを構成する前に、ルールの実行に必要なノード スケマティック フィーチャクラスがスケマティック データセットにすでに存在し、ルールが指定されるスケマティック ダイアグラム テンプレートに関連付けられていることを確認する必要があります。
フローによるノード削減のルール構成について説明する前に、このルールに固有の次の用語についても知っておく必要があります。
- 削減ノードは、結果として生じる最終的なダイアグラムには表示されなくなるノードです。
- ソース ノードは、すべての接続リンクの始点となるノードです。
- シンク ノードは、すべての接続リンクの終点となるノードです。
- 論理フローを保持するために作成されるリンクはスーパー スパンです。
フローによるノード削減ルールでは、特定のスケマティック フィーチャクラスによって実装されるすべてまたはいくつかのノードが削除され、これらの削除されたノードを接続していたリンクが、ネットワークの論理フローが保持されるように再接続された後に、スケマティック ダイアグラムを生成できます。
削減ノードは、結果として生じる最終的なダイアグラムには含まれない、特定のスケマティック フィーチャクラスによって実装されるノードです。指定されたノード スケマティック フィーチャクラスによって実装されたすべてのノードを削減することも、以下に従って除外されたノードのみを削減することもできます。
- そのノード スケマティック フィーチャクラスに関連付けられた実際のフィーチャクラス/オブジェクト テーブルで機能する SQL フィルター
- 削減候補ノードのリンクの特定の属性、または削減候補ノードのリンクを実装するリンク スケマティック フィーチャクラスに関連付けられた実際のフィーチャクラスで期待される特定のフィールド
特定のソース ノードおよびシンク ノードでは、そのノードも削除する、または削除しないようにルールを構成することもできます。
以下の手順は、フローによるノード削減ルールがすでに [ルール] タブに追加されている場合に [ルール] タブ ツールバーの [ルール プロパティ] ボタンをクリックすると表示される [フローによるノード削減] ルール プロパティ ページの構成に重点を置いています。[ルール] タブに新しいルール アイテムを追加したり、[ルール プロパティ] ページを表示する方法については、「スケマティック ダイアグラム テンプレートでのスケマティック ルールの指定」をご参照ください。
[ルール] タブに追加されたばかりのフローによるノード削減ルールの場合、[ルール] タブ ツールバーの [ルール プロパティ] ボタンをクリックすることにより、次のように [ルール プロパティ] ダイアログ ボックスが開かれます。
- [説明] フィールドにルールの説明を入力します。
この説明文字列は、関連するルール アイテムの [ルール] タブに表示されます。また、スケマティック ダイアグラムの生成および更新の間にも表示され、このルールが実行されていることをユーザーに通知します。
- [削減するノード スケマティック フィーチャクラスを選択] ドロップダウン リストから、削減するノード スケマティック フィーチャクラスの名前を選択します。
このドロップダウン リストには、スケマティック ダイアグラム テンプレートに関連付けられているノード スケマティック フィーチャクラスのみが表示されます。
ルール構成のこの手順において、選択したノード スケマティック フィーチャクラスによって実装されるすべてのスケマティック ノードが削減対象として構成されます。
- 削減ノードのリンク上の頂点が、ノードの削減後も保持されるようにするには、[頂点を保持する] チェックボックスをオンにします。
このチェックボックスがオンになっている場合、削減されたノードがあった場所にも頂点が表示されます。
- 特定のノードのみを削減するよう、指定したノード スケマティック フィーチャクラスで SQL フィルターを指定する場合は、次の操作を実行します。
- [関連するフィーチャ/オブジェクト クラスに SQL フィルターを追加] エリアの右にある [編集] ボタンをクリックします。
[SQL クエリ] ダイアログ ボックスが表示されます。
- 必要な SQL 文を作成します。
フィルタリングは、指定されたノード スケマティック フィーチャクラスに関連付けられているフィーチャクラスまたはオブジェクト クラスに格納されるフィールドで行われます。
- [OK] をクリックします。
[SQL クエリ] ダイアログ ボックスが閉じられ、指定した SQL フィルターが [関連するフィーチャ/オブジェクト クラスに SQL フィルターを追加] エリアに自動的に表示されます。
指定した SQL フィルターが、削減候補となるスケマティック ノードのサブセットの決定に使用されます。SQL フィルターを確認しない場合、ルール実行時に削減は行われません。
- [関連するフィーチャ/オブジェクト クラスに SQL フィルターを追加] エリアの右にある [編集] ボタンをクリックします。
- 削減するノードを決定するには、削減候補ノードのスケマティック リンクで構成されたスケマティック属性、または削減候補ノードのスケマティック リンクに関連付けられている実際のフィーチャ/オブジェクトに格納されるフィールドに基づく制約を指定することもできます。この制約は、[接続リンク属性] セクションで指定する必要があります。
- [属性名を使用] チェックボックスをオンにします。
- 使用するスケマティック属性またはフィールドの名前を入力します。
ノードの削減候補に接続する各スケマティック リンクに対し、ルールはまずスケマティック リンクでこの名前を持つスケマティック属性を検索します。この名前のスケマティック属性が検出されない場合、ルールはそのスケマティック リンクに関連付けられた GIS フィーチャで同じ名前のフィールドを検索します。これで、検出された属性またはフィールドが接続されているすべてのリンクに対して同じ値で存在する場合にのみ、ノードが削減されます。
- [削減オプション] エリアから、特定のソースおよびシンク ノードもルール実行時に削減するかどうかを指定します。
- 指定されたノード スケマティック フィーチャクラスによって実装されるノードがソース ノードであってもそれらを削減する場合は、[ノード スケマティック フィーチャがソースの場合、削減] チェックボックスをオンにします。
このボックスがオフになっている場合、指定されたノード スケマティック フィーチャクラスによって実装されているソース ノードは削減されません。
- 指定されたノード スケマティック フィーチャクラスによって実装されるノードがシンク ノードであってもそれらを削減する場合は、[ノード スケマティック フィーチャがシンクの場合、削減] チェックボックスをオンにします。
このボックスがオフになっている場合、指定されたノード スケマティック フィーチャクラスによって実装されているシンク ノードは削減されません。
- 指定されたノード スケマティック フィーチャクラスによって実装されるノードがソース ノードであってもそれらを削減する場合は、[ノード スケマティック フィーチャがソースの場合、削減] チェックボックスをオンにします。
- [リンク スケマティック フィーチャクラスの削減] セクションでは、接続されるリンクの数に応じて、スケマティック ノードの削減候補のすべてを削減するか、一部のみを削減するかを指定します。削減ノードごとに、接続されるリンクのいずれかが削減され、論理フローを保持するため別のリンクが作成されます。削減オプションにより、これらの新しいリンクの実装に使用されるリンク スケマティック フィーチャクラスを指定することができます。
- 論理フローを保持するために作成されたリンクが、削減ノードから始まるリンクを実装するリンク スケマティック フィーチャクラスと同じスケマティック フィーチャクラスによって実装されるようにするには、[リンク スケマティック フィーチャクラスから] オプションを選択します。
- 論理フローを保持するために作成されたリンクが、削減ノードで終わる付随リンクを実装するリンク スケマティック フィーチャクラスと同じスケマティック フィーチャクラスによって実装されるようにするには、[リンク スケマティック フィーチャクラスに対して] オプションを選択します。
- 論理フローを保持するために作成されたすべての新しいリンクが、削減ノードに関連付けられた付随リンクを実装するスケマティック フィーチャクラスから独立した指定のリンク スケマティック フィーチャクラスによって実装されるようにするには、[その他] オプションを選択します。この場合、[その他] オプションの右側に表示されるドロップダウン リストから、必要なリンク スケマティック フィーチャクラスの名前を選択します。このリストには、ダイアグラム テンプレートに関連付けられているすべてのリンク スケマティック フィーチャクラスが表示されます。
- [OK] をクリックして [ルール プロパティ] ダイアログ ボックスを閉じます。