ENGLISH VERSION

GLOBALBASE PROJECT POWERED BY HIROHISA MORI
ホーム

GLOBALBASEとは? トピックス ダウンロード ドキュメント 実例とリンク
 
ver.B リリースノート
GLOBALBASEガイドブック
COSMOSマニュアル
LANDSCAPEマニュアル
開発情報
文献情報
GLOBALBASEマニュアル集 >> LANDSCAPEスクリプト・リファレンス・マニュアル >> LANDSCAPE スクリプト・リファレンス >> matrix.xl(マトリックス型画像フォーマット処理)
2007-12-28版

matrix.xl(マトリックス型画像フォーマット処理)

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

プロトタイプ

xl matrix.xl / mtx-status [mtx-filename]

xl matrix.xl - - / pnm-status [pnm-filename]

xl matrix.xl / create-mtx [mtx-filename] [width] [height]

xl matrix.xl / import-pnm [pnm-filename] [mtx-filename]

xl matrix.xl / export-pnm [mtx-filename] [pnm-filename]

xl matrix.xl / import-pnm-over [pnm-filename] [mtx-filename] [x-offset] [y-offset]

xl matrix.xl / import-dted1 [target-dir] [dted1-filepath] [bib]

xl matrix.xl / block [mtx-filename] [jpg-filename] [level] [x] [y]

xl matrix.xl / copy-mtx [mtx-src-filename] [mtx-dest-filename] [channelNo.] ....

xl matrix.xl / scan-network [mtx-filename] standard [start-warp-point-file] [end-point-x] [end-point-y]

xl matrix.xl / scan-network-offset [mtx-filename] standard [start-warp-point-file] [end-point-x] [end-point-y] [dim-code-level] [dim-code-x] [dim-code-y]

xl matrix.xl - - / leveling-mtx [mtx-filaname]

引数

[mtx-filename] マトリックスファイル名

[pnm-filename] PNMファイル名

[jpg-filename] JPEGファイル名

[dted1-filepath] DTED1形式ファイルのファイルパス

[bib] crdファイルのbib要素を抜き出したbibファイル

[width] 画像の横幅、ピクセル数

[height] 画像の縦幅 ピクセル数

[x-offset] 画像の保存開始位置。マトリックスファイルのx方向のオフセットピクセル数

[y-offset] 画像の保存開始位置。マトリックスファイルのy方向のオフセットピクセル数

[level] 画像の階層レベル

[x] 画像の座標位置 マトリックスファイルのx座標

[y] 画像の座標位置 マトリックスファイルのy座標

[mtx-src-filename] コピー元マトリックスファイル名

[mtx-dest-filename] コピー先マトリックスファイル名

[channelNo.] チャンネル番号または チャンネルフラグ

[start-warp-point-file] ワープポイントデータを保存したファイル。ワープポイントデータとは、COSMOSにて「編集」「場所情報をコピー」で得られるテキストデータ メニュー(編集メニュー)

[end-point-x] スキャンデータのおわりのX座標。[start-warp-point-file]で指定されるワープポイントデータのベース座標系の座標値。

[end-point-y] スキャンデータのおわりのY座標。[start-warp-point-file]で指定されるワープポイントデータのベース座標系の座標値。

オプション
  • create-mtxにおけるオプション
    default_color= [default_color] デフォルト0xffffffff
  • import-pnm-overにおけるオプション
    transparent= [transparent_color] デフォルト0xffffff
    leveling= on/off デフォルトon
  • scan-networkにおけるオプション
    meta= [bibファイル名]
    leveling= [on/off] デフォルトoff

環境

エージェント  xl , gbmx gbview

説明

