スケマティック属性のストレージ モードと評価モードについて

スケマティック属性を作成する際には、ストレージ モードと評価モードを指定する必要があります。ストレージ モードを指定する場合は、スケマティック属性値をスケマティック データセットに保存する必要があるかどうかを定義します。スケマティック属性の評価モードを指定すると、スケマティック属性値を再評価する時期が決まります。

スケマティック属性のストレージ モード

スケマティック属性値を保存する際には、次の 3 つのオプションがあります。

スケマティック属性を作成する際、デフォルトのストレージ モードが自動的に設定されます。このデフォルトは主に、属性に指定されたタイプによって決まりますが、通常は必要に応じて変更することができます。スケマティック属性の各タイプのデフォルトのストレージ モードについては、「スケマティック属性のタイプ」の表をご参照ください。
注意注意:

名前が定義済みの属性名に対応するスケマティック属性については、ストレージを構成することはできません。このような特殊な属性のストレージはすべて Schematics によって管理されるので、構成する必要はありません。ほとんどの場合、関連するスケマティック フィーチャクラスまたはダイアグラム クラスのシステム フィールドに基づきます。

フィールド ストレージ

ほとんどの属性について、[フィールド] がデフォルトのストレージ値として提示されます。この場合、関連するスケマティック フィーチャクラスまたはダイアグラム クラスのフィールドにスケマティック属性値が保存され、スケマティック フィーチャで [個別属性] ツールを使用するときや、スケマティック レイヤを構成するフィーチャ レイヤから [属性テーブルを開く] をクリックしたときに、それらの値を使用することができます。

注意注意:

スケマティック属性を使用して、スケマティック ダイアグラムにおけるスケマティック フィーチャの表示やラベリングを指定するには、関連するスケマティック フィーチャクラスのフィールドとして属性値が保存されていなければなりません。

フィールド ストレージが構成されているスケマティック データセットおよびスケマティック属性を保存する際、属性が適用されるスケマティック フィーチャクラスまたはスケマティック ダイアグラム クラス内で属性名に対応する名前を持つフィールドが検索されます。そのようなフィールドがない場合は作成されますが、フィールドの作成が正しく完了しないことがあります。たとえば、そのスケマティック データセットに保存されているスケマティック ダイアグラムが開いている場合や、スケマティック データセットが含まれているジオデータベースがカタログ ツリーで現在選択されている場合、フィールドが作成されるスケマティック フィーチャクラス/ダイアグラム クラスがロックされていることがあります。その場合、フィールドの自動作成は正しく完了しません。このような問題を回避するため、フィールド ストレージを指定してスケマティック属性を構成する必要がある場合は、次のように 2 段階で作業を行うことをお勧めします。

プロパティ セット ストレージ

[プロパティ セット] ストレージ オプションは、スケマティック属性値をスケマティック データセットに保存するものの、関連するスケマティック フィーチャクラスまたはダイアグラム クラスのフィールドからその情報を明確に使用できるようにする必要がない場合に使用します。この場合、スケマティック属性名に対応する名前を持つプロパティ セットのプロパティは、スケマティック属性が評価されるたびに、関連するスケマティック フィーチャの PROPERTYSET フィールドまたは関連するスケマティック ダイアグラムの BLOBS フィールドで自動的に管理されます。

ストレージなし

[ストレージなし] モードは、スケマティック属性値をスケマティック データセットに保存する必要がない場合に使用します。このストレージは通常、スケマティック属性値が別の属性の一部として使用され、その別の属性の値は自身に保存される場合に指定します。

スケマティック属性の評価モード

スケマティック属性値を評価する時期には、次の 4 つのオプションがあります。

スケマティック属性を作成する際、デフォルトの評価モードが自動的に設定されます。デフォルトで設定されるストレージ モードと同様に、このデフォルトの評価モードは主に、属性に指定されているタイプによって決まります(各属性タイプのデフォルトの評価モードの詳細については、「スケマティック属性のタイプ」の表をご参照ください)。

生成/更新時に評価

