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に関わる新しいニュースを、 毎週金曜日に、皆さまへご提供させていただきます。 ※このメールマガジンの転載・転送はご遠慮ください。 ================================