スクリプトを使ったスタイル付け(メモ)

図1. 今回使用する スタイルオブジェクト。スタイル名の"New_Style_1"等は、新規スタイル作成時のデフォルト名。 図2. テスト用の簡単なベクタオブジェクト(左)。"Field"という名前の数値フィールドに10から40の数値が入っています。 図3. 先ほどの数値フィールドをクエリの右辺にそのまま使用してみた。 図4. エラー。"Field"フィールドは数値であり、タイプが両辺で一致しないので、エラーになっている。 図5. 新規フィールド"Style"を追加。先ほどのスタイル名と同じフィールド値をセット。 図6. 使用するスタイルはどこで指定するかというと... 図7. ポリゴンにスタイル表示がされました。 図8. バリエーションとして、先ほどの数値フィールドからスタイル名を作るクエリをセット。これもOKでした。 このようにクエリによるスタイル付けは、属性とスタイルを1つ1つ割り当てずに済むので便利ですが、凡例パネルに凡例が表示されない、 テーブルに凡例サンプルが表示されないなどの難点があります。 そこで、 【新機能要求番号】19938N - Style by attribute: add 'assign all' button to Manual tab この場合は、割り当てる属性値を、対応するスタイル名と同じにしてやる必要があります。これには、計算フィールドの1つの文字式表現を使えばよい。 The assignment would be made if the style and attribute had the same name. また、スクリプトによるスタイルを、割り当てによる形式に自動変換するコマンドもありますが、システム内部の機械的割当てのため、 ユーザが容易に割り当てを変更できない、などの難点があります。それを改善するのが以下の新機能要求です。 【新機能要求番号】19863N - When convert (style) script to table add ability to associate with key field for later editing and use in legend. これが実装されれば、変換時にキーフィールドを指定するので、後の利用が通常の割り当てと同じ操作環境になり、またスクリプトを使いませんので 凡例の問題もなくなります。 ●サンプルデータのダウンロード
<スタイルよもやま話> ●データベーステーブル中のRGB値の情報を参照して、ポリゴンの塗りつぶしカラーのスタイルを作成するSML FixStyle.sml 数100もあるスタイルを作成する際便利でしょう。 ●保存されたスタイル情報を見るには【基本操作】 2011.10.28