ENGLISH VERSION

GLOBALBASE PROJECT POWERED BY HIROHISA MORI
ホーム

GLOBALBASEとは? トピックス ダウンロード ドキュメント 実例とリンク
 
ver.B リリースノート
GLOBALBASEガイドブック
COSMOSマニュアル
LANDSCAPEマニュアル
開発情報
文献情報
GLOBALBASEマニュアル集 >> gbmxエージェント・リファレンス・マニュアル >> gbmx XL関数リファレンス >> gmxPgPlotField
2007-11-04版

gmxPgPlotField

著者: 森 洋久 / joshua@globalbase.org  ※ 

プロトタイプ

(1) <gmxPgPlotField/>

(2) <gmxPgPlotField> field-opt-list ... </gmxPgPlotField>

引数

field-opt-list [1] XLT_PTR  マトリックスフィールドデータの作業領域へのポインタ

... [1+] merge-type属性により決まるデータ群

属性

id (1)(2) [必須] 整数 マトリックス識別子

csv (1) [不要] (2) [任意] 文字列 A,B,C,.... CSVファイルの列

label (1) [不要] (2) [任意] 数字 マトリックス属性番号

dim (1) [不要] (2) [任意] 数字 マトリックス次元番号

merge-type (1) [不要] (2) [必須] 文字列 属性詳細型

評価形式

applicative

所属エージェント

gbmx

所属環境

Env0

説明

CSVの列をマトリックスのプロットデータ属性番号あるいは、マトリックスの次元に対応させる関数。対応表は、 field-opt-list で与えられるポインタに格納される。 プロトタイプ (1) はマトリックスフィールドデータの作業領域を生成し、これへのポインタを返す。プロトタイプ (2) は作業領域へのポインタ、 field-opt-list を指定し、ここへ、対応表を作っていく。

プロトタイプ (1) では、属性値としてマトリックス識別子 id のみが必要である。プロトタイプ (2) において必要な属性値の組み合わせは以下の通りになる。「必須」とあるのは必要な属性値であり、「x」は不要な属性値である。

表 属性値の必要性
id csv label dim merge-type
[1] (1) 必須 x x x x
[2] (2) 次元番号へ対応 必須 必須 x 必須 必須
[3] (2) 属性番号へ 一定値 必須 x 必須 x 必須
[4] (2) 属性番号へ CSV値 必須 必須 必須 x 必須


以下に使用例を示す。

[2]
<gmxPgPlotField id="^mtx" csv="A" merge-type="^mxPgTYPE_INT" dim="0">
  ^Fields ^mxPgFDIT_DD ^reso (* 180 reso) 0</gmxPgPlotField>
 



