概要 - スタイル定義で式を使用する

ほとんどすべてのスタイル設定の値として式を使用することができます。式ビルダを使用して、フィーチャ クラス属性と関連フィーチャの属性の両方または属性の値を使用して計算した値に基づいて、式を使ってフィーチャのスタイルを設定します。

テキスト関数

式ビルダを使用して、動的文字列に使用できる計算されたプロパティを作成します。インダストリ モデルには、次の 2 つのテキスト関数があります。

TB_SQL: このテキスト関数を使用して関連フィーチャ クラスから属性をクエリーします。属性はスタイル設定に使用できます。SQL コマンドは次のルールに対応する必要があります。

注:

SQL コマンドをテストするには、SELECT g.FID, (SQL コマンド) FROM <フィーチャ クラス名> g を実行します。たとえば、SQL Sheet を使用してコマンドを実行します。

TB_VARIABLE

このテキスト関数を使用して、主題スタイル設定のユーザ定義変数を提供する、計算されたテキスト プロパティを作成します。変数は、システム テーブル TB_VARIABLE に格納されます。個人のログインごとに、このような変数を定義できます。

たとえば、TB_VARIABLE で、FID を表す値を持つ変数 BUILDING を定義します。表示マネージャで、この変数を使用して建物のスタイルを設定します。マップ内の 1 つの建物をハイライトするには、建物の FID を TB_VARIABLE に入力します。別の建物をハイライトする場合は、表示モデルを変更しないで新しい FID を TB_VARIABLE に入力します。

If、Lookup、Range

これらの関数を使用して、ラインのカラーや厚さなど、1 つの表示属性の主題を定義します。これらは、文字列、実数、整数、ブール演算、カラー、日時など、複数のデータ型で機能します。各パラメータは、文字列や数値に対して評価する定数または式とすることができます。

If

If('Condition', TrueValue, FalseValue)

‘Condition’ パラメータは、ブール演算値に評価する任意の式を含んでいる文字列です(特にフィルタ)。これは 'population > 1000' など、単一の比較である場合があります。ここで、‘population’ は画層のフィーチャ プロパティです。‘TrueValue’ と ‘FalseValue’ は、条件が真であるか偽であるかを評価して返す式です。両方の式は、同じデータ タイプ(文字列または数値)に評価する必要があります。

次の例は、上矢印記号を回転させて、人口の増加や減少を示すために使用できる可能性があります。If('pop2005 > pop2000', 0.0, 180.0)

Lookup

Lookup(Expression, DefaultValue, Key1, Value1, … KeyN, ValueN)

この関数は、各キーが 1 つの値に関連付けられているルックアップ テーブルを実装します。Expression はキー(文字列または数字)に対して評価する式です。このキーは残りの定数 Key# パラメータと比較され、返される定数 Value# パラメータが選択されます。要求されたキーが見つからない場合、DefaultValue が返されます。Expression およびすべての Key パラメータは、DefaultValue およびすべての Value# パラメータと同じデータ タイプを持っている必要があります。キーと値のペアの数は一定ではありません。

次の例は、ゾーニング タイプに応じて区画にカラーを割り当てるために使用できます。

Lookup(zoning, 0xff888888, 'Industrial', 0xffff0000, 'Commercial', 0xff00ff00, 'Residential', 0xff0000ff)

Range

範囲関数は、‘式’キーを一連の範囲と比較します。ここで、MIN <= KEY < MAX の場合にキーは範囲と一致します。

Range(Expression, DefaultValue, Min1, Max1, Value1, … MinN, MaxN, ValueN)

範囲は ‘Min#’ および ‘Max#’ パラメータで指定され、それぞれ関連付けられた ‘Value#’ パラメータを持っています。要求されたキーが指定された範囲と一致しない場合、‘DefaultValue’ が返されます。範囲が重なっている場合、キーに一致する最初の範囲が選択されます。 ‘Expression’ およびすべての ‘Min’ および `Max’パラメータのデータ タイプは、‘DefaultValue’ およびすべての ‘Value#’ パラメータと同じである必要があります。範囲値セットの数は一定ではありません。

次の例を使用して、都市の人口に応じてシンボル サイズを指定できます。

Range(population, 4.0, 100000, 1000000, 6.0, 1000000, 10000000, 8.0)