プロットデータ編集機能のインストール
著者: 森 洋久 / joshua@globalbase.org ※ 中島 智人 / nakajima@zeta.co.jp / 株式会社ゼータ ※
*
概要
*
この作業の前提となるシステム用件
*
[ステップ1] vctファイルの選定
*
[ステップ2] vctファイルの設定
*
[ステップ3] gbviewの条件レイヤ設定確認
*
[ステップ4] gbviewの条件レイヤの設定
*
[ステップ5] gbviewの座標系識別子の設定の確認
*
[ステップ6] gbviewの再起動
*
[ステップ7] HTTP-GATEWAYの設定変更
*
[ステップ8] HTTP-GATEWAYの設定変更(レイヤの追加)
*
[ステップ9] HTTP-GATEWAYの設定変更(vctファイル選択メニュの追加)
*
[ステップ10] 最終確認
概要
ここでは、gbviewとHTTP-GATEWAYがインストールされているサーバにおいて、プロットデータの編集機能を有効にする手段を説明します。
▲
ページトップへ戻る
この作業の前提となるシステム用件
すくなくとも前項
「LOCALBASEのデフォルトのインストール方法(閲覧システムのみ)」が終わっていることが前提です。
また、編集対象のプロットデータのvctファイルがgbviewの動作しているサーバ上にある必要があります。
▲
ページトップへ戻る
[ステップ1] vctファイルの選定
編集対象のvctファイルを選びます。vctファイルの詳しい内容については、 [UNDEF REF (gb-data-structure)]を参照してください。ここでは、すでに存在し、COSMOSで閲覧出来ているvctファイルとその座標データを設定する方法を示します。vctファイルは空でも、何らか既にプロットデータが入っていてもかまいません。
選定したvctファイルはCOSMOSで閲覧する場合、そのファイルを直接指定することはありません。おそらく何らかの座標系ファイル ( 拡張子が.crd ) にvcctファイルは貼付けてあり、その座標系ファイルを指定することによってCOSMOS上で閲覧出来る仕組みになっています。ここではvctファイルのファイル名およびURLをsample.vct, xlp:/domainname:8080/samples/sample.vct とし、同様に座標系ファイルを、sample.crd , xlp:/domainname:8080/samples/sample.crdとします。この両者はマッピングされているはずですが、今回そのマッピングデータは関係ありません。
|
[メモ]
新規にvctファイルを作り編集したい場合は、vctファイル、crdファイル、それらをマッピングするmapファイルを作った上で、COSMOSで閲覧可能であることを確認し、次のステップへ進めば良いです。crdファイルは既存のすでに閲覧出来ているものを使い、ここに新たにvctファイルを作成し追加することも出来ます。 |
▲
ページトップへ戻る
[ステップ2] vctファイルの設定
選んだvctファイル、ここではsample.vctに、編集範囲と、編集用のスタイルシートを追加します。例えば、編集前のvctファイルは、以下のようになっています。
<?xl version="0.1" encoding="UTF-8"?>
<vector>
<meta>
<bib xmlns:gb="xlp://isjhp1.nichibun.ac.jp:8080/gb_metadata">
<gb:title data="福岡県郷土人形" type="text"/>
<gb:subtitle data="福岡県郷土人形" type="text"/>
<gb:creator data="東洋大学藤田研究室" type="text"/>
<gb:content.period data="" type="W3C-DTF"/>
<gb:issue.period data="2006-07-03" type="W3C-DTF"/>
<gb:property data="plot" type="gb-prop"/>
</bib>
<file type="xl"/>
<base-unit unit="degree"/>
</meta>
<mark img="http://www.zeta.co.jp/gbs/ajax/images/icon.gif"
code="2560"
name="2560"@valign="center"
halign="center"
transparent="#ffffff">
<point>130.244080 33.567089</point>
</mark>
......
ここに、編集範囲edit-mrと、編集用のset-schemeを追加すると、
<?xl version="0.1" encoding="UTF-8"?>
<vector>
<meta>
<bib xmlns:gb="xlp://isjhp1.nichibun.ac.jp:8080/gb_metadata">
<gb:title data="福岡県郷土人形" type="text"/>
<gb:subtitle data="福岡県郷土人形" type="text"/>
<gb:creator data="東洋大学藤田研究室" type="text"/>
<gb:content.period data="" type="W3C-DTF"/>
<gb:issue.period data="2006-07-03" type="W3C-DTF"/>
<gb:property data="plot" type="gb-prop"/>
</bib>
<file type="xl"/>
<!-------------------------------------------------------
編集範囲の設定 edit-mrタグによって、四隅の座標を与える。
-------------------------------------------------------->
<edit-mr>
((129.955948degree 32.965313degree )
(131.347168degree 33.884868degree ))
</edit-mr>
<!------------------------------------------------------>
<base-unit unit="degree"/>
</meta>
<!-------------------------------------------------------
編集用のスタイルシート set-scheme
-------------------------------------------------------->
<set-scheme scheme="general"
onmap="xlp://gbs1.itakura.toyo.ac.jp:8080/style/onmap.xl"
onmap.type="text/xl"
card="xlp://gbs1.itakura.toyo.ac.jp:8080/style/card.xl"
card.type="text/xl"
/>
<!------------------------------------------------------>
<mark img="http://www.zeta.co.jp/gbs/ajax/images/icon.gif"
code="2560"
name="2560"@valign="center"
halign="center"
transparent="#ffffff">
<point>130.244080 33.567089</point>
</mark>
編集範囲の設定は、vctの座標系上の座標範囲です。vctの貼付けてある座標系ファイル ( .crd ) 上の座標系ではないので注意してください。また、編集用のスタイルシートは、基本的にURL xlp://gbs1.itakura.toyo.ac.jp:8080/style/onmap.xl および、xlp://gbs1.itakura.toyo.ac.jp:8080/style/card.xlのみしか使えません。ここにある文字列をそのままカットアンドペーストすることをお勧めします。カットアンドペーストする文字列は以下の通りです。
<set-scheme scheme="general"
onmap="xlp://gbs1.itakura.toyo.ac.jp:8080/style/onmap.xl"
onmap.type="text/xl"
card="xlp://gbs1.itakura.toyo.ac.jp:8080/style/card.xl"
card.type="text/xl"
/>
[注意]
書き換えが終わったら必ず、
$ xl makefile.xl - -
を実行しましょう。 |
▲
ページトップへ戻る
[ステップ3] gbviewの条件レイヤ設定確認
httpagent.xlのgbviewの設定を確認します。編集対象のvctがLOCALBASEで閲覧可能になっているかどうかを確認します。sample.vctを直接的に確認すること出来ません。vctファイルが貼付けてある座標系、xlp://domainname:8080/samples/sample.crd が閲覧可能になっているかを確かめる必要があります。そのポイントとして、gbview設定のCondition要素の中に、xlp://domainname:8080/samples/sample.crd がヒットするための条件がセットされているかということにあります。例えば、
<URL>
xlp://domainname:8080/samples/sample.crd
</URL>
というように直接的にURLが指定されていれば問題はありません。その他にも時代やgb-propertyによる検索などで、間接的に閲覧可能になっている場合もありますので、注意が必要です。 もし、閲覧可能になっている場合は、
「gbviewの座標系識別子の設定の確認」へ進みましょう。閲覧可能でなかった場合は、すぐ次のステップに進みます。
[メモ]
httpagent.xl の中のgbviewの設定は、
<HttpAgent path="/gbgate/main.cgi"
remote="xlp://localhost:8080/@gbview/">
<HTTPSetup type="raw">
....
</HTTPSetup>
</HttpAgent>
という要素の部分です。remote="xlp://localhost:8080/@gbview/"がローカルホストのgbviewを駆動していることを示しています。 |
▲
ページトップへ戻る
[ステップ4] gbviewの条件レイヤの設定
sample.crdおよびsample.vctが閲覧可能となるための条件式をセットします。時代やgb-propertyで検索するなど複雑な検索条件の設定方法もありますが、たとえば、以下のようにURLで直接的に設定すれば確実です。
<URL>
xlp://domainname:8080/samples/sample.crd
</URL>
これを含めた全体の設定は以下のような形になります。
<Condition><quote>
<query qtype="URL" active="on" id="11">
<URL>
xlp://domainname:8080/samples/sample.crd
</URL>
<URL>
xlp://isjhp2.nichibun.ac.jp:8080/kokudo20000/coord/00.crd
</URL>
</query>
</quote></Condition>
条件式には、HTTP-GATEWAYから参照する識別子をつける必要があります。上記の例ではid="11"です。この数字は他の条件式と重複してはいけません。重複していないことを確認してください。
▲
ページトップへ戻る
[ステップ5] gbviewの座標系識別子の設定の確認
httpagent.xlの中の、座標系識別子の定義要素、Coordinateにxlp://domainname:8080/samples/sample.crdの定義があるかを調べます。Coordinate要素については、
XL関数(環境)(HTTPSetup:Coordinate (座標識別子定義))を参照してください。もし、
<Coordinate> 10
xlp://domainname:8080/samples/sample.crd
</Coordinate>
のような一行がある場合、この設定に編集用の設定を書き加えます。
<Coordinate> 10
xlp://domainname:8080/samples/sample.crd
xlp://domainname:8080/samples/sample.vct
/home/gbs-user/public/xldocs/samples/sample.vct
</Coordinate>
最初の文字列は、閲覧時に指定される座標系ファイル、次が、編集対象となるvctファイルです。最後のパスは、そのファイルが実際にサーバ上に存在する位置を絶対パスで与えます。
|
[注意]
gbviewは編集対象ファイルへ書き込むとき直接ファイルに書き込むため、gbviewが動いているサーバ上に編集対象ファイルはないといけません。 |
xlp://domainname:8080/samples/sample.crd の座標識別子の設定が無かった場合は、上記例のように新たにCoordinate要素を追加してください。その場合、識別子、上記の例では「10」が他の座標識別子と重複しないように注意してください。
▲
ページトップへ戻る
[ステップ6] gbviewの再起動
gbviewを再起動します。現在のところgbviewの再起動はGLOBALBASEサーバを再起動するしかありません。
$ /etc/init.d/launch-xl stop
$ ps -fA | egrep gbview
....... gbviewが終了しているか確認 ......
$ /etc/init.d/launch-xl start
GLOBALBASEサーバの起動/停止のスクリプトは機種によって若干ことなります。上記は、Linux, FreeBSD, Solarisのコマンドです。詳しくは、
文献「LANDSCAPEスタートアップ・マニュアル」を参照してください。
▲
ページトップへ戻る
[ステップ7] HTTP-GATEWAYの設定変更
基本的な考え方として、閲覧機能のみの設定状態であるclient_conf.xmlの内容を、サンプルディレクトリxlsamples/www/gateway/client_confs/client_conf2.xmlの内容へ移行すればよい。
閲覧機能に加えプロットデータ編集機能を立ち上げるためには、
-
プロットデータが閲覧出来るように、レイヤの追加を行うこと。
-
編集対象のvctファイル選択メニューを追加すること。
の2点を行います。特に2番目の編集対象のvctファイル選択メニューは新しいタグ、editableVctCtrlを利用しなければなりません。client_conf2.xmlのサンプルをコピーし、それを編集することをお勧めします。特にhtmlIdを変更することは、予期せぬ現象を招くのでサンプルを間違いなくコピーする必要があります。
|
[注意]
タグのhtmlIdはclient_confsディレクトリのサンプルと一致していること。むやみに変更すると予期せぬ現象を招きます。 |
▲
ページトップへ戻る
[ステップ8] HTTP-GATEWAYの設定変更(レイヤの追加)
HTTP-GATEWAYのclient_conf.xmlを編集し、gbviewで設定した条件式、座標系が閲覧可能にします。HTTP-GATEWAYでは、layerCtrl要素によって、gbview側の条件式を参照します。 [UNDEF REF (layer-setup)]の設定に従い、11番の例やが設定されているかを確認してください。例えば以下のようになります。
<layerCtrl htmlId="layers1">
<layer name="現代地図" id="1" visible="true">
<desc>現代の地図です</desc>
</layer>
<!---------------------------------------------------------
追加分
----------------------------------------------------------->
<layer name="編集対象のプロットデータ" id="11" visible="true">
<desc>編集対象のプロットデータです</desc>
</layer>
</layerCtrl>
|
[メモ]
すでに編集対象の座標系ファイルおよびvctファイルが閲覧可能になっている場合はlayerCtrlを変更する必要はありません。 |
▲
ページトップへ戻る
[ステップ9] HTTP-GATEWAYの設定変更(vctファイル選択メニュの追加)
次に同様client_conf.xmlの編集対象のvctを選択する選択メニューの追加を行います。
「HTTP-GATEWAYの設定変更」で説明されている、editableVctCtrl要素以下のみで十分です。 editableVct要素一つが、コンボボックスで選択出来る、編集可能なvctの一つに 対応します。information要素は、このeditableVct以下に入り、各vctごとに 別々の入力画面を表示する事が出来ます。
<editableVctCtrl htmlId="editableVctSelect1" >
<editableVct active="true" vctId="2" name="sample.vctプロット">
<mark img="images/icon.gif" transparentColor="0x3FFFFFFF" />
<information scheme="general">
<field name="県名" visible="off" media="off" />
<field name="地区名" visible="off" media="off" />
<field name="分類" visible="off" media="off" />
</information>
</editableVct>
<editableVct vctId="3" name="福島用プロット">
<mark img="images/icon.gif" transparentColor="0x3FFFFFFF" />
<information scheme="general">
<field name="県名" visible="off" media="off" />
<field name="地区名" visible="off" media="off" />
<field name="分類" visible="off" media="off" />
</information>
</editableVct>
</editableVctCtrl>
▲
ページトップへ戻る
[ステップ10] 最終確認
図 インストールされたプロット編集画面
|
以上の設定を行い、HTTP-GATEWAYのgateway/edit/main.htmlをWWWブラウザで参照してみます。gatewayの部分はコピー先のディレクトリで変化しますので、そのディレクトリ名を入力してください。画面に、
図(インストールされたプロット編集画面)に示すような画面が現れることを確認します。
また、ズームインしていき、sample.vctプロットのデータが現れることを確認し、編集用ベクタメニュで「sample.vctプロット」を選択したときに、問題なくプロット出来ることを確認します。プロットの仕方は、
文献「LOCALBASEユーザインタフェース・マニュアル」を参照してください。
▲
ページトップへ戻る