サポート > PC-MAPPING ヒント集 > 描画機能 > 描画におけるカラーフィルター置換@
描画におけるカラーフィルター置換@
[プロジェクトエキスパート]-[属性データベース]に、「@ColorFilter@」という名前のデータベースを登録し、規定のフィールドを設定する事によって、要素の描画色を指定した色に置き換えて描画したり、要素を非表示にする事ができます。
対象となる要素は、アーク、ポリゴン、ノード、ポイントなどのベクター要素や注記の文字、モノクロ画像です。
さらにアークについては、アーク描画のペンスタイルや線幅を指定のものに置き換えて描画する事ができます。
この機能を使って、プロジェクトの全てのレイヤーについて、また、アーク、ポリゴン、ノード、ポイントといった異種のベクター要素について、一括して描画色などを制御する事ができます。
■ サンプル
サンプル [param22.zip(約280KB)]をダウンロードする
アーク・ポリゴン_sample1.pcm:「■ アーク・ポリゴン」《例1》サンプルプロジェクト
アーク・ポリゴン_sample2.pcm:「■ アーク・ポリゴン」《例2》サンプルプロジェクト
ポイント_sample1.pcm:「■ ポイント」《例1》サンプルプロジェクト
ポイント_sample2.pcm:「■ ポイント」《例2》サンプルプロジェクト
注記_sample1.pcm:「■ 注記(属性表記)」《例1》サンプルプロジェクト
注記_sample2.pcm:「■ 注記(属性表記)」《例2》サンプルプロジェクト
アーク線種・線幅_sample1.pcm:「■ アークのペンスタイル・線幅の置換描画」《例1》サンプルプロジェクト

■ 設定方法
  1. 「@ColorFilter@」データベースは、次のようにフィールドを作成し、プロジェクトの「属性データベース」に登録します。
    • 第1フィールド:整数型
    • 第2フィールド:カラー型
    • 第3フィールド:カラー型

  2. [レコード]-[新しいレコード]で、レコードを追加しフィールドに値を設定します。
    第1フィールドの値に「1」か「2」を設定した場合、そのレコードの第2フィールドのカラー値(色)で描画されている要素に次のように影響を及ぼします。
    • 第1フィールドの値が「1」のレコード:第3フィールドのカラー値(色)で置換されて描画されます。
    • 第1フィールドの値が「2」のレコード:非表示になります。
    【注意】:この機能は、プロジェクト内で現在表示されている、全てのレイヤーの全てのベクター要素に対して、描画されている色をキーとして一括に影響します。
    この点を考慮に入れて利用する必要があります。

  3. さらに、次のようにフィールドを追加して、アークのペンスタイル・線幅を置換して描画する事ができます。
    3-1. ペンスタイルを置換して描画
    • 第4フィールド:整数型
    • 第5フィールド:整数型
    第1フィールドが「4のビットがONとなる値」(4、5、6、7など)の場合:第4フィールドの値のペンスタイルで描画されている要素は、第5フィールドの値のペンスタイルで置換されて描画されます。
    ペンスタイルの値は、0(実線)/1(破線)/2(点線)/3(一点鎖線)/4(二点鎖線)
    3-2. 線幅を置換して描画
    • 第6フィールド:実数型
    • 第7フィールド:実数型
    第1フィールドが「8のビットがONとなる値」(8、9、10、11など)の場合:第6フィールドの値の線幅で描画されている要素は、第7フィールドの値の線幅で置換されて描画されます。
    【注意】:この機能は、プロジェクト内で現在表示されている、全てのレイヤーのアークに対して影響します。

ここでは、要素ごとに具体的な例で説明します。