マトリックスに関連した操作を行うスクリプト。現在対象としているのは、 8 bitRGB型の画像のみである。最初の引数が操作を表す。以下のように定義されている。
  • mtx-status
    与えられたマトリックスファイルのステータス情報を返します。詳細はマトリックスフォーマット仕様書を参照してください。 ステータスはXLスクリプトの戻り値となるため、標準出力を有効にしておく必要があります。
    % xl matrix.xl - - / mtx-status
    と - - を入れるのはそのためです。
  • pnm-status
    与えられたPNMファイルのステータス情報を返します。詳細はnetpbmのマニュアルを参照してください。
  • create-mtx
    与えられた大きさ(ピクセルサイズ)空のマトリックスファイルを生成します。参照するとすべて透明な画像と等価です。
    default_colorオプションには、書き込み前に概念上書き込まれていると仮定されている色を指定します。RGBAの32bitの値です。A=00 が不透明。A=FFが透明。
  • import-pnm
    与えられたPNMファイルを与えられたファイル名のマトリックスファイルに変換します。ピクセル数の大きさは同じ画像です。
  • export-pnm
    与えられたマトリックスファイルを与えられたファイル名のPPMファイルに変換します。ピクセル数の大きさは同じ画像です。
  • import-pnm-over
    現存するマトリックスファイル([mtx-filename])の一部に、与えたPNMファイル([pnm-filename])を埋め込みます。埋め込む位置は、[x-offset],[y-offset]で与えます。
    transparentオプションには、書き込まない色を指定します。RGBの24bitです。つまり、transparentで指定された色の部分はもともと書き込まれている色となります。このオプションを指定しないと、すべての色を上書きします。
    leveling=offオプションは、ver.B.b16.14で有効なオプションで、これを指定すると、階層化を行いません。インポートをまとめて行い、最後に階層化を行うときに便利です。
  • import-dted1
    DTED1形式ファイルを読み込み、16bit符号付き(2の補数表現)整数の2次元配列のマトリックスファイルと、それを参照する.crdをはじめとしたオブジェクトファイルを生成します。たとえば、以下のようなコマンドを実行します。
    
    xl matrix.xl - - / import-dted1 test 'area01/dted/*/*.dt1' bib.xl
     

    [dted1-filepath]は一連のDTED1形式ファイルが収まっているディレクトリまでのパスとファイル名までを含めたファイルパスで指定します。特にDTED1形式では、ファイル名とファイルを含むディレクトリ名は緯度経度を表しているので、この情報が欠かせません。ファイルパスで指定しないとエラーとなります。また、上記例では緯度経度に相当する部分にワイルドカードを使って複数のファイルを指定しています。
    [bib]に相当するbib.xlはworldfile-mtx.xlなどと同じ形式の書誌情報ファイルです。公開する情報の書誌情報を書き込みます。例えば、以下のような形です。
    
    <?xl version="0.1" encoding="EUC-JP"?>
    <bib xmlns:gb="xlp://isjhp1.nichibun.ac.jp:8080/gb_metadata">
       <gb:title type="text" data="Japan Ortho"/>
       <gb:creator type="text" data="Osaka City University"/>
       <gb:content.period type="W3C-DTF" data="2003-01-01 / 2003-01-01"/>
       <gb:issue.period type="W3C-DTF" data="2006-06-01"/>
       <gb:property type="gb-prop" data="photo"/>
       <gb:homepage type="URL" data="http://www.osaka-cu.ac.jp/"/>
    </bib> 

  • block
    マトリックスファイル[mtx-filename]の、与えた座標 ( [level] [x] [y])の位置のノードJPEG画像を取り出します。取り出した画像は、[jpg-filename]へセーブします。
  • copy-mtx
    マトリックスファイル[mtx-src-filename]と同一のヘッダ情報をもったマトリックスファイル[mtx-dest-filename]を生成し、[mtx-src-filename]内のすべてのノードについて、[channelNo.]で与えられたチャンネルのみをコピーします。[channelNo.]は複数指定可能です。
    生成したマトリックスファイルから、送信のみのデータを含んだマトリックスファイルを生成したいときには、
    
    % xl matrix.xl - - / copy-mtx srcfile.mtx destfile.mtx MF_SEND MF_SEND_VISU MF_SEND_FILE
     

    とするとよい。また、現在、matrix_RGB8.xlで定義しているチャンネルは、
    • 8 送信用ブロック(jpeg圧縮)
    • 9 非圧縮RGB画像
  • scan-network
    ネットワーク上の地図をスキャンし[mtx-filename]で指定した名前の一枚のマトリックス画像にする。
    スキャンの開始位置は、[start-warp-point-file]に示されるファイルに保存したワープポイントデータである。ワープポイントデータは以下のような形をしており、COSMOSの「編集」「場所情報をコピー」 メニュー(編集メニュー)で得ることが出来る。COSMOSでブラウズし、スキャンしたい画像を表示したあと、スキャンしたい解像度でスキャン開始位置をズームインし、このメニューを選択し、新しいファイルにペーストすれば、必要なワープポイントデータが得られる。
    
    <warp-point>
    	<tracking-time>197748854sec</tracking-time>
    	<title>China</title>
    	<type>2</type>
    	<query><OR>
    		<query qtype="URL" title="test-C118" id="0" active="off">
    			<URL>xlp://gbs2.itakura.toyo.ac.jp:8080/wakashima/C118/C118.crd</URL>
    		</query>
    		<query qtype="property" id="0" active="off">
    			<qualifier cond="part">xlp://isjhp1.nichibun.ac.jp:8080/gb_metadata 0 property () plot</qualifier>
    		</query> 
    		<query qtype="property" title="考古学" id="0" active="off">
    			<AND>
    				<qualifier cond="part">xlp://isjhp1.nichibun.ac.jp:8080/gb_metadata 0 property () base</qualifier> 
    				<qualifier cond="boundary">xlp://isjhp1.nichibun.ac.jp:8080/gb_metadata 0 content.period W3C-DTF ^"100-*-*.*.*:*:* / 300-*-*.*.*:*:*"</qualifier>
    			</AND>
    		</query> 
    		.......
    		</OR>
    	</query> 
    	<resolution>2.500000 </resolution> 
    	<rotate>0.000000 </rotate> 
    	<center>130.000000  0.000000 </center> 
    	<base>xlp://localhost:8080/test/China.crd</base> 
    	<layers>
    		<entry>xlp://localhost:8080/test/China.crd 256</entry>
    	</layers>
    </warp-point>
     

    matrix.xlスクリプトは、ワープポイントデータを読込み、ベース座標系を、base要素で指定される座標系にセットする。この座標系上で、 ワープポイントデータのcenterよそで指定される座標から、resolution要素で与えられる解像度でスキャンを開始し、[end-point-x],[end-point-y]で指定される座標でスキャンを停止する。 [end-point-x],[end-point-y]は、center要素の座標値より大きくなければならない。また、rotateは無視され、x軸方向、y軸方向と平行にスキャンを行う。
    query要素は、座標系の検索条件を指定するもので、この条件にあった座標系がすべて重ねられる。つまり複数の座標系をつなぎ合わせた大きな座標系をスキャンしたい場合によい。
    [mtx-filename]で指定されるマトリックスファイルには、スキャン開始位置が、マトリックスの (0,0) の位置に保存され、スキャン終了位置が、マトリックスのX,Y両ピクセル最大値の位置に保存される。
    なにもオプションがない場合は、セーブされたマトリックスは階層化されていないことに注意。 この時点でつなぎ合わされた画像をexport-pnmでデータをpnmに変換することは出来る。逆に、階層化の時間を節約してつなぎ合わせられた画像をつくることが出来る。
    階層化を行う場合には、最初にオプションとして、leveling=onを指定するか、または、オプションなしの実行のあと、matrix.xlのleveling-mtxを利用して階層化を行うことが出来る。階層化を行うとネットワークで公開可能なマトリックスを作ることができる。
    meta=[メタデータファイル名]を指定すると、crd,map,lstファイルを生成し、作業後、 makefile.xl を実行すればすぐに公開可能なすべての情報を生成する。metaオプションを指定すると、levelingは自動的にonになる。以下にメタデータファイル(bibファイル)の例をあげる。
    
    <?xl version="0.1" encoding="EUC-JP"?>
    <bib xmlns:gb="xlp://isjhp1.nichibun.ac.jp:8080/gb_metadata">
       <gb:title type="text" data="Japan Ortho"/>
       <gb:creator type="text" data="Osaka City University"/>
       <gb:content.period type="W3C-DTF" data="2003-01-01 / 2003-01-01"/>
       <gb:issue.period type="W3C-DTF" data="2006-06-01"/>
       <gb:property type="gb-prop" data="photo"/>
       <gb:homepage type="URL" data="http://www.osaka-cu.ac.jp/"/>
    </bib> 

  • scan-network-offset
    ネットワーク上の地図をスキャンし[mtx-filename]で指定した名前の一枚のマトリックス画像にする。ただし、scan-networkと異なるのは、スキャンしたデータを引数最後に指定する 次元コード の位置から保存する。
  • leveling-mtx
    ver.B.b16.14からのサポートです。 与えられたマトリックス[mtx-filename]を階層化します。たとえば、import-pnmなどで、階層化なしでマトリックスを合成した場合、その結果をあとでまとめて階層化するためなどで使います。
マトリックス型フォーマットはロングファイルに対応しています。ロングフォーマットを利用する場合はOSおよびファイルシステムにおいてロングフォーマットが許可されている必要があります。

今後、GLOBALBASEの初期の段階で採用していた、階層型ラスタフォーマットであるr64/crフォーマットおよび、階層型ベクタフォーマットであるpdbpフォーマットは徐々にマトリックス型フォーマットへと統合して行きます。



ページトップへ戻る

戻り値

エラー

参考

バグ

TrackingItem(2007-04-15-00)の影響を受けます。

ページトップへ戻る



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