Subject: [ts-mag:00114] OpenGIS Mail Magazine for T.S.U 【第 319号】
Date: Mon, 15 Oct 2007 12:58:28 +0900
From: WAZA Toshihiko
OpenGIS Mail Magazine for Technical Support Users 2007/10/05
Keywords: OpenGIS,TNTmips,Multiply-Attached Element,Script,Label
オープンGIS
テクニカル・サポート専用メールマガジン
第319号「 スクリプトを使ったマルチレコードのアクセス 」
#################################################################
株式会社 オープンGIS
他のGISでは、ラスタ集計をどういう形で表現しているのでしょうか?
そもそもないのでしょうか? そんなことは、そんなことはないですね。
ラスタ集計とは、たとえば、グリッドなどのベクタデータで分類画像な
どのラスタデータをグリッド毎、クラス毎に集計する機能です。
分類画像のクラスに応じて、グリッド毎にこのようなヒストグラムや、
さらにそれを集約した統計データ(平均、メジアンなど)のテーブルが計
算されます。
ここでお見せした例では、ラスタがあらかじめ4つのクラスに分類され
ていて、1から4の値(Cell Value)を持っています。各グリッドについ
て最大4個のレコードで集計結果(Cell Count)があらわされます。
統計データのテーブルは、レコードとグリッド(ポリゴン)が1:1で、
GISでよく見る形です。
他方、最初のヒストグラムのテーブルでは、各グリッドに対する集計結
果が複数個のレコード(マルチレコード)で表現されています。図形と
レコードの関係が1個:1個ではないので、これを見てどうしてよいか、
正直分からないのではないでしょうか。
処理の方法としては、目的にもよりますが、
1)計算フィールドを使って、グリッドを識別するフィールドをヒスト
グラムテーブルに追加し、テーブル全体をCSV形式で出力して、表計
算ソフトで利用する。
2)テーブルの自然結合を利用して、グリッドを識別するフィールドの
あるテーブルとヒストグラムテーブルを横に結合(ジョイン)します。そ
の後、テーブル全体をCSV形式で出力して、表計算ソフトで処理する。
3)スクリプトを利用して、マルチレコードの各レコードにアクセスす
る。
などの方法があります。
今週は、ラベル表示のような比較的簡単な操作を例にして、スクリプト
を使ったマルチレコードへのアクセスについて解説します。
この考え方は、主題図の作成や他の処理をする場合にもそのまま応用で
きます。
・・・
はじめにお見せしたデータで、マルチレコードの中から"Cell Value" 3
に対する"Cell Count"のみをラベル表示したいと思います。
▼<ベクタレイヤコントロール>ウィンドウを開きます。
▼ [ポリゴン] タブを押します。
▼ [Dynamic Labels] で"スクリプトによる"を選びます。[指定] ボタン
を押します。
▼ 次のようにスクリプトを書きます。
↓スクリプトのダウンロードはこちら:
http://www.opengis.co.jp/sml/query/label.qry
スクリプトは各グリッドに対する処理を記述しています。
最初の SetNum 関数で、"HISTOGRAM" テーブルにおいて、各グリッドに
アタッチされているレコード数を数えて、変数 "n" に代入します。今の
場合、最大 4 ですね。
次のループで、レコードを順番にサーチします。HISTOGRAM[i] という書
き方で、各グリッドの i-番目のレコードにアクセスできます。
"Cell Value" が 3 の時の"Cell Count" を 変数"Value" に代入してい
ます。
ラベル表示する場合は、最後に printf(あるいはprint)関数を使います。
▼ ウィンドウを閉じ、ラベルのテキストサイズを調整します。
3番目のレコード(Cell Value == 3)の"Cell Count" がラベル表示され
ました。
・・・
マルチレコードについては、実は過去何回か解説しています。
メルマガ【第205号】「複数レコードへのアクセス」
http://www.opengis.co.jp/htm/kako_mail/mail_mag_205.htm
このメルマガでは、引数の使い方についても説明しています。グリッド
毎にカウント数の合計を求め、それを分母としてあるクラスの割合(%)を
計算するということもやっています。
この1:Nという形、柔軟ですが、かなり手ごわい相手です。
エラー・バグ・トラブル
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
○ テーブルの自然結合が、横方向に結合(ジョイン)されないで、縦方向
に結合(アペンド)される。
【エラー番号】PAT14870E - Natural Join operation gets all records
from two tables.
2007年10月10日以降の 2007:73で修正されています。
● フローティングライセンスで使用されている通信の種類やポート番号
についてご質問がありました。ここにまとめておきます。
・通信の種類: TCP
・使用されているポート番号: 27000-27009 (lmgrd デーモン用)
ランダム*(lmdmcrimgs デーモン用)
・通信の方向: 両方向
ランダム* について。マイクロイメージによると、サーバのtntprod.lic
ファイルのUSE_SERVERの後の行に、
VENDOR lmdmcrimgs port=65123
と挿入することによって、固定することができるとのことでした。
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
機能要求
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
● カシミール3D の Waypoint+ファイル を TNTmips にインポートでき
るようにしてほしい。
http://www.tapr.org/~kh2z/Waypoint/
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
■■■■■■■ 現 在 の T N T m i p s の 価 格 ■■■■■■
・TNTmips シングルライセンス 890,400円(送料・税込)
・TNTedit シングルライセンス 537,600円(送料・税込)
・TNTview シングルライセンス 81,900円(送料・税込)
・TNTmips 年間バージョンアップ(年1回分) 147,000円(税込)
・OpenGIS 年間テクニカルサポート 94,500円(税込)
◇ HASP-USB キーへの交換 19,950円(税込)
http://www.opengis.co.jp/htm/catalog/tntinfo/tntinfo_fixed_license.htm
※交換に際して、お持ちのTNT製品が最近のバージョンである必要があり
ます。
◆ 特別アカデミックライセンス(SAL)のご紹介
http://www.opengis.co.jp/img/info/SAL_price.pdf
<買取>と<レンタル>の2種類があります。
◇『TNTlite日本語解説セット』V72版 好評販売中!!
(プログラム及びサンプルデータCD付き)
<目次>
1.空間データの表示
2次元データの表示
3次元鳥瞰図の作成
2.衛星データの取り込み
3.ジオリファレンス
地図画像への座標情報付与
衛星画像への座標情報付与
4.GPSデータの取り込み
5.標高データの解析
陰影図の作成
断面図の作成
勾配・斜面方位の演算
http://www.opengis.co.jp/htm/info/book.htm
☆ 新たな項目を追加して、V73 用に改訂中です。
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
困ったときの問題解決フローチャート
▼STEP1「ウェブサイトで検索してみる」
▼STEP2「ウェブサイトにある情報を眺めてみる」
▼STEP3「ドキュメントを読んでみる」
▼STEP4「メーリングリストへ聞いてみる」
▼STEP5「テクニカルサポート」
STEP1 「ウェブ検索テクニック」
▽オープンGIS検索システム
http://www.opengis.co.jp/htm/namazu.cgi
▽メールマガジン検索システム
http://www.opengis.co.jp/mail_mag/namazu.cgi
▽マイクロイメージ検索サイト
http://www.microimages.com/search/
▽Google 検索
http://www.google.co.jp/
とくに、and検索(キーワードの間に空白)、not検索(キーワードの前に
- や not を入れる)、とは検索(キーワードの後ろに "とは" をつける)
を使いこなすと、便利です!
STEP2 「ウェブサイトの有用な情報源」
▽オープンGIS ウェブサイト「基本操作」
http://www.opengis.co.jp/htm/basic/title.htm [日本語]
▽オープンGIS ウェブサイト「メニュー解説(Flash)」
http://www.opengis.co.jp/flash/index.htm [日本語]
▽オープンGIS ウェブサイト「SML スクリプトの解説」
http://www.opengis.co.jp/sml/sml_index.htm [日本語]
▽オープンGIS ウェブサイト「作業で必要となる情報を集約したポスター類」
http://www.opengis.co.jp/htm/gallery/index.htm [日本語]
▽オープンGIS ウェブサイト「メルマガバックナンバー」
http://www.opengis.co.jp/mail_mag/index.htm [日本語]
STEP3 「ドキュメントを読んでみる」
▽オープンGIS ウェブサイト「その他ドキュメント一覧ページ」
http://www.opengis.co.jp/htm/documents.htm [日本語]
▽オープンGIS ウェブサイト「チュートリアルテキスト&リモセンテキスト」
http://www.opengis.co.jp/htm/info/book.htm [日本語]
▽マイクロイメージウェブサイト「ワンポイントテクニック集」
http://www.microimages.com/didyouknow/ [英文]
▽マイクロイメージウェブサイト「TNT入門(Getting Started)」
http://www.opengis.co.jp/htm/getstart/getstart.htm [日本語]
http://www.microimages.com/getstart/ [英文]
▽マイクロイメージウェブサイト「リファレンスマニュアル」
http://www.microimages.com/refman/
STEP4「メーリングリストへ聞いてみる」
メーリングリストに参加されたい方は、
info@opengis.co.jp までご連絡ください。
弊社からの対応は バグ対応と、新製品告知のみになります。
STEP5「テクニカルサポート」
テクニカルサポート・ユーザー専用 メールアドレス
############# このメールマガジンの配信について ################
このメールマガジンは、
年間テクニカル・サポートに加入されている、
ユーザーさまのみを対象としております。
基本的には、登録アカウント1つに対して
1ユーザーを配信対象としておりますが、
例えば、研究室の予算で加入された場合などは、
ご購入いただいた指導教官と、実際に TNTmips で作業を行う学生1名の、
計2ユーザーを対象として配信させていただきます。
1アカウントに対して合計3名以上の配信は行いません。
学生さん2名が同じくらい使用する場合は、
申し訳ありませんが、じゃんけん等で1人に決めてください。
また、テクニカル・サポートの期限を3ヶ月以上過ぎてしまった場合は、
メールマガジンの配信を停止させていただきます。
メールマガジンが配信されなくなった時は、
サポート期限が3ヶ月過ぎたとお考えください。
転勤、ドメイン変更などでメールアドレスが変わった場合は、
お手数ですが、弊社までご連絡ください。
テクニカル・サポート活用案内
>サービスその1:緊急なバグ情報はすぐにメール配信します。
>サービスその2:TNTmips に関するどんな質問にも TEL/e-mail/FAX で
対応。
>サービスその3:対応は最優先で行います。
>サービスその4:専用FAX質問用紙をお送りします。
>サービスその5:週に1回メールマガジンを配信します。
>サービスその6:展示ブースへご来場の方には特製オリジナルグッズを
進呈。
>サービスその7:サポート対応で FTP サイトを 5 GB まで利用できま
す。
>サービスその8:メルマガ・バックナンバー・サイトも利用できます。
>サービスその9:FTP サイトを 5 GB に拡張しました...
>サービスその10:現在計画中です...
テクニカル・サポート・ユーザー専用 メールアドレス
テクニカル・サポート・ユーザー専用 FTPアカウント(最大容量5GB)
●テクニカルサポート用にスカイプのIDを用意しました。
テスト利用のためオフライン時は、申し訳ありませんが使用できません。
============ おことわり =============
※OpenGIS Mail Magazine for T.S.Uでは、
TNTmipsに関わる新しいニュースを、
毎週金曜日に、皆さまへご提供させていただきます。
※このメールマガジンの転載・転送はご遠慮ください。
================================