■ アーク・ポリゴン
  1. 一般的な描画の場合、「描画されている色」には次のような場合があります。
    • 参照する描画パラメーターセットの描画ペン/描画ブラシで設定されている色で描画されている場合
    • カラー型フィールドの「従描画」ONで、カラー型フィールドの色で描画されている場合
    • アークの場合、システムパレットの色で描画されている場合
    この場合、「@ColorFilter@」データベースは、レコードの第2フィールドのカラー値(色)で描画されている要素に次のような影響を及ぼします。
    • 第1フィールドの値が「1」のレコード:第3フィールドのカラー値(色)で置換されて描画されます。
    • 第1フィールドの値が「2」のレコード:非表示になります。

  2. ベクターシンボルの描画ペン/描画ブラシで描画されている場合
    ヒント集アークにベクターシンボルを表示させる
    ヒント集ポリゴンにベクターシンボルを表示させる
    この場合は、表示/非表示の制御のみ可能で、次のようになります(「@ColorFilter@」データベースがない場合は、いずれの場合も指定されたベクターシンボルでの描画となります)。
    カラー型フィールドの
    従描画設定
    「@ColorFilter@」データベースの影響
    OFF
    • 第1フィールドが「1」のレコード:影響なし
    • 第1フィールドが「2」のレコード:第2フィールドのカラー値がベクターシンボルの設定色(*1)の場合、その要素を非表示
    ON
    • 第1フィールドが「1」のレコード:影響なし
    • 第1フィールドが「2」のレコード:第2フィールドのカラー値がカラー型フィールドのカラー値と同じ場合、その要素を非表示
    (*1) 後述の「■ 補足」参照

《例1》アーク・ポリゴンをカラー型フィールドの色で描画の場合
  1. 「@ColorFilter@」データベースが登録されていない場合、「建築物」レイヤーのポリゴン、アークが次のように描画されています。

    「建築物」レイヤーのポリゴン、アーク
    • カラー型フィールド「Color」は、「建築期」をキーにデータベース「建築期」にデータベースリンク(他フィールド参照)しています
    • カラー型フィールド「Color」の「従描画」チェック=ONで、カラー型フィールドの色で描画されています。
    ▼「建築期」データベース
    ▼「建築物」レイヤーアーク内部属性
    ▼「建築物」レイヤーポリゴン内部属性

  2. 次の「@ColorFilter@」を登録し、[表示]-[再描画]を実行します。

  3. 次図のような描画となります。
    • 1番目のレコードによって、カラー値(78:255:14)で描画されていた要素はカラー値(255:128:14)で置換されて描画されます。
    • 2番目のレコードによって、カラー値(128:99:0)で描画されていた要素は非表示となります。
    • 3番目のレコードによって、カラー値(163:255:160)で描画されていた要素はカラー値(255:192:87)で置換されて描画されます。
    • 今回は、1つのポリゴンとそれを構成するアークが同じ色で描画されていたので、色の置換や非表示が同じように実施されます。

《例2》アークをシステムパレットの描画ペンで描画の場合
  1. 「@ColorFilter@」データベースが登録されていない場合、「建築物」レイヤーのアーク、「道路縁」レイヤーのアークが次のように描画されています。
    • 前景レイヤー:「建築物」
    • 背景レイヤー:「道路縁」
    • 「建築物」レイヤーアーク:システムパレットの描画ペンで描画
    • 「道路縁」レイヤーアーク:参照パラメーターセットのアーク描画ペンで描画

  2. 次の「@ColorFilter@」を登録し、[表示]-[再描画]を実行します。

  3. 次図のような描画となります。
    • 1番目のレコードによって、カラー値(0:0:0)で描画されていた要素はカラー値(0:0:255)で置換されて描画されます。
    • 2番目のレコードによって、カラー値(255:128:14)で描画されていた要素は非表示となります。
    • 背景レイヤー「道路縁」のアークも、「@ColorFilter@」の影響を受ける事が確認されます。