[4]
<gmxPgPlotField id="^mtx" csv="C" merge-type="^mxPgTYPE_STRING" label="5">
  ^Fields utf-8 ([quote type="direct"] '([field name="LABEL"] ($ ___convert)))</gmxPgPlotField>
[3]
<gmxPgPlotField id="^mtx" merge-type="^mxPgTYPE_RGBA" label="0">
  ^Fields 0 0xff000000</gmxPgPlotField>
[4]
<gmxPgPlotField id="^mtx" csv="D" merge-type="^mxPgTYPE_STRING" label="1">
  ^Fields utf-8 () test-http </gmxPgPlotField>
 

[1]は既にのべたように作業領域を生成する命令である。[2]については、座標値をCSVから取得する方法である。[3]はCSVによらず、一定値をどのプロットに対しても設定する方法である。[4]はCSVの値を加工し、プロットのある属性番号へわりあてる。
  • id
    マトリックスのIDを指定する。
  • csv
    csvの属性に対応する列の番号、A,B,C,....を指定する。このXML属性を省略することができる。
  • label
    [3],[4]のパターンで利用され、label XML属性はマトリックスの属性番号を指定する。csv XML属性にある列を、このlabel XML属性で指定されるプロット属性番号に対応される。csv XML属性が省略されているとgmxPgPlotFieldの要素データで与えられるデータ値が共通にすべてのプロットのlabel属性番号に保存される。
    label XML属性は省略可能であるが、dim XML属性とどちらかは存在している必要がある。
  • dim
    [2]のパターンで利用され、マトリックスの座標軸番号を指定する。マトリックスの本来の機能としては、マトリックスの次元-1までの値が指定できるが、plot-csv.xlは2次元マトリックスのみサポートしているので、0,1のいずれかが指定可能である。X軸は0であり、Y軸は1である。
    dim XML属性は省略可能であるが、label XML属性とどちらかは存在している必要がある。
  • merge-type マトリックスの詳細属性型を与える。
最後にgmxPgPlotFieldの要素データの与え方はmerge-type XML属性で与えたデータ型によって異なる。
  • mxPgNONE
    なし。
  • mxPgSTRING
    [作業領域へのポインタ] [保存文字コード名] [変換式] [初期化文字列:任意]
    [変換式] が () の場合、特にCSVのデータを加工せずそのまま属性値とする。 [変換式] がXL式で与えられる変換式として与えられていた場合、これによりCSVの値を変換した者を属性値とする。上記[4]の例がそれに相当する。___convertの部分に、CSVからの値が格納される。実際の変換は、CSVのテーブルを初めて引いたときに行われるので、この時点では、シンボル$は解釈されてはならないので、ダイレクトquateを施す必要がある。
    csv属性が指定されていない場合、 [初期化文字列:任意] が必要となり、この文字列が [変換式] に与えられ、一定値としてすべてのプロットの属性にセットされる。
  • mxPgINT_ADD mxPgINT_MAX mxPgINT_MIN
    [作業領域へのポインタ] [CSV中のデータ型] [変換解像度] [変換オフセット] [カウント] [初期化数値:任意]
    CSV内のデータは、まず、 [CSV中のデータ型] に示されるデータ型として認識され、それを倍精度浮動小数点として読み込む。 [CSV中のデータ型] の詳細は追って記述する。 読み込まれたデータは、 ( [読み込まれたデータ]x[変換解像度]+[変換オフセット])という式で変換され、変換値は端数切り捨てにより整数値となり、マトリックスの属性データあるいは、座標値となる。 [変換解像度] , [変換オフセット] は倍精度浮動小数点として与える。
    [カウント] はこの三つのデータ型では無視される。0をおいておけばよい。
    csv属性が指定されていない場合、 [初期化数値:任意] が必要となり、この数値が、上記変換に供され、一定値としてすべてのプロットの属性にセットされる。
  • mxPgINT_AVG
    [作業領域へのポインタ] [CSV中のデータ型] [変換解像度] [変換オフセット] [カウント] [初期化数値:任意]
    属性データの計算方法は、 mxPgINT_ADD mxPgINT_MAX mxPgINT_MIN と同じである。このデータとともに、 [カウント] も属性データとして保存される。二つの整数値のペアとなる。この型の場合、マトリックスの上位レベルへプロットをマージする場合、各プロットの平均をとり新しいプロットの属性値とする。その平均はこの [カウント] 重み付けで計算され、さらに、上位レベルにおける [カウント] は下位レベルの [カウント] の合計値となる。
    csv属性が指定されていない場合、 [初期化数値:任意] が必要となり、この数値が、上記変換に供され、一定値としてすべてのプロットの属性にセットされる。
  • mxPgRGBA
    [作業領域へのポインタ] [カウント] [初期化RGBA:任意]
    RGBAをCSVから取得し、プロットの属性へ割り当てる。16進数で与える場合は、0xff000000 のようにC言語と同じ書式となっているひつようがある。 [カウント] は、整数型の[カウント]と同様の働きをし、上位レベルの色を計算するときに、重み付けに使われる。0を指定すると、重み付けを行わない。

    csv属性が指定されていない場合、 [初期化RGBA:任意] が必要となり、この数値が一定値としてすべてのプロットの属性にセットされる。
整数型における[CSV中のデータ型] これに指定する値としては以下のものがある。
  • mxPgFDIT_INT
    CSVのデータ型は整数型である。(64bit整数)
  • mxPgFDIT_FLOAT
    CSVのデータ型は倍精度浮動小数点である。
  • mxPgFDIT_DD
    CSVのデータ型は緯度経度の十進小数点表記である。たとえば、135.50は135度30分となる。
  • mxPgFDIT_DDMMSS
    CSVのデータ型は緯度経度の60進表記である。たとえば、135.5012は、135度50分12秒である。


ページトップへ戻る

戻り値

mode ="meta"のとき、 gmxStatusリスト

mode 省略時、 XLT_RAW 型ノード情報。そのXLT_RAWの中身は以下のとおりとなっている。
  1. nlist_type 1byte
    子ノードリストのフォーマットタイプ。
    • 0:ビットフィールド型
    • 1:dim_code列挙型
  2. 子ノードリスト本体:ビットフィールド型の場合
    1. nlist_dim_bit_field_len
      ビットフィールドの長さ compressed_code64フォーマット整数
    2. nlist_dim_bit_field
      長さnlist_dim_bit_field_lenのビットフィールド。
  3. 子ノードリスト本体:dim_code列挙型の場合
    1. nlist_dim_addr_len
      列挙されるdim_codeの数 compressed_code64フォーマット整数
    2. dim_codes
      nlist_dim_addr_len個分のdim_code。各dim_codeは、compressed_code64フォーマット整数の列である。
  4. channel_data
    チャンネルデータ。 各チャンネルデータは以下の順番でフォーマット化されており、これが必要チャンネル数だけ繰り返される。
    1. id
      チャンネルのID compressed_code64フォーマット
    2. len
      チャンネルデータ本体の長さ。 compressedcode64フォーマット
    3. data
      データ本体。フォーマットは各データ型のフォーマットに基づく。

エラー

参考

バグ



ページトップへ戻る



  GLOBALBASEAI[v\[XE\tgEFAxvOSOURCEFORGE.JPQBĂ܂B SourceForge.jp SourceForge.net Logo