[生成/更新時] 評価モードが指定されているスケマティック属性は、ダイアグラムの生成時に評価されます。この場合、スケマティック ダイアグラムが更新されるたびに属性値が再評価されます。スケマティック ダイアグラムの有効期間中、この特定の時期以外に属性値が再評価されることはありません。

このタイプの評価は、最もよく使用されます。

編集の開始時に評価

評価タイプが [編集の開始時] に設定されている場合、スケマティック属性はダイアグラムの生成時および更新時に評価されるだけでなく、スケマティック ダイアグラムで編集セッションが開始されるときなど、スケマティック ダイアグラムがメモリに読み込まれるたびに評価されます。この場合、属性値が変更されており、ストレージ モードが [フィールド] または [プロパティ セット] に設定されていれば、ダイアグラムの編集を保存するときに、関連するスケマティック フィーチャクラスまたはダイアグラム クラスのテーブルに新しい値が自動的に保存されます。

注意注意:

ダイアグラムで編集セッションが開始される際には必ず、ダイアグラムがメモリに読み込まれます。ただし、ダイアグラムを開いたときに自動的にメモリに読み込まれるようにすることもできます。

メモリへのスケマティック ダイアグラムの読み込みの詳細

ダイアグラムの内容全体を更新しなくても定期的に評価する属性については、[編集の開始時] 評価モードがあらかじめ定義されます。また、ダイナミック カスタム クエリを使用して構成されたスケマティック フィーチャクラスに指定されている属性にも、この評価モードが定義されます。

ダイナミック カスタム クエリが指定されているスケマティック フィーチャクラスの詳細

再描画/最新の情報に更新時に評価

[再描画/最新の情報に更新時] 評価モードでスケマティック属性を構成すると、スケマティック属性値は、ダイアグラムの生成時、更新時、およびメモリへの読み込み時に加えて、スケマティック ダイアグラムが再描画または最新の情報に更新されたとき(ダイアグラムで縮尺や範囲が変更されたときや、ダイアグラムに含まれるスケマティック フィーチャが移動されたときなど)にも体系的に再評価されます。

この評価モードは、頻繁に変更されるデータにスケマティック属性がリンクされている場合(SCADA アプリケーションなど)に役立ちます。

注意注意:

他の評価モードを指定したスケマティック属性と同様に、[再描画/最新の情報に更新時] 評価モードを指定したスケマティック属性は、属性タイプに関係なく、スケマティック フィーチャ シンボルを設定するために直接使用できます。ただし、[再描画/最新の情報に更新時] 評価モードのスケマティック属性が関連フィールド タイプの属性である場合、ラベリングに直接使用することはできません。そのような特別の場合、ArcMap ラベリング エンジンでは、関連付けられたフィールド値の読み込みはデフォルトで強制されません。ただし、次のような高度なラベル条件式を使用すると、この読み込みを強制できます。

[再描画/最新の情報に更新時] 評価モードを指定した関連フィールド スケマティック属性に基づく、ラベルを取得するための高度な条件式によって、適切に表示されます。

入力パラメータ:

  • [ATTR_AS_LABEL]:ラベリングに使用するスケマティック属性。
  • [PROPERTYSET]、[DATASOURCEID]、[UCID]、および [UOID]:関連付けられたフィールド値を常に最新の状態にするために読み込む必要があるスケマティック フィーチャクラス フィールド。

[DATASOURCEID]、[UCID]、および [UOID] フィールドは、[ラベル条件式] ダイアログ ボックスの [フィールド] リストから使用でき、次の高度な条件式を構築するときにこのリストから選択できます。[PROPERTYSET] フィールドは、このリストから使用できないため、それについては式のボックスに直接入力する必要があります。

Function FindLabel([PROPERTYSET],[DATASOURCEID], [UCID], [UOID], [ATTR_AS_LABEL])
			FindLabel = [ATTR_AS_LABEL]
End Function

必要に応じて評価

[必要に応じて] 評価モードのスケマティック属性は通常、別の属性を構成するスケマティック属性に構成します。この場合、属性は、他の属性が評価されるときに評価されます。

5/10/2014