■ ポイント・ノード
  1. 「@ColorFilter@」データベースによる影響は、カラー型フィールドが「従描画」チェック=ONかどうか、ポイントパターン設定で「カラーオーバーライトを適応する」チェックボックス=ONかどうかによって、異なります。

  2. 「@ColorFilter@」データベースのレコードの第2フィールドのカラー値で描画されている要素や、そのカラー値をカラー型フィールドに持つ要素への影響は次のようになります。
    カラー型フィールドの
    従描画設定
    「カラーオーバーライトを適応する」本来の描画(「@ColorFilter@」データベースがない場合)
    「@ColorFilter@」データベースの影響
    OFFON/OFF参照パラメーターのシンボルで描画
    影響なし
    ONONカラー型フィールドのカラー値で描画
    第2フィールドのカラー値で描画されている要素へ影響
    • 「1」のレコード:第3フィールドのカラー値で置換されて描画
    • 「2」のレコード:非表示
    ONOFF参照パラメーターのシンボルで描画
    第2フィールドのカラー値をカラー型フィールドに持つ要素へ影響
    • 「1」のレコード:影響なし
    • 「2」のレコード:非表示

《例1》カラー型フィールドの「従描画」ON、ポイントパターン設定で「カラーオーバーライトを適応する」がONの場合
  1. 「@ColorFilter@」データベースが登録されていない場合、「地価公示点」レイヤーのポイントが次のように描画されています。
    • 参照パラメーターセットのポイント(ノード)描画パターンは、「カラーオーバーライトを適応する」ON
    • カラー型フィールド「Color」の「従描画」ONで、「Color」のカラー値で描画されています。
    • 「Color」の色は「公示価格」の値によって、6段階になっています。
    • 属性フィールド「公示価格」の「表示」ON

    ▼「地下公示点」レイヤーポイント内部属性

  2. 次の「@ColorFilter@」を登録し、[表示]-[再描画]を実行します。

  3. 次図のような描画となります。
    • 1番目のレコードによって、カラー値(166:202:240)で描画されていた要素はカラー値(14:62:255)で置換されて描画されます。
    • 2番目のレコードによって、カラー値(255:128:14)で描画されていた要素は非表示となります。
    • 3番目のレコードによって、カラー値(255:66:14)で描画されていた要素は非表示となります。
    • 4番目のレコードによって、カラー値(87:255:128)で描画されていた要素はカラー値(68:1128:0)で置換されて描画されます。

《例2》カラー型フィールドの「従描画」ON、ポイントパターン設定で「カラーオーバーライトを適応する」がOFFの場合
  1. 「@ColorFilter@」データベースが登録されていない場合、「地価公示点」レイヤーのポイントが次のように描画されています。
    • 「公示価格001」(「公示価格×0.001」の値)を主描画に設定
    • 参照パラメーターセットのポイント(ノード)描画パターンは、全て「カラーオーバーライトを適応する」OFF
    • カラー型フィールド「Color」の「従描画」ONで、参照パラメータセットの描画シンボルパターンの色で描画されています。

  2. 次の「@ColorFilter@」を登録し、[表示]-[再描画]を実行します。

  3. 次図のような描画となります。
    • 2番目のレコードによって、カラー値(255:128:14)をカラー型フィールドにもっている要素は非表示となります。
    • 3番目のレコードによって、カラー値(255:66:14)をカラー型フィールドにもっている要素は非表示となります。

【補足】
《例2》で、参照パラメーターセットのレンジ"1-299"のパターンのみ「カラーオーバーライトを適応する」ONの場合、「カラーオーバーライトを適応する」ONのシンボルで描画される要素は、
  • 「@ColorFilter@」データベースが登録されていない場合、カラー型フィールドの色で描画されます。
    ▼カラー型フィールドの色で描画されている要素
  • 「@ColorFilter@」が登録された場合、描画されている色をキーとして、「1」のレコードの色置換が有効に作用します。
    ▼1番目のレコードによって、色が置換されて描画

■ 注記(属性表記)
  1. 対象となる文字列は次のものです。
    • 「表示」チェック=ONの属性フィールドで、フォントの色で一括に表示されている文字列
    • 「表示」チェック=ONの属性フィールドで、カラー型フィールドの「表示」チェック=ONでカラー型フィールドの色で表示されている文字列
    • 注記属性型フィールドで表示されている文字列

  2. 「@ColorFilter@」データベースは次のような影響を及ぼします。
    • 第1フィールドの値が「1」のレコード:第2フィールドの色(カラー値)で表示されている文字列は、第3フィールドの色(カラー値)で置換されて表示されます。
    • 第1フィールドの値が「2」のレコード:第2フィールドの色(カラー値)で表示されている文字列は非表示になります。

《例1》フォントの色で一括に表示されている場合
  1. 「@ColorFilter@」データベースが登録されていない場合、「地価公示点」レイヤーのポイントが次のように描画されています。

    ▼表示フォント色の一括設定
    • 「点位置」で描画、「シンボル」描画OFF
    • 属性フィールド「公示価格」「駅からの距離」の「表示」ON
    • 表示フォントの色を「青」に設定

  2. 次の「@ColorFilter@」を登録し、[表示]-[再描画]を実行します。

  3. 次図のような描画となります。
    • 6番目のレコードによって、文字列はカラー(255:66:14)に置換されて表示されます。

  4. 「@ColorFilter@」の6番目のレコードの第1フィールドの値を「2」にします。

  5. [表示]-[再描画]を実行します。
    次図のような描画となります。
    • 6番目のレコードによって、文字列は非表示となります。

《例2》カラー型フィールドの色で表示されている文字列、注記属性型フィールドで表示されている文字列の場合
  1. 「@ColorFilter@」データベースが登録されていない場合、「地価公示点」レイヤーのポイントが次のように描画されています。
    • 属性フィールド「公示価格」・「駅からの距離」の「表示」ON
    • カラー型フィールド「Color」の「表示」ONで、「公示価格」・「駅からの距離」は「Color」の色で表示
    • 「注記」(注記属性型)は、枠付きの「公示価格」を表示
      調布市、狛江市、世田谷区のどこにあるかで、カラーを設定

  2. 次の「@ColorFilter@」を登録し、[表示]-[再描画]を実行します。

  3. 次図のような描画となります。
    • 1番目のレコードによって、カラー値(255:128:14)で描画されていた要素はカラー値(192:0:32)で置換されて描画されます。
    • 2番目のレコードによって、カラー値(0:128:128)で描画されていた要素はカラー値(255:87:246)で置換されて描画されます。
    • 3番目のレコードによって、カラー値(68:128:0)で描画されていた要素はカラー値(14:62:255)で置換されて描画されます。
    • 4番目のレコードによって、カラー値(192:0:154)で描画されていた要素は非表示となります。

    【ポイントについて】
    カラー型フィールドの「従描画」ON、ポイント描画パターンの「カラーオーバーライトを適応する」ONで描画されていたので、1〜4番目のレコードによって、同様の影響(置換色で描画、非表示)を受けています。

■ アークのペンスタイル・線幅の置換描画
《例1》
  1. 「@ColorFilter@」データベースが登録されていない場合、『建築物』アーク、『道路縁』アークが次のように描画されています。
    • 前景レイヤー:「建築物」
    • 背景レイヤー:」道路縁」
    • 「建築物」レイヤーアーク:参照パラメーターセットのアーク描画ペンで描画、実数型フィールド「width」の「従描画」ON(従って、線幅は「width」の値)
    • 「道路縁」レイヤーアーク:システムパレットの描画ペンで描画

  2. 次の「@ColorFilter@」を登録し、[表示]-[再描画]を実行します。

  3. 次図のような描画となります。
    • 3番目のレコードによって、ペンスタイル「0(実線)」で描画されていたアークは、ペンスタイル「3(一点鎖線)」で置換されて描画されます。
    • 4番目のレコードによって、線幅0.3(mm)で描画されていたアークは、線幅1.0(mm)に置換されて描画されます。
    • 5番目のレコードによって、ペンスタイル「2(点線)」で描画されていたアークは、ペンスタイル「4(二点鎖線)」で置換されて描画され、線幅0.5(mm)で描画されていたアークは線幅1.5(mm)に置換されて描画されます。

■ 補足
ベクターシンボルの設定色について
アーク場合は、[ペンの設定]ダイアログの「色」で設定されているものが、「ベクターシンボルの設定色」となります。