2012128日改訂

2001525

教育・研究・市民アセスメント用空間情報システム

「みんなでGIS」 Minna de GIS

 

小池文人

koikef@orange.ocn.ne.jp

http://www13.ocn.ne.jp/~minnagis/

Copyright (c) 2001-2012, Fumito Koike

 

ダウンロード  2012128改訂版

プログラムとマニュアル,システムファイルのンストーラー(初めてのとき,6.3 MB) 

プログラムとマニュアのみ(いったん上記でインストールが必要,4.1 MB) 

いったんSETUPプログラムでインストールしてください.このときユーザー名に2バイトの漢字や仮名などが使われていると正常にインストールできません.うまくいかなときは,英文名のユーザーを作ってインストール後に削除するとか,手作業でMSCOMM32.OCX等のファイルをシステムフォルダにコピーする,などの方法があります.

 

 

目次

1.はじめに

 1.1 地理情報システムについて(GIS, Geographic Information System

 1.2 「みんなでGIS」の方針

 1.3 システムの概要

 1.4 作業の進め方

 1.5 使用条件

 1.6 必要なパソコン

 1.7 予約されている変数名やファイル名

 

2.使い方の解説

 2.1 インストールと起動

 2.2 変数名の変更や,座標が数値として得られている場合のファイル作成

 2.3 [経緯度電卓]

 

 画像ファイルに出力

 2.4 画像ファイルに書き出す (RV→画像)

 

 データ入力編集・空の図形の発生

 <データ入力・編集>

 2.5 地図や空中写真の画像のとりこみ (画像→R

 2.6 地図や写真上の地点や領域などをマウス入力 (R→V

 2.7 GPSなどの緯度経度の地点データの一括読み込み (外部→V

 2.8 プローブ用のデータ発生 (→RV

 2.9 投影方法を変更しながら画像読込(古い5万分の一地形図など) (画像→V

 

 <市販・公共データの読込>

 2.10 50mメッシュ標高データ「数値地図50mメッシュ(標高)」の読込 (市販→V

 2.11 10mメッシュ標高データ「GISMAP Terrain」の読込 (市販→V

 2.12 世界30秒メッシュ(約1km)標高データ「GTOPO30」の読込 (市販→V

 2.13 1kmメッシュ気候統計値の読込 (市販→V

 2.14 土地利用図「細密数値情報(10mメッシュ土地利用)」の読込 (市販→RV

 2.15 土地利用図「細密数値情報(10mメッシュ土地利用)」の読込 広域の集計(市販→R

 2.16 全国植生調査3次メッシュデータ(1kmメッシュ)の読込 (市販→V

 2.17 数値地図2500(空間データ基盤)町丁目・道路・鉄道・水域等の読込 (市販→V

 2.18 2万5千分1地形図地図画像「数値地図25000(地図画像)」の読込 (画像→R

 2.19 2万5千分1地形図の市販CD画像の色を紙地図的に変換 (RR

 

 

 属性値の計算とファイル統合

 <ファイルの統合と変数の演算>

 2.20 ラスタ変数の演算と統合 (RR

 2.21 ベクトルファイルの統合 (V・外部→V・外部)

 2.22 ベクトルファイルの変数の演算 (VV

 2.23 ベクトルファイルのリストを表に変換 (VV

 2.24 ベクトルファイルの表をリストに変換 (VV

 

 <属性値の空間的な集計>

 2.25 図形が最近接する他の図形やセルの属性値を取得 (RVV

 2.26 一定距離内の図形やセルの属性値を集計して,図形に付与 (RVV

 2.27 一定距離内の図形やセルの属性値を集計して,セルに付与 (RVR

 

 かたちの情報の変換と計算

 <図形と座標の操作>

 2.28 等値線作成と領域を多角形として取得 (RV

 2.29 ベクトル図形のタイプの変更 (VV

 2.30 座標軸の平行移動と回転 (RRVV

 2.31 個々の図形の平行移動と回転 (VV

 2.32 図形を属性値で指定した数だけコピー (VV

 

 <幾何特性の計算>

 2.33 図形の幾何的な特性を計算 (VV

 2.34 図形間の距離 (VV

 2.35 不均一環境での図形間の時間距離 (VWVW

 

 <pointとラスタのあいだの高速な変換>

 2.36 point地点のラスタ情報を収集 (RV

 2.37 point地点のデータを補間してラスタに (VR

 

 <属性値から図形を作成>

 2.38 属性値を座標とするpointを作成 (VV

 2.39 属性値を中心座標や半径とする円形のpolygonを作成 (VV

 

 その他・応用プログラム

 <統計>

 2.40 属性値によるサンプル(図形)の自動分類 (座標づけ分割法) (VV

 2.41 個体数の期待度数との差の検定 (カイ2乗検定) (V→)

 2.42 最大値回帰 (V→)

 2.43 図形の再サンプリング (VV・外部)

 2.44 ロジスティック回帰 (V→)

 2.45 領域の統合型クラスター回帰 (VV

 2.46 外来生物の侵入順序解析 (VV

 2.47 図形間距離の尤度分布から地図再構築 (特殊→V

 2.48 頻度からの尤度による傾度分析 (外部→特殊)

 2.49 一対比較による傾度分析 (外部→)

 

 <個体群動態>

 2.50 個体群の拡大過程(メタ個体群のシミュレーション) (VV

 2.51 外来種の空間的な最適制御戦略 (VV

 2.52 種子散布カーネルを求める (V→)

 

 <地形環境>

 2.53 地形データをもとにした日射量の計算 (RR

 2.54 地形データをもとにした集水量の計算 (RR

 

 <野外調査支援>

 2.55 ラインセンサスの座標計算 (外部・VV

 

3.使用例

 3.1 地図上の任意の位置の座標(平面直角座標)を調べる

 3.2 ラスタデータ(画像,メッシュ値)からベクトルの格子データへの変換

 3.3 ベクトルの格子データからラスタデータへの変換

 3.4 生物の生育環境の解析と分布予測図の作成(GAP分析など)

 3.5 細切れに撮った写真や分割してスキャナ入力した画像を1枚に貼合わせる

 3.6 空中写真を使った植生のタイプ分け(自動分類)

 3.7 空中写真を使った地被のタイプ分け(トレーニングエリア)

 3.8 いくつかの地点で測定した気温のデータから地域全体の気温分布図を描く.

     あるいは測量結果からDEMをつくる.

 3.9 等高線が描かれた紙の地形図からメッシュ高度データ(DEM)を作成する

 3.10 土地の傾斜の計算や,画像のエッジ検出など

 3.11 生物のマッピング結果から重要な地域を検出する

 3.12 干潟や湖沼の浮葉植物の分布を調べる

 3.13 汚染物質の拡散予測

 3.14 生育地保全のための集水域の重要度評価

3.15 GPSを使用して森林で樹木の位置をはかり胸高直径を円の大きさ,雌雄を色で表示

3.16 GPS測定地点からの距離と方位で植物のマッピングをしたとき

3.17 長方形の調査地の原点でGPSによって緯度と経度を計った

3.18 スクリーントーンを貼ったように見える地図をつくる

 

4.データ構造

 4.1 ベクトル・ファイル(図形)

 4.2 ラスタ・ファイル(画像・メッシュ値)

 

5.空中写真や地図の入手先,情報源など

6.謝辞

7.Q&A

8.プログラムの改訂履歴

 

 

 

目次の項目の後のカッコ内の矢印は,処理前と処理後のデータの形式を示す.

   R ラスタ・ファイル(画像・メッシュ値)

   V ベクトル・ファイル(点,折線,多角形などの図形)

   画像 24bitカラーのWindowsビットマップ・ファイル

   市販 市販データ

   外部 変数名を先頭行に置いたCSVファイル

 


 

1.はじめに

 

 市民参加で地域の自然を調べる試みが広がっている(浜口哲一著,生きもの地図が語る街の自然,岩波書店http://www.iwanami.co.jp/.BOOKS/00/7/0066610.html).また,生態学の研究でも景観生態学の発展で,景観を意識しない研究は難しくなっている(生態学での「景観」は畑や森などの異質の環境がモザイクのように混在したもので,造園分野での見た目の「景観」とは全く意味が異なる.ただし景観生態学の研究は生態学会だけでなく造園学会でもさかん).ところが調べた結果を解析したり,結果を表示するのに適当なソフトウェアはあまりない.市販のGISシステムは特殊な業務用のソフトとして位置づけられているため基本的なもので30万円もしていて,逆に安価に配布されているものでは表示中心で解析のできないものもある.そのため簡単なGISシステムを自作してみた.

 

 

 

1.1地理情報システムについて(GIS, Geographic Information System

 GISと呼ばれているソフトにもさまざまなものがある.ひとつはラスタ・データで表現される画像処理や地形処理を得意とするもので,Unixで使える無料のGrasshttp://www.baylor.edu/grass/)や,非営利団体が管理していて比較的安価なIDRISIhttp://www.clarklabs.org/)などが有名である.他方では多角形などの図形のベクトル・データを得意とするものもあり,市役所などで土地登記情報の管理や道路工事での地下の配管情報の管理,企業の商圏の解析などに使われている(http://www.gis.pasco.co.jp/).また統計解析が得意なソフトもある(http://www.msi.co.jp/splus/tips/spatial/frame.html

 「空間データを扱う」というのがGISの共通点で,データの入出力と編集に関しては共通である.しかし実際に行う処理は分野によって全く違っている(たとえば登記簿管理と地形の浸食速度の推定,など).実際に利用できる解析手法は各システムごとに違っていて,万能のGISシステムは存在しない.利用者の少ない分野の解析手法が汎用のGISシステムに組み込まれる可能性は低く,仮にオプションとして利用可能であってもきわめて高価なものになる.そのため生態学研究者は,少なくとも現在の時点では,自分の研究のためにプログラムを自作する必要がある場合も多い.(ちなみに,長い歴史があって利用者も多いと思われる研究用の統計ソフトやグラフ作成ソフトにしても未だに決定版はない点から考えると,マイナーな機能が将来的に汎用GISシステムに組み込まれることは期待できない.)

 今後は,(1)GISの自作があるていど広まり,(2)さまざまなフリーやシェアウェアのソフトが現れ,(3)それぞれの分野ごとに「本当に必要な機能は何か」というコンセンサスができてゆき,(4)このコンセンサスをもとにソフトの機能が収斂し,(5) フリーやシェアウェアの中から次の世代のスタンダードとなるソフトが現れる,というような経過をたどるのではないだろうか.ちなみに「みんなでGIS」はスタンダードを目指さないが,さまざまな機能を提案することで,必要な機能のコンセンサスが成立する過程に貢献できればよい.

 なお,海外のフリーのGISソフトやツールなどの情報を集めたサイトもある(http://www.freegis.org/index.en.html).GISに関するサイトのリンク集である「GIS school http://gisschool.csis.u-tokyo.ac.jp/)」や,国産のいくつかのフリーGISの紹介をはじめとして,いろいろな情報が充実している広島大学総合科学部自然環境科学講座のサイト(http://home.hiroshima-u.ac.jp/er/soft.html)も役立つ.日本地図センターでは販売する地図データを利用できるソフトの一覧表を公開しているが,このリストが日本のGISソフトの一覧表にもなっている(http://www.jmc.or.jp/soft/list/allsoft.html)

空間生態学についての簡単な総説はこちら

 

 

1.2 「みんなでGIS」の方針

1.     自分が集めた範囲のデータを自分で自由に解析するための,小規模で自由なソフトを目指す.大きなデータベースと連携した処理や定型的な業務上の処理は想定しない.

2.     なるべく簡単なソフトにして,解析では他の表計算ソフトや統計ソフトなどを最大限使う

3.     人間がデータをエディタや表計算ソフトなどで直接書けるように,人間可読のデータとする

4.     管理が簡単なように,ひとつのファイルでデータが完結するようにする

5.     直交座標を使い,座標系は中学の数学と同じにする(画面の左上隅が原点になるパソコンの画面座標とは上下が逆になる).表記だけの問題だが,書物やふつうの緯度経度からの座標変換プログラムでは,都市計画図の平面直角座標は北がxで東がyとして表現されていて,xとyが逆なので注意が必要.裏返しになっているので回転しても重ならない).

6.     野外の生物の成育場所の解析を中心的な目的にする(他の目的にも使えるが)

 

 

 

1.3 システムの概要

 データはコンマ区切りのテキストであるCSV形式で,図形(ベクトル・データ)と画像などの面的なデータ(ラスタ・データ)は別のファイルになる(図1).

 基本的な図形(ベクトル・データ)には点を表すpoint,折線を表すline,多角形を表すpolygonがあり,さらに折線を組み合わせた木の形のtreeは河川などを,多角形を組み合わせたareaはドーナツ状の地域を表現する.図形ごとに属性値(図形が生物の生育地のハビタットであるとすれば,生物の種類や個体数などの情報)を持つ.polygompointなどの異なったタイプの図形をひとつのファイルに含むことができる.

 画像などの面的なデータ(ラスタ・データ)は属性値の表(行列)になる.カラーの画像では3原色のred, green blueの3つの属性変数を含むが,さらに多数の変数をひとつのファイルに含むこともできる.

 地図上で物差しで測定した座標や,GPSなどで測定した座標値は,Excelなどを使ってデータのファイルに直接書き込む.スキャナで取り込んだ地図の画像や空中写真は,座標が既知の地点をコントロールポイントとして座標変換し,ラスタ画像に取り込む.地図や写真の上に書き込まれた位置や図形は,いったん画像をラスタ・データにした後で,それを背景に表示しながらマウスで位置を入力することができる.

 図形間の距離や,図形の周辺の属性値の収集,図形の面積などを求める計算ができる.また不規則な測定地点での実測値を補間して地域全体での分布を見たり,数地点の測量結果から地形全体の標高のメッシュデータ(DEM)を作成することができる.データはCSVファイルなのでExcelを使った図形の属性値の処理や画像処理,他の統計ソフトの利用,自作プログラムでの処理,などができる.

 結果を画像として利用する場合はWindowsBMP形式(ウィンドウズ・ビットマップ)で保存し,他の写真レタッチソフトで印刷する.BMP形式では用紙1 mあたりの画素(ピクセル)数をファイルの先頭にあるヘッダ内に指定できるので,アドビ社(http://www.adobe.co.jp/main.html)のPhotoshop Limited Editionなどの数千円程度の安価版のソフトを使えば地図の縮尺も正確に印刷できる.縮尺を生かして印刷できるソフトは意外に少ないが,とても高価なPhotoshopのフルセットは必要ない.ちなみにWindows標準添付のペイントブラシでも印刷はできるが,縮尺は反映されない.

 地理的な座標には,日本全国を19の地域に分割して横メルカトル図法で計算した「平面直角座標(19座標)」か,地球全体を南北の短冊切りにした横メルカトル図法のUTM座標を使うのがよいとおもう.国土地理院の1:250001:50000地形図はUTM座標であり,それより詳細な国土地理院の1:10000地形図や市役所などで販売している1:2500都市計画図(地形図),営林署で販売している国有林の1:5000地形図などは平面直角座標を使っている.平面直角座標を使っている地図は外枠に座標値をkm単位で記載していることが多い.

図1.1 システムの概要

 

 

 

1.4 作業の進めかた

1.     まず,何をやりたいのかを明らかにしておく.どんな出力結果がほしいのか,どんな解析をしたいのか.

2.     あらかじめ処理の手順を考えておく.どんなデータを元に,どんな処理を組み合わせるか.「みんなでGIS」はなるべく一般性の高い単純な道具で構成するように心がけているので,基本的な処理を柔軟に組み合わせて工夫しながら,必要な処理を実現することになる.

3.     なるべく頻繁に画像ファイルに出力したり,データファイルをExcelでみたりして,データを確かめながら作業を進める.

4.     紙の上に鉛筆で略図を書いたり,座標値のメモをしながら作業を進めるとよい.座標を入れて図を描く場合には方眼紙にレイアウトしてみることも有効.

5.     座標系(平面直角座標かUTMか,日本測地系か世界測地系か)は作業を始める前にあらかじめ決めておく.入手可能なデータと(現在はまだ日本測地系のデータが多い),最後に出力する地図から総合的に判断する.最後の出力結果を国土地理院の2万5千分の一地形図に載せるならUTMだが,それ以外の場合は基本的に平面直角座標がよいと思う.ただし,等高線の入った背景地図はDEM(メッシュ標高データ)をもとに自分で作った方がよく,この場合は座標系を自由に選べる.生態学関係の学術雑誌では市販の地図にデータを表示したものは掲載してくれないことが多く,以前は等高線を自分でトレースしていたが,GISを使ってDEMから作るととても楽だ.

 

 

作業用のメモの例

GISに取り込む必要のある座標の範囲や必要な解像度などを決める

 

 

 

1.5 使用条件

 使用者は研究者や市民を想定しています.意図しないデータの消失やプログラムのバグがあるかも知れませんが,損害は補償できないので自己責任での使用をお願いします.なお,普通の市販ソフトと違って,既存のファイルに上書きする場合も警告を出していません.

 このシステムを使用してレポートや論文を作成した場合は,その旨を文中に記載・引用しておいてください.

 このプログラムは他に再頒布せず,次のサイトからダウンロードしてください.http://www13.ocn.ne.jp/~minnagis/

 

 

 

1.6 必要なパソコン

 VisualBasic6.0で作成したアプリケーションなので,Windows9598, NT4, 2000, XP, Vista64ビット版も)などで利用できる.Windowsのエミュレータでも動くものがあるかも知れない.

 ハードウェアはXGA解像度(1024×768) 以上のディスプレイ, 1 GHz以上のできるだけ高速なCPUと高速のメモリ・アクセス,256MB以上のメモリ(512MBくらいあれば標準的な区市町村全体を10mメッシュで解析できる),インストール用に最低5MB程度のHDD,が必要.CPUが遅くてもメモリーアクセスが早いほうがよい.

 ただし速いマルチコアのCPUと4GB程度のメモリ,解像度1280×1024以上のディスプレイがあればたいへん快適になる.HDDは,画像を含めてデータがテキストファイルであるため,データを置くには大きな容量が必要だが,圧縮フォルダにしておけば圧縮率はとても高いので小さなドライブでも十分である.

 なおプログラムの処理中なのにタスク・マネージャのCPU利用率が低くハードディスクへのアクセスが続くのは,メモリが不足している状態である.一般的にはCPUの能力よりもメモリ量が制限要因になる場合が多いと思われる.

 なおA4サイズ程度のスキャナなどの画像入力の手段やExcelGS-calcなどの表計算ソフト,結果を正確な縮尺で印刷するためのPhotoShop Limited Editionなどの安価な写真レタッチソフトも必要になることが多いと思う.Excel は巨大な表を扱えるようになった2007版以降が良い.A0サイズなどの大きな地図のスキャナ入力は町のプリントショップ(大きな図面のコピーをやってくれる店)に依頼すれば,1枚500円〜800円程度で入力してCDにいれてくれる.

 

 

 

1.7 予約されている変数名やファイル名

このシステムの中では以下の変数名は使えない.ここでは大文字・小文字は区別されない.

type$, name$, NodeNum

 

「みんなでGIS」を起動時のカレント・ディレクトリ(ふつうはプログラム本体のMinnaGIS.EXEがあるディレクトリや,ショートカットのプロパティで指定した作業フォルダ)に以下の名称のファイルをおくと一時ファイルやログファイルに使われるため,無条件に書換え・削除されます.

temp1.tmp, temp2.tmp, temp3.tmp, temp4.tmpなど, bmp1.bmp, RasterFileSize.log, VectorFileSize.log, tmpPointList.txt, tmpParamList.txt, BmpLoad.log.csv

 


 

2.使い方の解説

 

2.1 インストールと起動

WindowsXPVistaに初めてインストールする場合

1.     SETUPプログラムでインストールする場合は,Windowsの管理者としてログインする.またこの場合,Windowsのユーザー名に漢字や仮名などの2バイト文字が入っていると正常にインストールできないので,そのばあいは半角文字の管理者権限のユーザー名(Administratorなど)を使う.2バイト文字で作成したユーザーを後から半角英数名に改名した場合も,ホーム・ディレクトリ名は2バイト文字のままなのでインストールできない.(2バイト文字のユーザー名でインストールできないのはMicrosoft社のディストリビューション・ウィザードの問題)

2.     いったんSETUPプログラムでインストールしておけば,その後の使用や改良版のインストールでは上記の制限はない.

3.     ダウンロードした解凍ファイル(instgis.zip)を解凍する.なかのファイル名は以下の通り.
MinnnaGIS.EXE
               プログラム本体
setup.exe
                  セットアップ用のプログラム
SETUP.LST
               セットアップ用の設定ファイル
MinnnaGIS.CAB
               必要なプログラムが入っている圧縮ファイル
manual.pdf
                 マニュアル(アクロバットリーダーで読む)
VectorSample.csv
               ベクトルファイル(図形)のサンプル
RasterSample.csv
              ラスターファイル(画像,メッシュ値)のサンプル
auxfile.csv      
              外部ファイル(統計ソフト等)のサンプル
都道府県vector.csv            日本地図のサンプル.座標系は内部のコメント参照

4.     setup.exeをダブルクリックしてセットアップする.圧縮ファイルに入っていたMinnaGIS.EXEが適当なディレクトリにコピーされ,VisualBasicのランタイムとしてVB6JP.DLLRS-232CをコントロールするためのMSCOMM32.OCX MSCOMJP.DLLがシステム・ディレクトリにコピーされる. WindowsXPではVB6JP.DLLを入れる必要はないがMSCOMM32.OCXMSCOMJP.DLLをコピーする必要があるため,必ず一度はSETUPプログラムでのインストールを行う.またインストール作業を一旦行なっておかないと文字化けが起きる.

5.     プログラム本体はMinnaGIS.EXEである.いったんインストールすれば(すなわちVB6JP.DLLMSCOMM32.OCXなどがWindowsディレクトリにコピーされれば)MinnaGIS.EXEを他のディレクトリに移動しても動く.

6.     効率よく仕事を行うには,(a)データのあるディレクトリにMinnaGIS.EXEをコピーしてデータといっしょに置くか,あるいは,(b) MinnaGIS.EXEのショートカットをデータのあるディレクトリなどの適当な場所に作製して,ショートカットのプロパティの[作業フォルダ]をそのディレクトリに書き換えておく,などのどちらかの対応をしておくと以後の作業が楽である.修正プログラムの再インストールを考えると(b)がおすすめ.

7.     上記3番で作製したショートカットか,データのあるディレクトリのMinnaGIS.EXEファイルをダブルクリックするとプログラムを起動できる.

8.     インストールが終わったら,とりあえず標準添付のデータを[画像ファイルに出力]してみると良いかもしれない.VectorSample.csvはファイルを指定して[読込]してから「変数1」を赤緑青のどれか(複数でも良い)に割り振って指定し,[実行]する.RasterSample.csvはファイルを指定して[読込]してから「変数1」を赤緑青などに指定し,画素サイズを0.05程度に変更してから[実行]する.またVectorSample.csvRasterSample.csvをダブルクリックすれば,データをExcelで直接みることができる.

9.     データのファイルの書式が違っていて読込に失敗したときは,プログラム起動時のカレントディレクトリ(ショートカットの作業フォルダか, MinnaGIS.EXEがあるディレクトリ)に,読込の経過を記録したVectorSize.log(ベクトル図形ファイルの場合)かRasterSize.log(ラスタ画像ファイルの場合)という名前のファイルが残されている.これをダブルクリックしてエディタやワープロで見れば,データのどの部分に問題があるのかがわかる.

新しいバージョンをインストールする場合(2回目以降のインストール)

1.     2004年3月以降にSETUPプログラムによって少なくとも一回インストールした場合はVisualBasicのランタイムのVB6JP.DLLMSCOMM32.OCXなどはすでにシステムに入っているので,プログラム本体の MinnaGIS.EXEを以前のバージョンの上に上書きコピーすればよい.ただしダウンロードするサイズが大きくても良いのであれば,初めと同じようにSETUPを実行しても良い.

2.     文字化けが起きたり,[経緯度電卓]などで「システムファイルがない」旨のメッセージが出て異常終了する場合は上記のSETUPプログラムでシステムファイルをインストールする必要がある.

3.     ダウンロードした自己解凍ファイル(instgisXP.zip)を解凍する.内部のファイル名は以下の通り.
MinnnaGIS.EXE
               プログラム本体
manual.pdf
                 マニュアル(アクロバットリーダーで読む)
VectorSample.csv
               ベクトルファイル(図形)のサンプル
RasterSample.csv
              ラスターファイル(画像,メッシュ値)のサンプル
auxfile.csv      
              外部ファイル(統計ソフト等)のサンプル
都道府県vector.csv            日本地図のサンプル.座標系は内部のコメント参照

 

図2.1 たちあげたとき

 

 

 

 

 

2.2 変数名の変更や,座標が数値として得られている場合のファイル作成

1.     Excelやテキストエディタでファイルを作成・変更する.フォーマットは後述の「4.データ構造」を参照

2.     属性変数の欠損値には文字でnullと入れるか,ベクトルファイルではそのまま空きにしておいても良い(空白文字はいけない).ラスタファイルは必ず文字でnullと入れる.

3.     情報はファイルひとつの中だけに保存されているので,形式があっていれば自由に書き換えて良い.(他のGISでは複数のファイルに情報が分散していることが普通)

4.     ExcelCSVファイルに保存したものをエディタで見ると,行末にコンマが連続してついているが,これは自動的に削除されるのでかまわない.ただしファイル末にコンマだけの行がある場合は異常終了する.

5.     GPSなどによる緯度経度の測定結果から直交座標の19座標系(1:2500都市計画基図など,国内に原点が19個ある横メルカトル投影)や,UTM座標系(国土地理院1:50000地形図,1:25000地形図などの横メルカトル投影)への変換は[経緯度電卓]で行う.なお,GPSで測定した世界測地系の緯経度を旧日本測地系の19座標系に変換する場合は,国土地理院のサイトなど(http://vldb.gsi.go.jp/sokuchi/tky2jgd/)で世界測地系経緯度から日本測地系経緯度への変換を行ってから[経緯度電卓]を使う.

6.     旧版のExcelでは最大で65,536行×256列しか編集できないため,いったん読み込んでから保存するとデータが切り取られて復元できなくなってしまうことがあった.しかし新しいExcel 2007からは1,048,576行,16,384列に拡大されたので,画素数の多い画像データを含めてたいがいのデータは編集できる.新版のExcelを利用することを推奨したい(残念なことに新しいExcelでは普通の散布グラフが描けなくなってしまったので困るが).なおExcel 2007であっても,旧.xls形式でファイルを保存すると256列以上の部分が削除されてしまうが,CSV形式では削除されないので安心して使える.

 

 

 

2.3 [経緯度電卓]

1.    緯度・経度から平面直角座標(都市計画図)やUTMの座標,地域メッシュ・コードをもとめるなど,ちょっとした計算を行うための電卓を用意した.

2.    座標系は日本測地系(旧)か世界測地系(日本測地系2000)である.以下の計算ができる.
日本測地系の経緯度 → 日本測地系の平面直角座標かベッセル楕円体のUTMと,
            日本測地系の地域メッシュ番号
世界測地系の経緯度 → 世界測地系の平面直角座標かGRS80楕円体のUTMと,
            世界測地系の地域メッシュ番号
世界測地系の経緯度(GPSなど)から日本測地系の経緯度への変換は,国土地理院のサイトでできる(http://vldb.gsi.go.jp/sokuchi/surveycalc/).測地系によって,同じ地点であっても平面直角座標や地域メッシュ番号が変化する.

3.    平面直角座標を求めるには,日本の都市計画図の19座標系では第1系から第19系まで,またUTM座標系では経度6度ごとに切られたUTMゾーン51から56のうち該当するものをリストからダブルクリックして原点を定めておく(都市計画図とUTM座標では原点とともに若干のパラメータが違う.精度は日本の19座標系の方が高い).

4.    緯度と経度を度分秒か,度の十進数で入れて[座標計算]ボタンをおす.

5.    人工衛星のGPS(全地球測位システム)から座標を読み込むことができる.動作確認はCSI Wireless社のminiMAXhttp://www.gisup.com/product/pr_csi_minimax.htm)をUSB-RS232C変換ケーブル(IOデータ,USB-RSAQ2)経由でパソコン(東芝,ダイナブックSS S8)に接続して行っているが,NMEA0183対応のGPSなら接続できる可能性が高い.
a.GPSの電源を入れ,衛星を捕捉していることを確認する(USB-RSAQ2の場合はまだパソコンに接続しない)
b.[経緯度電卓]をクリック
c.初期設定として (1)[comポート]RS-232Cを接続したポート番号を設定する(通常は12USB接続では4も). (2)座標系の原点を設定する(世界測地系のみ). (3) [Bcon freq]は中波ビーコン(海上交通用)によるDGPSの補正データの局の周波数を設定する.ただし[Bcon freq]を空にしておくと局を自動探索する.もよりの局はCSI Wireless社の世界中のビーコン局のリストhttp://www.csi-wireless.com/support/pdfs/radiolistings.pdfにある.
d.USB-RS232C変換ケーブルをパソコンに接続
e.USB-RS232C変換ケーブルをGPSに接続
f.[GPS off]のボタンをクリックするとGPSからの座標情報が継続的に表示され,平面直角座標やUTM座標に変換して表示される.
 [GPS off]ボタンをクリックしたときにmini Max用の初期化コマンドが送られる.GPSを初期化したくないときは,[GPS off]ボタンをクリックした後でUSB-RS232C変換ケーブルをGPSに接続する.
g.[GPS on]のボタンをクリックすると読み込みが止まる
h.RS-232Cの通信パラメータは,ソフト側ではボーレート96008ビット,パリティなし,ストップビット1ビットに設定している.パソコンとGPSの通信がうまくいっているかどうかは,Windows標準添付のハーパーターミナル(アクセサリ,通信)で確認できる.衛星をとらえていないときでも,ふつうはGPSからデータが常に流れている.ハーパーターミナルからGPSにコマンドを送ることもできる.
i.mini MAXの場合,ビーコンで補正しない単独測位でも開けた場所ではHDOP1.5以下で再現性もあり,現在位置を半径5m内に特定できる.DGPSでは半径1m以下になる.明るい落葉広葉樹林であれば林床でも可能だが,単独測位の精度はHDOP7程度に落ちる.

 

 

 

 

画像ファイルに出力

 

2.4 画像ファイルに書き出す

1.     ベクトル図形ファイルとラスタ画像ファイルを合成したり,ラスタ画像ファイル同士を合成してWindowsBMP形式のファイルに書き出す

2.     まず[画像ファイルに出力]を選択し,主に表示するファイル(ベクトルかラスタ)と,背景の画像ファイル(ラスタ),書き出す画像ファイル(Windowsビットマップ)を選択する.背景画像は省略可.

3.     [ファイル読込]をクリックすると属性変数を読み込んでリストされる.

4.     表示色の赤,青,緑に対応する変数を選ぶ.ベクトル図形ファイルでは図形の重ね順を指定する変数も選べる.

5.     書き出す画像の範囲と解像度を指定する.[縮尺]は紙への印刷時の縮尺を指定する.WindowsBMP形式のファイルは印刷紙上でのサイズを指定する情報を持っているので,写真レタッチソフトで正確な縮尺に印刷できる.

6.     画像ファイルを表示する場合は,解像度をもとの画像とあわせないと画像が劣化する可能性がある.

7.     [色の輝度は絶対値]をチェックしない場合は,色ごとに50-255の間にスケーリングされる.また普通は値の大きなところで輝度が大きい(明るい)が,[濃淡を反転]をチェックすると逆になる.

8.     [線の太さ]は図形ファイルでの図形の縁の太さを指定する.これがゼロになるとpolygonareaは表示できるが,pointlinetreeなどは表示できない.

9.     [地の色]は背景も主たる表示ファイルもない部分の色を指定

10.  polygonは輪郭]をチェックすると図形ファイルは輪郭だけが描画される

11.  [透過]では表示ファイルと背景ファイルが透過OHPのように合成される.図形ファイルの図形の重なりも同様になる.チェックをはずすと主たる表示ファイルが背景の上に上書きされる

12.  [画像をCSV保存]では,合成した画像をラスタファイルとして保存できる.属性変数名はred,green,blue.ファイル名は*.bmp.csvで,*.bmpの部分は指定した画像ファイル名.このラスタファイルを背景画像に使うことで,より多くの情報を自由に重ねて表示できる.

13.  図の凡例は,Excelやエディタなどを使って図形ファイルにpolygonlineを手書きしてつくる.Excelの連続コピー機能をつかって連続した属性値をもつpolygonを多数作成するとグラデーションによる凡例も簡単にできる.文字はBMPファイルができあがってから写真レタッチソフトで入れる.

14.  色を自由にコントロールするには,[属性値の計算とファイル統合]→[ベクトル属性変数の演算]や[ラスタ変数の統合と演算]でred, green, blueの3原色の輝度を指定する変数を作成する.輝度値を0から255までの値にしておいて,[色の輝度は絶対値]をチェックすれば指定した色が正確に表示できる.RGB値の色見本はPhotoshop LEなどの色パレットを参照.

15.  最後に完成した画像が表示されるが,これは画面のpixelサイズにあわせているので印刷時のサイズとは異なる.縮尺を正確に印刷するにはPhotoshop LEなどを利用する.

VectorSample.csv

透過モード

RaterSmple.csv

不透過モードでのベクトルとラスタの

合成出力

いったんbmp.csvファイルに出力したあとラスタ演算で合成

図2.2 標準添付されているデータの画像出力例.多角形(polygon),穴の空いた多角形(area),折線(line),折線がつながった樹様体(tree),点(point)がラスタ画像データ(色の付いた格子模様)と重ねて表示されている.写真や地図画像も細かなチェック模様(ラスタ)であり,カラー画像は赤(red),緑(green),青(blue)の3原色の光の強さで表現する.

 

 

 

 

データ入力編集・空の図形の発生

 

<データ入力・編集>

2.5 地図や空中写真の画像のとりこみ

1.    写真や地図画像をラスタデータとして座標上にマッピングする.

2.    スキャナなどを使って地図や空中写真の画像を取り込み,必ずフルカラー(24bit)のWindowsBMP形式(Windowsビットマップ)で保存する.白黒や8bit256色などの画像は不可.

 

多数の直交座標点(平面直角座標やUTM,自分の調査地座標など)で位置あわせするとき

3.    「みんなでGIS」を立ち上げて,メニューから[データ入力編集・空の図形の発生]→[BMP画像ファイル→ラスタファイル]のうちで[普通の直交座標で位置指定]を選ぶ

4.    読み込む画像のBMPファイル名と,保存先のラスタファイル名を指定し,[ファイル読込]をクリック

5.    画像が表示される.画面に入りきらない場合は[表示倍率]に縮小率を入れて[拡大縮小]をクリック

6.    遠近のない画像(地図など)と,遠近のある画像(斜めに写した写真など)のどちらかを選択する.前者では左右変倍率のコピー機で斜めにゆがんだ画像も修正できて高速である.後者では3次元のコントロールポイントからカメラ位置の3次元座標を計算して,ある高さzの平面の上の画像を,真上から見た状態で取り込む.レンズの投影方法はフィルム面が平面のピンホールカメラを想定している.処理時間は450MHzCPUで約10分程度がかかる.航空写真の場合は,本来は[斜め写真]が望ましいが,ふつうは[地図など]でも十分な結果が得られるようだ.

7.    座標が既知の地点をコントロールポイントとして設定する.画像の上でコントロールポイントをクリックし,その座標値を左のテキストボックスに入れ,[地点を登録]をクリック.登録内容のファイル保存や再読込み,削除などもできる.

8.    任意の場所を拡大するには[画像中心を移動へ]をクリックして画像移動モードに移ったあと,中心に表示したい部分をクリックすると画面の中心に移動して表示される.このあと表示縮尺を調節すると,その地点を中心としたまま拡大・縮小される.画像移動モードから図形入力モードに戻るには同じボタンの[図形入力へ]をクリックする.

9.    コントロールポイントは[地図など]では最低3地点以上必要で,[斜め写真]では5点以上必要.しかも一列の線上に並ばないように,なるべく互いの距離が離れるように配置する.全ての3点の組み合わせによる3角形を使ってパラメータを決めるので,いたずらに点数を増やすよりも,きれいな三角形が得られるようにコントロールポイントを配置する方が得策.

10. コントロールポイントの設定が終わったら[変換式決定]で画面座標と実座標の変換式を求める.画像の中に正確なベンチマークがあれば通常は誤差は5pixel以内であるが,自然の地形をコントロールポイントにとった[斜め写真]の場合は誤差が数十pixelになることが多い.誤差がこれ以上大きい場合は,コントロールポイントの位置や座標値を再確認した方がよいかも知れない.なお[斜め写真]の場合はBmpLoad.log.csvファイルに誤差とカメラ座標,各コントロールポイントの実座標と,実際の画面上の位置,推定された画面上の位置を保存するので,大きな誤差をもたらしているコントロールポイントを確認できる.なお,[斜め写真]ではコントロールポイント群の重心を中心に,コントロールポイントが存在する範囲の約1.2倍(45度の画角相当)の範囲で写真撮影位置を探索する.

11. 精度が高いはずなのにコントロールポイントの位置などによって誤差が100pixelを超えるようなことが起きる.このような場合は「ゆらぎ」チェックボックスをチェックすると良い.ただし座標値の精度は高くない.

12. 読み込む範囲と画素pixel)の大きさを実座標で指定して[変換実行].このとき[外側]を選択すると,もとの画像のデータを全て含む領域が取り込まれ,もとの画像に含まれていない部分は欠損値となる.[内側]を選択すると欠損値が入らない小さな領域になる.画素サイズには計算値が入るが,その後の処理のために切りの良い数値に変更しても良い.

13. 取り込むときには,見た目そのままが良ければ[平均]が,植生判別などなるべくもとの画素の色データがほしい場合は[間引]が良いかもしれない.

14. CDなどで配布される1:2万5千や1:5万地形図画像は画素数が多いためそのままではメモリー不足になるので1/2解像度(25千分の一地形図は5m程度,5万分の一地形図は10m程度のpixelサイズ)で読み込む.

 

画像の四隅の緯度・傾度がわかっている場合

15. [地図の四隅の経緯度を指定]の方を使う.

16. 四隅の緯度経度を,左下,左上,右上,右下の順に指定する.

17. たとえば,多面体図法で四隅の日本測地系緯度経度がわかっている地図(昔の1:5万地形図)を,世界測地系の平面直角座標のGISファイルに読み込むには,(1)四隅の緯度経度をあらかじめ世界測地系の経緯度に変換しておく(国土地理院のwebサイトなどで可能),(2)このプログラムでの座標系の指定は「世界測地系」の「平面直角座標の最寄りの座標系」とする.

 

もとの画像

 

[外側]の領域で読み込んだ画像.

 

図2.3 画像入力フォーム(左)と読み込む領域の指定(右).空中写真の上の紫色の点はコントロールポイント

 

 

 

2.6 地図や写真上の地点や領域などをマウス入力

1.     地図や写真をラスタファイルに読み込む(前項参照)

2.     [データ入力編集・空の図形発生]→[ラスタ画像上にベクトル入力]を選択

3.     データを入れるベクトルファイルと背景の画像ファイル(「みんなでGIS」のラスタファイル)を指定して[ファイル名確定].背景用の画像ファイルにはred, green, blueの3つの属性変数名が入っていなければならない.ファイル名を指定しない場合は白紙の上での編集・入力となる.ベクトルファイルやred, green, blueの3つの属性変数名が入っていないラスタファイルを背景画像に使うときは,背景のファイルを[画像ファイルに出力]からいったん画像出力し,その際に[画像をcsv保存]チェックボックスをチェックして,「出力画像名.bmp.csv」というファイル名のラスタファイルを作成し,これを背景画像ファイルとして使う.

4.     ベクトルファイルが読まれて,既存のデータがあれば属性変数名が表示される.

5.     図形入力時に同時に入力する属性変数名を指定する.既存の属性データがあるばあい,既存の変数を削除すればファイルからも取り除かれ,また新しい変数を追加することもできる.

6.     [マウス入力へ]をクリックすると,新しいフォームが開いて背景画像が表示される.マウスで図形を入力できる空間は表示された背景画像の範囲となる.

7.     背景画像の表示される部分を変えるには[画像中心を移動へ]をクリックして画像移動モードに移ったあと,画像の中心に表示したい部分をクリックすると画面の中心に表示される.このあと表示縮尺を調節すると,その地点を中心としたまま拡大・縮小される.画像移動モードから図形入力モードに戻るには同じボタンの[図形入力へ]をクリックする.

8.     図形入力の流れは,(a)図形のタイプを指定,(b)マウスをクリックして図形入力,(c)画面左のテキストボックスに属性変数値を半角コンマ区切りで入力,(d)[図形を登録]

9.     直前の頂点を取り消すには[直前の頂点を削除].入力中の図形の全取り消しや図形タイプの変更には[始めから]

10.  polygonの最後の辺は[図形を登録]によって自動的に閉じられる.

11.  areaでは(a)図形のタイプを指定,(b)マウスで単polygonを入力,(c) 次のpolygonを入力するときに[次の縁]をクリック,(d)これから入れるpolygonが[内縁]か外縁かを指定,(e)次のpolygon入力,(f)終わったら[図形を登録]

12.  treeでは(a)図形のタイプを指定,(b)マウスで折れ線lineを入力,(c) 次のlineを入力するときに[次の縁]をクリック,(d)次に画像上でクリックすると最近接のノードに接続する,(e)終わったら[図形を登録].川の下流から上流へ,また主流から支流の順に入力する(根本から枝先へ,幹から枝へ).支流の分岐点はあらかじめ必ずノードにしておく.

13.  登録済みの図形を削除するには,リストをクリックして図形を選択した上で[削除]

14.  登録済みの図形を編集するには,リストをクリックして図形を選択した上で[編集].リストをダブルクリックしても同じ.ただしリストからは削除されているので注意.

15.  登録済みの図形をコピーして,同じ形の図形に別の属性値を与える場合は[複写]

16.  適当に図形がたまったら[ファイルに保存].終了時も明示的に[ファイルに保存]しなければ,データは失われる.

17.  GPS(全地球測位システム)から野外で座標を読み込むことができる.GPSで指定した座標上の点でマウスを1回クリックしたのと同等の動作となるので,point入力であれば地点が指定され,linepolygonであればノードが追加される.動作確認はCSI Wireless社のmini MAXhttp://www.gisup.com/product/pr_csi_minimax.htm)をUSB-RS232C変換ケーブル(IOデータ,USB-RSAQ2)経由でパソコン(東芝,ダイナブックSS S8)に接続して行っているが,NMEA0183対応のGPSなら接続できる可能性が高い.
a.GPSの電源を入れ,衛星を捕捉していることを確認する(USB-RSAQ2の場合はまだパソコンに接続しない)
b.上記と同じように背景画像(1/25000地形図,1/2500都市計画図,航空写真など)を指定して,ベクトル図形を入力できる状態にする.座標系は平面直角座標でもUTMでもよいが,必ず世界測地系にしておく.日本測地系の地図しかない場合は,目印になる地点(道路の交差点など)でGPSと[経緯度電卓]を使って座標を調べ,[かたち情報補変換と計算]で座標軸を平行移動しても,数キロメートル程度以内の狭い範囲の地図であれば問題なさそうだ.まったく背景画像がない場合は[ラスタデータ作成]などで測量する座標範囲の空のラスタデータなどを作成し,画像出力でbmp.csvファイルを出力して,これを背景画像とする.
c.初期設定として (1)[comポート]RS-232Cを接続したポート番号を設定する(通常は12USB接続では4も). (2)座標系の原点を設定する(世界測地系のみ). (3) [Bcon freq]は中波ビーコン(海上交通用)によるDGPSの補正データの局の周波数を設定する.ただし[Bcon freq]を空にしておくと局を自動探索する.もよりの局はCSI Wireless社の世界のビーコン局リストhttp://www.csi-wireless.com/support/pdfs/radiolistings.pdfにある.
d.USB-RS232C変換ケーブルのUSB側をパソコンに接続
e.USB-RS232C変換ケーブルのRS-232C側をGPSに接続(USB-RSAQ2ではこの順番を変えると動かない)
f.[座標指示]のボタンをクリックするとGPSからの座標情報がひとつ取り込まれ,その地点でマウスをクリックしたのと同じ動作が行われる.pointの場合は地図上に点が表示され,linepolygonではノードがひとつ追加される.
g.[連続入力]のボタンをクリックすると,指定した時間間隔で連続してGPSからの座標情報が取り込まれ,そのときの座標地点でマウスをクリックしたのと同じ動作が行われ続ける.pointの場合は地図上の点が移動し,linepolygonではノードが追加されてゆく.[連続入力中]をクリックするとGPSからの入力が終わる.
h.RS-232Cの通信パラメータは,ソフト側ではボーレート96008ビット,パリティなし,ストップビット1ビットに設定している.パソコンとGPSの通信がうまくいっているかどうかは,Windows標準添付のハーパーターミナル(アクセサリ,通信)で確認できる.衛星をとらえていないときでも,ふつうはGPSからデータが常に流れている.ハーパーターミナルからGPSにコマンドを送ることもできる.
i.[座標指示]や[連続入力]のボタンをクリックしたときにmini Max用の初期化コマンドが送られる.GPSを初期化したくないときは,ボタンをクリックした後でUSB-RS232C変換ケーブルをGPSに接続する.
j.mini MAXの場合,ビーコンで補正しない単独測位でも開けた場所ではHDOP1.5以下で再現性もあり,現在位置を半径5m内に特定できる.DGPSでは半径1m以下になる.明るい落葉広葉樹林であれば林床でも可能だが,単独測位の精度はHDOP7程度に落ちる.

 

 

 

 

図2.4 図形のマウス入力.右の画像上の紫色の図形は入力済みで,水色は入力中の図形.

 

 

 

2.7 GPSなどの緯度経度の地点データの一括読み込み

1.   野外でGPSなどで記録した緯度・経度の地点座標データを,一括して平面直角座標やUTM座標に変換し,「みんなでGIS」のベクトルファイルにする. GPSNMEAフォーマットの受信ログの一括読み込みのためのものではないが,Excelなどでログをソーティングして$GPGAA行だけ集め,緯度・経度のフォーマットを整形して(度と分の間にコンマを入れる),先頭行に変数名を書き込めば読み込み可能.

2.   変換元は先頭の行に変数名をつけたCSVファイルとする.緯度経度座標以外の任意の測定データなどが入っていても良い.

3.   緯度や経度を度・分・秒で記録している場合(331012.5秒など)は,それぞれ別の変数とする.緯度と経度で合計6個の変数ができる.ただし10進数で小数点を使って記録している場合(33.17014度など)は,分や秒の変数を用意する必要はない.

4.   [データ入力編集・空の図形の発生]→[地点の経緯度を一括変換]
入出力ファイル名を指定
・緯度や経度を保存している変数名を選択
・座標系と原点を選択
・変換を実行する

5.   座標は日本測地系と世界測地系を選択できる.
 日本測地系の経緯度 → 日本測地系の平面直角座標か,ベッセル楕円体のUTM
 世界測地系の経緯度 → 世界測地系の平面直角座標か,GRS80楕円体のUTM
日本測地系の経緯度によるファイルを世界測地系の平面直角座標のファイルにすることはできない.

6.   name$という変数をつくっておくと,これが図形名につかわれる.

7.   野外での探索経路など,pointをつないでlineをつくるときには,あらかじめ「PointOrder」という変数名で結ぶpointの順番(歩いた順番)を指定しておく.
[データ入力編集・空の図形の発生]→[地点の経緯度を一括変換]でpoint
[かたちの情報の変換と計算]→[ベクトル図形のタイプ変更]でpoint列をlineに変換
lineが複数ある時は,適当にlineの番号をつけて初めのファイルに保存しておき,[ベクトル図形のタイプ変更]のIF条件でline番号を指定しながらひとつづつlineをつくる.

8.   GPSpoligonの外縁の座標を調べた場合にも,あらかじめlineごとに「PointOrder」という変数名で,結ぶpointの順番(歩いた順番)を指定しておく.
[データ入力編集・空の図形の発生]→[地点の経緯度を一括変換]でpoint
[かたちの情報の変換と計算]→[ベクトル図形のタイプ変更]でpoint列をlineに変換.その後lineの端点を結んでpolygonをつくる.
polygonが複数ある時は,適当にpolygonの番号をつけて初めのファイルに保存しておき,[ベクトル図形のタイプ変更]のIF条件でpolygon番号を指定しながらひとつずつlineをつくる.linepolygon化する作業は一括で行える.

Name$

線番号

PointOrder

緯度-

緯度-

緯度-

経度-

経度-

経度-

胸高直径

雌雄

p1

1

1

30

21

45

130

23

22

23

0

p2

1

2

30

21

40

130

23

15

33

0

p3

1

3

30

21

32

130

23

15

29

0

p4

1

4

30

21

28

130

23

16

44

1

p5

1

5

30

21

12

130

23

19

38

0

p6

1

6

30

21

7

130

23

25

35

1

p7

1

7

30

21

5

130

23

40

13

0

p8

1

8

30

21

23

130

24

4

22

1

q1

2

1

30.38167

0

0

130.3844

0

0

40

1

q2

2

2

30.3775

0

0

130.3844

0

0

41

1

q3

2

3

30.37444

0

0

130.3839

0

0

18

0

q4

2

4

30.37194

0

0

130.3914

0

0

43

1

q5

2

5

30.37083

0

0

130.4003

0

0

29

0

図2.5 入力用の外部ファイルの例.コンマ区切りのテキストファイルにする.この中で必須な変数は緯度と経度の「度」のふたつ.

 

 

 

2.8 プローブ用のデータ発生

1.     GISではプローブ用の格子状のpointや正方形polygon,空の画像などを頻繁に使う.

2.     空のラスタデータを発生させるには[データ入力編集・空の図形の発生]→[ラスタデータ作成].ラスタデータの空間範囲と解像度を設定し,ファイル名を設定して[実行].空間範囲はセルの外側の縁の座標を設定する.

3.     格子状に配置された多数のpoint図形を発生させるには[データ入力編集・空の図形の発生]→[格子点pointデータ作成].データの空間範囲と解像度を設定し,ファイル名を設定して[実行].空間範囲はいちばん外側のpointの位置なので,ラスタのセルとあわせる場合には注意が必要.

4.     ランダムに配置された多数のpoint図形を発生させるには[データ入力編集・空の図形の発生]→[ランダムpointデータ作成].データの空間範囲と点数を設定し,ファイル名を設定して[実行].ランダムな点は統計的な検定などに使う.

5.     格子状の長方形polygonを発生させるには[データ入力編集・空の図形の発生]→[長方形グリッドのpolygonデータ作成].データの空間範囲と解像度を設定し,ファイル名を設定して[実行].空間範囲はラスタデータの場合と同じ.

6.     円をひとつつくるには[円形の多角形をひとつ作成]を選択する.多角形で円を表示するので,精度として多角形の辺の長さか,その辺に対応する中心角のどちらかを指定する.精度を細かくするときれいな円になるが,その後の取り回しは面倒になる.

4角形のpolygonでタイル状に埋められたpolygon格子.ラスタファイルのセルも同様

格子点にpointがならぶpoint格子.外縁は指定した範囲.

ランダムな点.外縁は指定した範囲.統計的な検定などに使用する.

図2.6 新しい図形の発生.ラスタファイルのセルの中心や,polygon格子の各polygonの中心にpoint格子を配置するには,セルの大きさの半分だけ位置をずらす必要がある.

 

 

 

2.9 投影方法を変更しながら画像読込(古い5万分の一地形図など)

明治時代につくられた5万分の一地形図などは,鉄道の物流と生糸の国際的な輸出による大きな社会変革の前の日本の自然の姿を表している重要な資料であり,現在の生物の分布には当時の土地利用の影響も残っている.しかし現在使われている横メルカトル法と違って多面体図法なのでうまくGISに取り込めないこともあるので,簡単なプログラムを作成した.地図の4隅の緯度経度を入力し,平面直角座標やUTMの座標を持ったpoint格子として出力する.UTM座標の2万5千分の1地形図画像を平面直角座標で読み込むなど,投影法が違う地形図の読み込みにも使える.

1.     古地図等はスキャナ入力してRGB24ビットのBMPフォーマットの画像ファイルにしておく.画像には緯度経度がわかる4隅が含まれている必要がある.

2.     地図の四隅の緯度と経度を求めておく.必要に応じて日本測地系と世界測地系の変換を行っておく.この4点間を線形に補間するが,長方形でなくても任意の4角形でよい.

3.     [データ入力編集・空の図形の発生]→[古地図読込]を選択

4.     画像ファイル名とpoint格子のデータを出力するファイル名を指定.また変換先の座標系を指定して[ファイル読み込み].

5.     背景画像の表示される部分を変えるには[画像中心を移動へ]をクリックして画像移動モードに移ったあと,画像の中心に表示したい部分をクリックすると画面の中心に表示される.画像移動モードから図形入力モードに戻るには同じボタンの[図形入力へ]をクリックする.

6.     表示された地図の4隅を「左下」,「左上」,「右上」「右下」の順にクリックして,各地点の経度と緯度(新しいもの)を10進数で入力して[地点を登録].平面直角座標やUTMでなく緯度経度であることに注意.古い地図は全て日本測地系であるので,日本測地系の緯度・経度から世界測地系の緯度・経度への変換は国土地理院のホームページなどで行う.

7.     [変換実行]でpoint格子のベクトルファイルに書き込まれる

8.     このあと普通の画像データであるラスタ・ファイルに変換するには,
(1)
返還後の座標系での図郭の範囲を確認
(2)
必要な図郭と解像度を持った空のラスタ・ファイルを作成,
(3)
point属性を補間してラスタに]にで変換,の手順を取る.
はじめにpointとして読み込むときには小さめの画素としておき,それに比べて大きめの画素のラスタ・ファイルにデータを写すとよい.このときの[point属性を補間してラスタに]のオプションは[欠損データは欠損値のまま],[重複データは平均]が早くてきれい.

 

 

 

 

<市販・公共データの読込>

2.10 50mメッシュ標高データ「数値地図50mメッシュ(標高)」の読込

1.    日本全国の約50mメッシュの標高地形データは,国土地理院の地図の販売店から日本全体を3地域に分けたCD-ROMデータを購入できる(CD1枚が7500円,http://www.jmc.or.jp/).2次メッシュ(国土地理院の2万5千分の1地形図に相当)をひとつのファイルにして,これを縦横200個ずつに区切ったメッシュの中心点の標高データが保存されている.これは東西2.25秒間隔,南北1.5秒間隔に相当し,東京あたりでは約55m×45mになる.

2.    操作は,[データ入力編集]から[国土地理院「数値地図50mメッシュ(標高)」]を選択

3.    CD-ROMのドライブを選択すれば,CD内の2万5千分の1の地形図名と2次メッシュコードの対応表が表示されるはずである.この2次メッシュがひとつのファイルになるが,島嶼や海岸ではうまく地図に収まるようにアレンジしてあるので,このような場所では2次メッシュと2万5千分の1地形図名は必ずしも1対1に対応しない.

4.    読み込むファイルを,2次メッシュ・コード地図名のリストからクリックして選択するか,あるいはひとつの地点の座標を緯度・経度で与えて,その地点を含むファイルを求めることもできる.

5.    もとのデータは緯度・経度の座標系だが,読み込んだデータは平面直交座標系(都市計画図の座標など)に変換され,「みんなでGIS」のベクトルファイルにpointの属性として保存される.

6.    座標変換のために,日本の都市計画図の19座標系(平面直角座標)では第1系から第19系まで,またはUTM座標系ではUTMゾーン51から56のうち該当するものをリストからダブルクリックして原点を定めておく(都市計画図とUTM座標では原点とともに若干のパラメータが違う.精度は日本の19座標系の方が高い).調査対象地域が座標系の境界にある場合には,どちらか一方の原点を選ぶか,自分の調査地域の中心付近に任意の原点を置いても良い.この場合の計算では19座標系のパラメータが使われる.

7.    [読込実行]で読み込む.標高の変数名はDEMで単位はmである.できたファイルのコメント行には2次メッシュの4隅のxy座標を書き込んである.

8.    地形の傾斜や凸凹などを計算するにはラスタファイルに変換する必要がある.もとの緯度経度座標では等間隔であるが,xy座標に変換すると等間隔ではなくなるので補間が必要である.このような標高データをDEM (Digital Elevation Model)とよぶことも多い.

9.    このためにまず,[データ入力編集・空の図形の発生]→[ラスタデータ作成]でxy座標での空のメッシュを作成しておく.座標の範囲には,コメント行の座標値を参考にする.次に[かたち情報の変換と計算]→[point属性を補間してラスタに]で欠損データを補間(2次微分最小化)しながらラスタに変換する.

10. 世界測地系になってからの新しいフォーマットのCDでは,座標は日本測地系と世界測地系を選択できる.それ以前のものでは日本測地系のみとなる.

vector

国土地理院「数値地図50mメッシュ(標高)」 453043.MEM 左下x=-60088.823883418  y=-295519.362487666  左上x=-60037.8738697522  y=-286278.926177965  右下x=-48070.8896995188  y=-295578.950805483  右上x=-48030.1307069342  y=-286338.611893157

DEM

type$

name$

NodeNum

x1

y1

0

point

453043x1y1

1

-60058.65173

-295496.4269

0

point

453043x2y1

1

-59998.56186

-295496.7576

以下省略

図2.7 50mメッシュ標高データを読み込んだpoint格子のベクトルファイルの例.屋久島の永田岳周辺でメッシュコードは4530-43.座標系は都市計画図の第2系.コメント行が長いので,ここでは見かけ上3行だがファイル内では1行になっている.

 

 

 

2.11 10mメッシュ標高データ「GISMAP Terrain」の読込

1.    国土地理院の2万5千分の1地形図の測量結果をもとにつくられた約10mメッシュの標高地形データが,北海道地図(株)からGISMAP Terrainとして販売されている(http://www.hcc.co.jp/).2次メッシュ(国土地理院の2万5千分の1地形図に相当)をひとつのファイルにして(値段はファイルひとつで数万円),これを縦横1000個づつに区切ったメッシュの中心点の標高データが保存されている.これは東西0.45秒間隔,南北0.3秒間隔に相当し,東京あたりでは約11m×9mになる.このような標高データをDEM (Digital Elevation Model)とよぶことも多い.

2.    操作は,[データ入力編集・空の図形の発生]→[北海道地図 GISMAP Terrain 10mメッシュ標高]を選択

3.    ファイルのあるディレクトリを選択する.「2次メッシュコード.dem.hgf」という名前のファイルが表示されるので,このファイルを選択する.hgfフォーマットはファイル内に2次メッシュの情報がないためファイル名から座標を決めるので,ファイル名は正確でなければならない.ここではファイル名に必ず「.dem」という文字列が入っている必要がある(特に2次メッシュコード)ので,もし「2次メッシュコード. hgf」というファイル名であったなら必ず「2次コード.dem.hgf」にファイル名を変更しておく.

4.    もとのデータは緯度・経度の座標系だが,読み込んだデータは平面直交座標系(都市計画図の座標など)に変換され,「みんなでGIS」のベクトルファイルにpointの属性として保存される.

5.    座標変換のために,日本の都市計画図の19座標系では第1系から第19系まで,またはUTM座標系ではUTMゾーン51から56のうち該当するものをリストからダブルクリックして原点を定めておく(都市計画図とUTM座標では原点とともに若干のパラメータが違う.精度は日本の19座標系の方が高い).調査対象地域が座標系の境界にある場合には,どちらか一方の原点を選ぶか,自分の調査地域の中心付近に任意の原点を置いても良い.この場合の計算では19座標系のパラメータが使われる.

6.    [読込実行]で読み込む.標高の変数名はDEMで単位はmである.できたファイルのコメント行には2次メッシュの4隅のxy座標を書き込んである.

7.    地形の傾斜や凸凹などを計算するにはラスタファイルに変換する必要がある.もとの緯度経度座標では等間隔であるが,xy座標に変換すると等間隔ではなくなるので補間が必要である.

8.    このためにまず,[データ入力編集]→[ラスタデータ作成]でxy座標での空のメッシュを作成しておく.座標の範囲には,コメント行の座標値を参考にする.

9.    次に[かたち情報の変換と計算]→[point属性を補間してラスタに]で欠損データを補間(2次微分最小化)しながらラスタに変換する.

10. 座標は日本測地系と世界測地系を選択できる.
 日本測地系の経緯度 → 日本測地系の平面直角座標か,ベッセル楕円体のUTM
 世界測地系の経緯度 → 世界測地系の平面直角座標か,GRS80楕円体のUTM
日本測地系の経緯度によるファイルを世界測地系の平面直角座標のファイルにすることはできない.

 

 

 

2.12 世界30秒メッシュ(約1km)標高データ「GTOPO30」の読込

1.     USGSによる世界をカバーした30秒メッシュの標高地形データが,GTOPO30という名前で公開されている.世界中を33個のタイルに分けて別のファイルになっている.空間解像度は東京あたりでは東西730m×南北900mになる.

2.     GTOPO30のデータのあるサイトは以下の通り
http://www1.gsi.go.jp/geowww/globalmap-gsi/gtopo30/gtopo30.html
 必要な部分をダウンロードし,ひとつのフォルダに解凍しておく.解凍にはLHUTなどが便利(http://kazusoft.net/lhut32.html).標高データの入ったファイル(.DEM)だけでなくヘッダーファイル(.HDR)も参照する.

3.     操作は,[データ入力編集・空の図形の発生]→[USGSによるGTOPO30世界30秒メッシュ標高データ]を選択

4.     ファイルのあるディレクトリを選択する.「ファイル名.DEM」という名前のファイルが表示されるので,このファイルを選択する.

5.     もとのデータは世界座標系の緯度・経度だが,読み込んだデータはUTMや平面直交座標系(都市計画図の座標など)に変換され,「みんなでGIS」のベクトルファイルにpointの属性として保存される.

6.     座標変換のために,日本の都市計画図の19座標系の第1系から第19系まで,またはUTM座標系ではUTMゾーン51から56のうち該当するものをリストからダブルクリックして原点を定めておく.UTMゾーンのリストになくても,赤道上の地点を原点に選んでテキストボックスに入力しておくと任意のゾーンのUTMにできる.

7.     データのサイズが大きいので,読み込む範囲を緯度・経度で指定する.

8.     [読込実行]で読み込む.標高の変数名はDEMで単位はmである.

9.     地形の傾斜や凸凹などを計算するにはラスタファイルに変換する必要がある.もとの緯度経度座標では等間隔であるが,UTM座標などに変換すると等間隔ではなくなるので補間が必要である.

10.  このためにまず,[データ入力編集]→[ラスタデータ作成]でUTM座標などでの空のメッシュを作成しておく.座標の範囲は経緯度電卓などで計算する.

11.  次に[かたち情報の変換と計算]→[point属性を補間してラスタに]で欠損データを補間(2次微分最小化)しながらラスタに変換する.

12.  日本測地系と世界測地系を選択できるようになっているが,GTOPO30は世界座標系なので必ず世界測地系を選択を選択する.

 

 

 

2.13 1kmメッシュ気候統計値の読込

1.    気象庁の観測と推定による日本全国の約1km四方(3次メッシュ)の気候データは気象業務支援センター(http://www.jmbsc.or.jp/)で販売している「平年値」と呼ばれる1枚のCD-ROMにはいっている(2730円).気温,降水量,積雪深の3つのファイルに分かれて全国のデータがひとつのファイルになっている.なお3次メッシュは東西45秒,南北30秒に相当し,東京あたりでは約1.1km×0.9kmになる.

2.    操作は,[データ入力編集・空の図形の発生]から[気象庁「平年値」1kmメッシュ気候値]を選択

3.    CD-ROMのドライブを選択すれば,MTEMP.DAT, MPREC.DAT, MSNOW.DATの3つのファイルが表示されるはずである.

4.    気候要素として,気温と降水量,積雪深のどれかを選ぶ

5.    全国のファイルがひとつになっているので,必要な地域の範囲を緯度と経度で指定する.

6.    もとのデータは緯度・経度の座標系だが,読み込んだデータは平面直交座標系(都市計画図の座標など)に変換され,「みんなでGIS」のベクトルファイルに4角形polygonの属性として保存される.気候値は月別のものもあるが全てが保存される.

7.    座標変換のために,日本の都市計画図の19座標系では第1系から第19系まで,またはUTM座標系ではUTMゾーン51から56のうち該当するものをリストからダブルクリックして原点を定めておく(都市計画図とUTM座標では原点とともに若干のパラメータが違う.精度は日本の19座標系の方が高い).調査対象地域が座標系の境界にある場合には,どちらか一方の原点を選ぶか,自分の調査地域の中心付近に任意の原点を置いても良い.この場合の計算では19座標系のパラメータが使われる.

8.    [読込実行]で読み込む.

9.    1kmメッシュは,降水量の空間スケールとしては適当だが,気温については1kmメッシュ内でも山岳地域では数百メートルの標高差があるので,あてにならない.そこで,[属性計算]によって50mメッシュ標高データから気候値の1kmメッシュ内の平均標高を求めておき,気温の低下率を100m0.6℃とすれば,
  地点の気温値 = 1kmメッシュの気温値 − 0.006×(地点の標高−1kmメッシュの平均標高)
として地点の気温を計算することもできる.ただし,メッシュ統計値の計算で使用された標高値が必ずしも50mメッシュの標高の平均値でない可能性もある.

10. 座標は日本測地系と世界測地系を選択できる.
 日本測地系の経緯度 → 日本測地系の平面直角座標か,ベッセル楕円体のUTM
 世界測地系の経緯度 → 世界測地系の平面直角座標か,GRS80楕円体のUTM
日本測地系の経緯度によるファイルを世界測地系の平面直角座標のファイルにすることはできない.

 

 

 

2.14 土地利用図「細密数値情報(10mメッシュ土地利用)」の読込

1.    首都圏と中部圏,近畿圏では1970年代から10mメッシュの土地利用図が整備されていて,国土地理院の地図の販売店から各地域の各調査時期ごとのCD-ROMデータを購入できる(CD1枚が9450円,http://www.jmc.or.jp/).カテゴリは山林・荒地等,田,畑・その他の農地,造成中地,空地,工業用地,一般低層住宅地,密集低層住宅地,中・高層住宅地,商業・業務用地,道路用地,公園・緑地等,その他の公共公益施設用地,河川・湖沼等,その他,海であり,生物の環境の解析に利用できる.ひとつのファイルが東西4km,南北3kmであって都市計画図に対応していて,座標系も都市計画図と同じである.

2.    この機能は後述のものと似ているが,ファイルごと(4km×3kmの範囲)の読みとりであることが異なる.読み込んだ結果はひとつの変数に格納される.

3.    操作は,[データ入力編集・空の図形の発生]から[国土地理院10mメッシュ土地利用図]を選択

4.    CD-ROMの入ったドライブを選択すると,自動的にCD内のファイルコード図が表示されるはずである.

5.    (1)図を見てファイルコードからファイル名を生成する,(2)都市計画図の座標値からその地点を含むファイルの名前を生成する,(3)ファイル名を直接指定する,などのいずれかの方法でファイル名を指定する.

6.    作成する「みんなでGIS」のファイルのタイプを指定する.ラスタファイル,point格子,正方形のpolygon格子の3タイプが選べる.正確な解析やカテゴリごとの色の細かな指定にはpolygon格子が適しているが,高速な処理ではラスタファイルが良い.

7.    1から16までのコードを数値として読み込むか,「海」というような名称の文字列をデータとするかを指定できる.通常はコードをそのまま使うのが効率的だと思われる.なお「17対象地域外」以降は欠損値になる.

8.    読込実行をクリックして読み込む.変数名はコード数値のときはLandUseで,文字列の場合はLandUse$になる.

9.    首都圏のデータは都市計画図の座標との対応がとれているが,いまのところ近畿圏と中部圏は手元にCDがないので,たぶん正しいと思うが座標の動作確認はできていない.

10. 世界測地系の「細密数値情報(10mメッシュ土地利用)」にも対応している.世界測地系のものとは図郭が数百メートルずれる.

 

 

 

2.15 土地利用図「細密数値情報(10mメッシュ土地利用)」の読込 広域の集計

1.     前述の機能と似ているが,以下の点で異なる
・複数のファイルにわたる広域のデータをいちどに読み込む
・データを受け取るラスタファイルのセルごとに,土地利用分類カテゴリの占める面積を求める.このラスタファイルには19個の新しい変数が追加される.このラスタファイルの座標系は平面直角座標でなければならない.
・読み込む範囲やセルの大きさは,データを受け取るラスタファイルのものが使われる.

2.     首都圏と中部圏,近畿圏では1970年代から10mメッシュの土地利用図が整備されていて,国土地理院の地図の販売店から各地域の各調査時期ごとのCD-ROMデータを購入できる(CD1枚が9450円,http://www.jmc.or.jp/).カテゴリは山林・荒地等,田,畑・その他の農地,造成中地,空地,工業用地,一般低層住宅地,密集低層住宅地,中・高層住宅地,商業・業務用地,道路用地,公園・緑地等,その他の公共公益施設用地,河川・湖沼等,その他,海であり,生物の環境の解析に利用できる.ひとつのファイルが東西4km,南北3kmであって都市計画図に対応していて,座標系も都市計画図と同じ平面直角座標である.

3.     全体の流れは以下のようになる.
・まず空のラスタファイルを用意する
・このファイルにデータを追加する

4.     操作は,[データ入力編集・空の図形の発生]から[国土地理院10mメッシュ土地利用図 広範囲の集計]を選択

5.     CD-ROMの入ったドライブを選択する.「ファイルコード.TDU」という名前のファイルがリストされたら,そこが正しいドライブやディレクトリである.

6.     受け取るファイル名を指定する.これは必ず既存のラスタファイルでなければならない.

7.     読込実行をクリックして読み込む.

8.     変数名は「1山林・荒地」などになる.全部で19個の変数ができ,土地利用分類ごとのセル内での面積(m2)が変数に保存されている.

9.     ファイルが存在しない場所は「17対象地域外」になる.

10.  今のところ首都圏のデータのみが使用できる.(近畿圏と中部圏は手元にCDがないのでつくっていない)

11.  世界測地系の「細密数値情報(10mメッシュ土地利用)」にも対応している.世界測地系のものとは図郭が数百メートルずれる.

 

 

 

2.16 全国植生調査3次メッシュデータ(1kmメッシュ)の読込

環境省が3次メッシュ(約1km×1km)の中心で行った植生調査結果が生物多様性センターからインターネット上で公開されている(http://www.biodic.go.jp/dload/mesh_vg.html).第4回(1988-1992)と第5回(1992-1996)の結果を無料でダウンロードできる.

1.     3次メッシュの中心位置のpointの値として「みんなでGIS」の新しいベクトルファイルに読み込む.

2.     上記のアドレスから「植生調査共通凡例コード等」と必要な時期の「植生3次メッシュデータ」の両方を自分のパソコンのディスクにダウンロードする.

3.     LHAの圧縮ファイルなので,適当な解凍ソフトで解凍する.ひとつのディレクトリに凡例ファイルを含めて,全てのファイルを入れておく.veg04_05guide.htmlなどの説明書は重複して入っているので上書きしても良い.解凍ソフトは「窓の杜」http://www.forest.impress.co.jp/などから無料ソフトをダウンロードできる.

4.     「みんなでGIS」を起動し[データ入力・空の図形の発生]→[植生調査3次メッシュデータ]

5.     読み込むファイルの選択で,解凍したディレクトリを選ぶ.veg_gunraku.csvveg05mesh.csvなどのファイル群が見える.正しく選択すると「データのディレクトリ」と表示される.

6.     植生調査ファイルには全国のデータが入っているが,平面への投影では全国をひとつの座標系で投影できないので,座標範囲を平面直角座標(都市計画図など)かUTM座標で指定する.地図上で緯度経度をよみとって範囲を決めたときには[経緯度電卓]で座標変換できる.

7.     受け取るファイル名を指定する.新しいファイルを作る.

8.     読込実行をクリックして読み込む.

9.     植生のタイプは4つのレベルでtree状に細分化されていて,この情報も属性値として保存されている.
a.区分      気候帯,自然の植生と人手の入った植生,など.(11区分で0-Aまで)
b.集約群落            大まかな分類(群団,群集,クラス). (「区分」内を
       10
進数2桁で細分)
c.群落      基本的な分類(群集,亜群集). (「集約群落」内を10進数2桁で細分)
d.詳細      群集以下. (「群落」にアルファベットのsuffixをつけて表現)

10.  このプログラムでは区分番号,集約群落番号,群落番号,詳細群落番号は全て十進数で表現している.詳細群落番号は小数点以下2桁を使い,A.01B.02などと表現する.

11.  属性変数の「自然度」は遷移の極相で大きく,人工的な環境で小さくなる(1-10).詳細はveg_sizendo.csvファイルを参照

 

 

 

2.17 数値地図2500(空間データ基盤)の読込

国土地理院のホームページから閲覧目的でダウンロードできるが,日本地図センターでもCD-ROMを市販している.1:2500都市計画図に相当する市区町村界,町丁目,道路,鉄道,河川・池沼,三角点などをベクトルデータとして取得できる.これらはそれぞれ別のファイルになる.

1.     インターネットのwwwで国土地理院の「数値地図(空間データ基盤)閲覧(試験公開)」をみる(http://mapbrowse.gsi.go.jp/

2.     このホームページの「閲覧する市区町村の選択」をクリック

3.     必要な市区町村の「数値地図2500」をクリックして,ファイルを自分のパソコンのディスクにダウンロードする.

4.     LHAの圧縮ファイルなので,適当な解凍ソフトで,もとのディレクトリを生かして解凍する. 1:2500都市計画図の1枚に相当する範囲がひとつのディレクトリになり,さらにその中に水域や道路などの項目ごとのサブディレクトリができる.解凍ソフトは「窓の杜」http://www.forest.impress.co.jp/などから無料ソフトをダウンロードできる.

5.     「みんなでGIS」を起動し[データ入力・空の図形の発生]→[数値地図2500(空間データ基盤)の読込]

6.     解凍したディレクトリから,必要な1:2500都市計画図のサブディレクトリの中の,さらに必要な項目(道路,水界など)のサブディレクトリを選ぶ..atr.arcなどの拡張子のファイル群が見える.正しく選択すると[読込実行]ボタンの横に「空間データ基盤のディレクトリ」と表示される.以下は項目のサブディレクトリ名.
 gyousei    市区町村,町丁目
 gaiku       街区
 road         道路
 mizu        水域
 kijunten  三角点
 tatemono               公共の建物
 others      鉄道,駅,場地(公園など)

7.     町丁目や水域などはpolygonだが,これをlineとして保存することもできる.lineとして保存すると,polygonが図郭で切られる部分の線や,ドーナツ状の形状を擬似的に表現するための割り込み線など(線種タグ5番以上)が削除される.複数の地図をまとめてpolygonの外縁を表示するには,lineとして読み込んでからファイルを統合するとよい.

8.     [読込実行]で読み込む.

9.     水域や道路などがそれぞれ別のファイルになる.図郭も独立したファイルとして作成するが,オプションで[polygonとして保存]を選択すると図郭は長方形のpolygonになり,[lineで保存]を選択すると4本の外縁のlineになる.

10.  .atr.arcなどの拡張子のファイルの名前を変えてはいけない.また違う1:2500都市計画図のファイルを混在させてはいけない.

11.  1:25000地形図相当の「数値地図25000(空間データ基盤)」はフォーマットが全く違うので読めない.今のところ,世界測地系の街区ありのデータで動作確認している.

 

 

 

2.18 2万5千分1地形図地図画像「数値地図25000(地図画像)」の読込

CD-ROM

1.     CD-ROMにふつうの1:2500地形図の画像が入っている.UTM座標系にマッピングしてあるTIFF画像なので,画像をBMPに変換した後で,四隅の座標をコントロールポイントとして指定して読み込むことができる.

2.     CD-ROMのドライブのDATAディレクトリを開くと,KANRI.CSVというファイルがあるので,これをダブルクリックしてExcelで開いて見る. 1:2500地形図の地図名とファイル名の対応表が入っている.日本測地系ではKANRI.CSVだが世界測地系はKANRI2.CSVを見る.

3.     さらに4桁の数字のディレクトリが見えるが,これはファイル名の先頭4桁に当たる(2次メッシュコード).必要なディレクトリの必要なファイルをPhotoshopLEなどの画像ソフトにドラッグ&ドロップして開く.この画像を24bitカラーのWindowsビットマップ(BMP)ファイルとして,自分の作業フォルダに保存する.

4.     KANRI.CSV(あるいはKANRI2.CSV)をExcelで見て,地図の四隅の緯度・経度を確認する.この緯度経度を[経緯度電卓]で平面直角座標にしておく(日本測地系の経緯度か世界測地系かを確認しておく).

5.     [データ入力編集・空の図形の発生]→[BMP画像ファイル→ラスタファイル]から,4すみの座標を入力して「みんなでGIS」のラスタファイルに変換する.

6.     この地図と同じUTM座標系を使うのが良い.無理に平面直角座標で読み込もうとすると,地図によっては誤差が大きくなる.うまく行かない場合は[古地図読込]からいったんpointデータに変換して,その後に[pointを補間してraster]にて画像のrasterファイルを作ると座標は正確になる.ただし高解像度にしようとするとメモリー不足になりやすい.

7.     紙地図的な色にするには[2万5千分の1地形図のCD画像の色を紙地図的に変換]をつかうと便利.

<インターネット>

国土地理院の利用規程では「閲覧目的」に制限されているが,技術的には下記のような操作が可能なので,いつか利用規程の条件がゆるめられれば利用可能になるかもしれない.現在の時点ではインターネットからダウンロードした地図画像を論文や報告書に使うことはできない.

1.     インターネットのwebで国土地理院の「地形図閲覧債サービス」をみる(http://mapbrowse.gsi.go.jp/

2.     必要な地図を表示する.市販の1:25000地形図の1/4の部分が表示される.

3.     表示されたインターネットの地図の,四角と中心付近の目立つ場所の合計5カ所程度にコントロールポイントを選んで,マウスをあわせて左クリック(ふつうのクリック)するとその地点の緯度と経度が表示されるのでこれを記録して[経緯度電卓]でUTM座標か平面直角座標に変換しておく.

4.     自分のディスクに地図画像を保存する.

5.     画像のフォーマットがPNG(Portable Network Graphics)なので,PhotoshopLEなどの写真レタッチソフトで画像ファイルを読み込んで,RGB24ビットカラーのBMPファイルとして保存する.

6.     [データ入力編集・空の図形の発生]→[BMP画像ファイル→ラスタファイル]で,上記3番のコントロールポイントを使用して読込む.

 

 

 

2.19 2万5千分の1地形図のCD画像の色を紙地図的に変換

日本地図センターで売っている国土地理院の2万5千分の1地形図のCD-ROMの地図画像はデータ指向のため背景地図には向かない.そこで 緑→白,赤→黄色,シアン→青となるような色の変換を行って紙地図のような色にする.[ラスター変数の演算]でも可能だが大きな画像を早く変換できる.

1.     あらかじめ[BMP画像入力]などから地図画像を読んでラスタ−ファイルにしておく.

2.     [2万5千分の1地形図のCD画像の色変換]を立ち上げ,ラスタ−ファイル名を指定して実行.

3.     元のファイル名の先頭に色換-“がついた新しいラスターファイルが作られる.

 

国土地理院2万5千分の1地図画像CD-ROMの画像(左)と色変換後の画像(右)

 

 

 

 

属性値の計算とファイル統合

 

<ファイルの統合と変数の演算>

2.20 ラスタ変数の演算と統合

1.     データの演算や,別々のファイルの統合はExcelで行うと柔軟性が高いが,大きなラスタ・ファイルではExcelの限界(256列×65536行)を簡単に越えてしまうし,面倒でもある.そのためラスタファイルの取り回しのためのプログラムを用意した.

2.     「みんなでGIS」を立ち上げて,メニューから[属性値の計算とファイル統合]→[ラスタ変数の演算と統合]を選ぶ

3.     変数を削除する場合は,いちばん左の「変数1」の部分だけを使う.ファイルを選択し,[読込]をクリック,さらに削除する変数を選択して[削除]をクリックする.削除候補のリストに入るので[削除実行]にて本島に削除する.[削除実行]を行うまでは実際には削除されない.

4.     変数間の演算は「変数1」に結果を格納する変数を指定する.新しい変数を書き込むと新変数が作成される.さらに必要に応じて「変数2」と「変数3」を指定し,演算の種類を選ぶ.[〜に定数を使用]のチェックボックスをチェックすると「変数2」と「変数3」にファイルから読み込んだ数でなく,その場で入力した定数を与えることができる.「変数4」をつかった条件式を設定すると,セルごとに演算を行うかどうかを制御できる.条件に満たないセルには全て欠損値が入る.[演算実行]によって演算が行われ,結果は即座にファイルに書き込まれる.

5.     複数の標高データや土地利用データを張り合わせて広域の標高データを作成する場合や,複数の空中写真を張り合わせるには以下の手順をとる
(a)
[データ入力編集・空の図形の発生]から[ラスタデータ作成]を選び,必要な広さの空のラスタファイルを作成しておく.
(b)
[データ入力編集・空の図形の発生]から[ラスタ変数の演算と統合]を選び,演算の種類として[統合]を選んで[演算実行]する.重なるデータは,標高なら平均しても良いが土地利用ではどちらかのファイルを優先させることになる.

6.     たとえば標高の値によって紙に印刷する地図の色を変えるには,条件式の「変数4」に標高の変数を割り当て,標高の値の範囲ごとにred, green, blueなどの変数に値を指定する.

7.     変数の値はいったん一時的なデータとして読み込んで計算し,あとから結果を代入するので,同じ変数が「変数1」から「変数4」までに複数回あらわれてもかまわない.たとえば a = a + bif a > 5 というのもできる.

 

 

 

2.21 ベクトルファイルの統合

1.    ベクトルファイルの統合もExcelで行うのがいちばん柔軟性が高いが,大きなファイルでは作業がたいへんなのでベクトルファイルをマージするためのプログラムを用意した.

2.    「みんなでGIS」を立ち上げて,メニューから[属性値の計算とファイル統合]→[ベクトルファイルの統合]を選ぶ.まずファイル1とファイル2のふたつのファイル(あるいはどちらか一方)に読み込んだ後,適当なオプションを設定し,最後に[統合実行]を行う.

3.    基本的には,ファイル1とファイル2のふたつのファイルをマージした結果を新しいファイルに書き込む.「ファイル1とファイル2をマージしてファイル1に書き込む」こともできるし「ファイル1ひとつだけを操作した結果を書き込む」こともできる.

4.    マージの方法として,変数名が重複する場合の重ね書きの指示や,図形名”name$”が重複する場合にこれをキーにしたマージができる.図形そのものの形やタイプが違っていても図形名が同じであれば同一図形と判断され,ファイル1の図形情報が優先的に使われる.

5.    図形の空間範囲や,属性変数値によって統合したものから図形レコードを削除する事ができる.

6.    「みんなでGIS」に固有の2行のヘッダと図形形状のデータを取り除いた,統計ソフトなどで用いるための外部ファイルに書き出すには[外部ファイルに保存]をチェックする.第1行に変数名が入ったコンマ区切りのテキストファイルになる.図形情報のなかで図形名だけが”name$”の変数名ではいっている.

7.    外部ファイルを読み込む場合は,”name$””name”の変数名がある場合はその値を図形名に使い,図形の形状はダミーのpoint図形となる.この変数名がない場合は適当にダミーの図形名が生成される.ダミーの図形情報を持ったファイルは「みんなでGIS」の統計機能を使うときに利用できる.

8.    図形形状の情報はファイル1が優先されるため,ファイル1に正しい図形情報が入ったファイルを読込み,ファイル2に外部ファイルを読み込むと,ファイル2の属性データを含んで正しい図形情報をもったファイルをつくることができる.これは解析の途中で外部の統計ソフトなどで計算し,その結果を「みんなでGIS」に持ち帰るときに役に立つ.

9.    50mDEM10mDEMpoint格子のファイルをマージするときは,「全て別図形として扱う」と「図形名のチェック省略」をオンにしておくとチェックがないので処理が早い.

10. ある属性値をキーにして,ファイル1の複数の図形に,ファイル2の全属性値を1対多でマージすることができる.樹木個体の位置情報をもつファイル(ファイル1,外部ファイルでも良い)に,サブ・プロットの属性や種の属性(ファイル2,外部ファイルでも良い)を追加するような場合に使う.ファイル2の図形情報は新しいファイルには入らず属性変数のみがマージされる.キーとなる属性値で図形情報を並べ替えておく必要はないが,ファイル2に同一の属性値をもつ図形が複数あるばあいは最も始め(ファイルのはじめのほう)の図形の値のみが使われる.
 操作は,いったん両方のファイルを詠み込んだ後に行う.
・新変数名のリストからマージのキーとする変数を選択して[キー変数]をクリック
・[キー変数で属性のみマージ]を選択

統合されたベクトルファイル

 

図形情報を持つベクトルファイル

 

先頭に変数名を持つ普通のcsvファイル

 

統合vectorsample.csv

 

 

vectorsample.csv

 

統合

 

auxfile.csv

属性変数: 変数1,

 変数A,変数Bred

 greenblue

図形情報:

 vectorsample.csv

 図形情報

 

属性変数: 変数1

 

 

図形情報:

 完全な図形情報

 

属性変数: 変数A

 変数Bredgreen

 blue

図形情報:

 図形名(name$)のみ

図2.8 図形名(name$)をキーにした外部ファイルのマージの例.標準添付のサンプルファイルなのでExcelで内容を確かめることができる.緑の背景はベクトルファイルで青い背景は外部ファイル.

 

 

 

2.22 ベクトルファイルの変数の演算

1.    ベクトルファイルの変数間の演算はExcelで行うのがいちばん柔軟性が高い.またいったん外部ファイルに出力してからデータベースソフトや統計ソフトの計算機能を使うこともできるが,大きなファイルでちょっとした演算をする場合を考えてプログラムを用意した.

2.    メニューから[属性値の計算とファイル統合]→[ベクトル属性変数の演算]を選ぶ.まずファイルを読み込んだ後,演算方法と変数を選択し,[演算実行]する.

3.    結果を格納する変数として新しい変数名を記入すれば新しい変数が追加される.

4.    図形ごとに演算を行うかどうかを条件で設定できる.既存の変数に結果を代入する場合は,条件を満たさない場合は既存のデータがそのまま残る.「欠損値は真」をチェックしてかつ,あり得ない条件を設定した場合(s>3 and s<1 など)は,sが欠損値の場合だけに演算が行われるはずである.

5.    計算結果は即座に同じファイルに書き戻される.「処理結果をすぐ読み込む」がチェックしてあれば処理結果が読み込まれる.計算を続ける場合は必ずこれをチェックしておく.

6.    「変数の情報を表示」をチェックすると数値変数の場合にデータ数と平均,標準偏差が変数名の下に表示される.それ以外の場合は始めの3つのデータの値が表示される.

7.    「vやwに定数を使用」をチェックすると,変数名のところに適当な定数(たとえば100.0などの数値)を置くことができる.画像出力の色変数(red, green, blue)をケースによって指定する場合などには便利かも知れない.

 

 

 

2.23 ベクトルファイルのリストを表に変換

1.  ベクトルファイルのリスト形式のデータを読込み,表の形にする.特に指定しなければ上書きされずに新しいファイルが作成される.
<リストの例>
地点$,種名$,個体数
東京1, ミヤマクワガタ, 2            ←この図形の空間情報が継承される
東京1, カブトムシ, 1
東京1, コクワガタ, 3
神奈川3, カブトムシ, 4              ←この図形の空間情報が継承される
神奈川3, コクワガタ, 4
<表の例>
地点$        ,ミヤマクワガタ ,カブトムシ     ,コクワガタ
東京1       ,2        ,1         ,3
神奈川3     ,null      ,4          ,4

2.    文字列変数名には必ず後に$を付けておく.$が付かない場合は数値変数とみなして大小順に並べ替えようとするので,文字列(欠損を表すnull以外)が入っているとエラーになる.

3.    表の要素(中身)は全て文字列としてあつかわれる.同じ行・列の組み合わせの情報がある場合は,ファイルの後方のものが破棄される.

4.    図形情報は,行(新図形)の変数値のうち,ファイルの先頭にあったものの図形データが使われ,重複して出現した場合には以後の図形情報は破棄される.図形情報が保存された図形は属性情報も継承される.

 

 

 

2.24 ベクトルファイルの表をリストに変換

1.   ベクトルファイルのリスト形式のデータを読込み,表の形にする.特に指定しなければ上書きされずに新しいファイルが作成される.
<表の例>
地点$       ,ミヤマクワガタ ,カブトムシ     ,コクワガタ
東京1      ,2        ,1         ,3
神奈川3    ,null      ,4          ,4
<リストの例>
地点$     種名$,       個体数
東京1,     ミヤマクワガタ, 2               ←東京1の図形情報がコピーされる
東京1,     カブトムシ,     1               ←東京1の図形情報がコピーされる
東京1,     コクワガタ,     3               ←東京1の図形情報がコピーされる
神奈川3,   カブトムシ,     4
神奈川3,   コクワガタ,     4

2.     新し区必要になる変数名(上記の例の「種名$」と「個体数」に相当)は必ず指定する.

3.     表の要素(中身)は全て文字列としてあつかわれる.新しいファイルに欠損値を含めないのがデフォルトだが,含めることもできる.

4.     図形情報は,それまでの行のものがコピーされる.表の部分以外の属性情報も図形情報と共にコピーされて継承される.

 

 

 

<属性値の空間的な集計>

2.25 図形が最近接する他の図形やセルの属性値を取得

1.     植生の調査地点から最も近い気象観測点のデータを使う,という場合などに相当する.受取側と属性データ源のファイルがともにpoint図形だけのときには,Voronoi分割と同じ結果になる.

2.     [属性値の計算とファイル統合]→[最近接の観測地点の属性を収集]を選択

3.     属性データを含むファイル(ベクトル図形とラスタ画像のどちらでも良い)と,受け取る図形ファイルを指定し,[ファイル読込]する.

4.     収集する変数をリストの中から選択する.

5.     最近接データが複数ある場合の処理を指定する.受取側のpolygonの内部に複数の観測地点がある場合は距離がゼロになり,重複データとなる.

6.     変数名が重複してしまうときは,[ベクトル属性変数の演算]から変数名を変更するか,エディタやExcelなどでファイルを開いて変数名を書き換える.

7.     数値データに対して四分位や中央値,頻度集計などを求めると,カテゴリー数が非常に多くなるため,ソートなどに処理時間がかかったり,頻度集計では計算結果を格納する属性変数の数が膨大になったりすることがある.これを避けるためには,あらかじめ数値を必要な有効数字にそろえておくことが望ましい.[属性値の計算とファイル統合]からint関数をつかう.たとえばInt(x*100)/100を求めると小数点以下2桁にそろえることができる.

 

 

 

2.26 一定距離内の図形やセルの属性値を集計して,図形に付与

1.     植生の調査地点の周辺の土地利用データを収集する,という場合などに相当する.

2.     [属性値の計算とファイル統合]→[一定距離内の図形やpixel属性を収集して図形に]を選択

3.     属性データを含むファイル(ベクトル図形とラスタ画像のどちらでも良い)と,受け取る図形ファイルを指定し,[ファイル読込]する.

4.     収集する変数をリストの中から選択する.

5.     収集する範囲を距離で指定する.距離ゼロのときはpolygonareaでは図形の境界線を含む図形内部だけとなり,pointlinetreeなどでは線上に重なるものだけになる.セルは中心の点として扱われる.

6.     集計方法を指定する.

7.     属性変数の値によってグループ分けして統計量を計算できる.この場合は,受け側の図形がグループごとにコピーして結果を格納する.

8.     変数名が重複してしまうときは,[ベクトル属性変数の演算]から変数名を変更するか,エディタやExcelなどでファイルを開いて変数名を書き換える.

9.     正確なpoint地点でのラスタデータのセルの値を収集したいときや,収集する属性データの源の図形名やセル番号を知りたい場合には,[かたちの情報の変換と計算]→[point地点のラスタ情報収集]を使う.この場合はセルは中心点ではなく長方形の領域として扱われる.

10.  数値データに対して四分位や中央値,頻度集計などを求めると,カテゴリー数が非常に多くなるため,ソートなどに処理時間がかかったり,頻度集計では計算結果を格納する属性変数の数が膨大になったりすることがある.これを避けるためには,あらかじめ数値を必要な有効数字にそろえておくことが望ましい.[属性値の計算とファイル統合]からint関数をつかう.たとえばInt(x*100)/100を求めると小数点以下2桁にそろえることができる.

収集先のベクトル図形の属性値として,一定距離内のベクトル図形(3個)の属性変数の集計結果を格納

収集先のベクトル図形の属性値として,一定距離内にセルの中心があるラスタデータのセルの(11)の属性変数の集計結果を格納

図2.9 属性を図形に収集

 

 

 

2.27 一定距離内の図形やセルの属性値を集計して,セルに付与

1.     [属性値の計算とファイル統合]→[一定距離内の図形やpixel属性を収集してラスタに]を選択

2.     属性データを含むファイル(ベクトル図形とラスタのどちらでも良い)と,受け取るラスタファイルを指定し,[ファイル読込]する.

3.     収集する変数をリストの中から選択する.

4.     収集する範囲を距離で指定する.距離ゼロのときはpolygonareaでは図形の境界線を含む図形内部だけとなり,pointlinetreeなどでは線上に重なるものだけになる.

5.     集計方法を指定する.

6.     変数名が重複してしまうときは,[ラスタ変数の統合と演算]から変数名を変更するか,エディタやExcelなどでファイルを開いて変数名を書き換える.

7.     数値データに対して四分位や中央値,頻度集計などを求めると,カテゴリー数が非常に多くなるため,ソートなどに処理時間がかかったり,頻度集計では計算結果を格納する属性変数の数が膨大になったりすることがある.これを避けるためには,あらかじめ数値を必要な有効数字にそろえておくことが望ましい.[属性値の計算とファイル統合]からint関数をつかう.たとえばInt(x*100)/100を求めると小数点以下2桁にそろえることができる.

ラスタファイルのセルから一定距離内のセル(13個)の属性値の集計

ラスタファイルのセルから一定距離内のベクトル図形(ここでは3個)の属性値を集計.

図2.10 当該セルの中心から一定距離内のセルや図形の属性値を集計する.

 

 

 

かたちの情報の変換と計算

<図形と座標の操作>

2.28 等値線作成と領域の多角形としての取得

1.   ラスタ・データをもとに,等値線をline図形として取得する.また属性値がある範囲にある領域を多角形図形(area)として取得することもできる.

2.   [かたちの情報の変換と計算]→[等値線作成と領域取得]を選択

3.   データのラスタファイルと,結果の図形を保存するベクトルファイルを指定する.このベクトルファイルが既存の時は上書きされる.

4.   対象とする変数を選ぶと,最小値・平均値・最大値が表示される.

5.   処理としてはセルの間に境界線を引いてゆくが,より滑らかにするために,セルの辺の中点を結んで角を斜めに落とす設定にしてある.等値線や境界線の長さを知るにはこの設定がよいが,領域の面積が重要なときは[そのまま]を指定する.

6.   等値線のタイプは,セルひとつ分の微細な線分をひとつの図形として保存するか,1本の等値線を連続した1本の折線として保存するのか指定できる.単に図上に等値線を表示するだけなら前者のほうが画像出力での処理速度が早い.

7.   等値線は値をコンマで区切って指定する.「〜から〜まで〜間隔」と指定して値の列を自動生成しても良い.対数間隔で等値線を引くには「0.01から1000まで10倍」などと指定して自動生成する.
 標準では指定値未満のセルと,指定値以上のセルの間に等値線が引かれ,指定値は上の領域に入るが,ulの文字(小文字のユーかエル)を数値の後につけることによって,境界の値の取り扱いを指定することができる.指定例は以下の通り.
  3.5u  3.5以上のセルと,3.5未満のセルの間に等値線を引く(標準)
  3.5l  3.5を超えるセルと,3.5以下のセルの間に等値線を引く

8.   領域もコンマで区切って複数の値の範囲を指定できる.領域の値の範囲の指定はコロンで区切って下限値と上限値を並べる.以下のような指定方法がある.
  3      値が3のセルをまとめた領域
  3+     値が3以上のセルをまとめた領域
  3-     値が3未満のセルをまとめた領域
  3l+    値が3を超えるセルをまとめた領域
  3u-    値が3以下のセルをまとめた領域
  1:3    値が1以上3未満の領域をまとめた領域
  1u:3   値が1を超え3未満の領域をまとめた領域

9.   [画像ファイルに出力]から等値線の引かれた画像を作る.「色」というダミーの属性変数が作ってあって値に1が入っている.これをつかって色を指定できる.もっと細かく線の色を指定するには,[属性値の計算とファイル統合]→[ベクトル属性変数の演算]でred, green, blueの属性変数をつくって,これに適当な値を入れる.

10. 50mメッシュのDEMデータから,背景画像とするための等高線図を作るには,以下のようにすると複雑すぎない単純なイメージが得られる.
a.
国土地理院のDEMCD-ROMから「みんなでGIS」のpointデータに読み込む.[データ入力編集]→[数値地図50mメッシュ(標高)読込]
b. 5m
メッシュ程度(目的によって解像度を選ぶ)のラスタファイルを発生.[データ入力編集]→[ラスタデータ作成]
c. point
から補間してラスタへ.[形の情報の変換と計算]→[point属性を補間してラスタに](「実測値から離れても可」がオフだと早い)
d.
ここで,半径25m程度の移動平均をかける.[属性値の計算とファイル統合]→[一定距離内の属性を集計してラスタへ]
e.
等値線のベクトルファイルを作成する

16×16セル

64×64セル

1024×1024セル

図2.11 補間の細かさと等値線.図2.17の16地点のデータを異なった解像度で補間してから等値線を引いた.背景の濃淡は値の大きさ.

 

 

図2.12 空中写真を使った地被の自動分類の結果(4区分,図3.1上)をもとに,森林のパッチを多角形(area)として取得した.塗りつぶさずに辺だけを表示している.このようにベクトル図形にしておくとパッチ間の距離や林縁からの距離,林縁の長さなどを求めることができる.

 

 

 

2.29 ベクトル図形のタイプの変更

1.    pointlinepolygonなどの図形のタイプを相互に変換する.領域の境界線だけがほしい場合や,領域の内外反転などに使用する.[かたちの情報の変換と計算]→[ベクトル図形のタイプ変更]を選択.

2.    AreaPolygonの内外の反転
ふつうのpolygon(多角形の内側領域)は,多角形の外側を領域とするareaに変換され,単一のpolygonで構成されるareaも内外が反転する.都市郊外の森林のパッチをpolygonとしていた場合,反転するとその森林以外の宅地や畑の領域を表す図形となる.林縁から林の中に入るに従って環境が変わるが,林内の点から林縁(宅地など)との距離を求めるには,森林polygonを反転させてからpointareaの距離を計算する.
 複数のpolygonを含むareaの反転では,(領域1 AND 領域2)の反転 領域1の反転 OR 領域2の反転,となるため,単純な内外の反転ではなく,単一polygonに分解してから反転する(一つのファイル内の横並びの図形は普通はORの関係).

3.    Areaを複数のpolygonに分解
複数の多角形領域で構成されるareaを,複数のpolygonに分解する.外縁(out)と内縁(in)の情報も保存するが,この情報を継承するために,結果はpolygonタイプでなく1つの多角形からなるareaとして表現される.属性変数はもとのものがコピーして継承される.

4.    Treeを複数のlineに分解
枝分かれしたTreeを複数の折線のlineに分解する.接続情報は属性変数に格納される,接続先の図形名はLineName$変数に,接続するノードの位置(その図形の始めからの順番)はLineNode変数にそれぞれ保存されるので,後からtreeを再構築できる.それ以外の属性変数はもとのものがコピーして継承される.河川を支流や上流,下流などの部分に分解して属性(水質,底質,etc.)を解析し,後から全体をまとめることができる.

5.    AreaPolygonを輪郭線のline
Area
Polygonを輪郭線だけをlineに変換する.森林polygonの林縁だけの情報がほしいときや,印刷時にpolygonの縁を協調する目的で使えるかも知れない.

6.    LineTreeをセグメントの線分のlineに変換
折線のlinetreeを多数の直線lineに分解する.もとの接続順はPointOrder変数に格納される.大きなlinepolygonの輪郭の画像出力は遅いがこの機能で分解しておくと早い.属性変数はもとのものがコピーして継承される.

7.    LineTreeを等間隔のpoint列に変換
折線のlineを多数のpointの列にする.もとの接続順はPointOrder変数に格納される.lineの属性をラスタに継承する場合の前処理にも使える.属性変数はもとのものがコピーして継承される.

8.    LineTreeを等長のlineに変換
折線のlineを等しい長さの多数のlineに分割する.余り部分は削除される.もとの接続順はPointOrder変数に格納される.属性変数はもとのものがコピーして継承される.

9.    複数のpolygonをまとめてひとつのAreaに統合
外縁(out)と内縁(in)の情報も保存される.ひとつのareaを構成する全領域の交わり(論理積,AND)となるので,場合によっては該当領域が全く存在しないareaになってしまうこともある.属性変数は,データの最初にあらわれた被統合図形のものがつかわれて,それ以外のものは破棄される.

10. 複数のlineをまとめてひとつのtreeに統合
折線のlineをまとめてtreeにする.接続情報は属性変数からよみこむ.接続先の図形名はLineName$変数の,接続するノードの接続先図形内での位置(図形始めからの順番)はLineNode変数の値が使われる.接続先図形がない場合はtreeのいちばん始めのノードに接続され,やLineNode変数のみ欠損値の場合は接続先の図形の始めのノードに接続される.LineName$変数がrootの場合はtreerootになる.属性変数は,データの最初にあらわれた被統合図形のものがつかわれて,それ以外のものは破棄される.

11. Lineを閉じてpolygonに変換
折線のlineの両端を結んだpolygon(これが外縁となる内部の領域)をつくる.途中での辺の交叉は作成時にはチェックされず,再読込時にチェックが行われる.ただし「読込時ベクトルのチェック省略」が指定されいるとチェックされない.

12. Point列を結んでlineに変換
pointを結ぶ順番は,属性変数のPointOrder変数の値が小さい順になる.マイナスの値や小数でも良いが1×10297より大きくてはいけない.この変数が欠損値の場合は,他の結合が終わった後に,データにあらわれた順に結合される.複数のlineを一括してつくるにはLineName$という属性変数にlineの名前を書いておくと,同じ名前ごとにpointをまとめてlineをつくる.

 

 

 

2.30 座標軸の平行移動と回転

1.    いったん作成してしまったデータの座標軸の平行移動や回転,長さの単位の変更をおこなう.ベクトルファイルとラスタファイルの両方とも行える.

2.    [かたち情報の変換と計算]→[座標軸の平行移動と回転]を選ぶ.

3.    平行移動と,指定した点を中心にした回転,距離の単位の変更(キロメートルからメートルに変更など)ができる.

4.    ファイル名と操作内容を選択し,必要なパラメータを与えて[実行]する.

5.    結果は読み込んだファイルに書き戻す.慎重に作業を行うためにはもとのファイルのコピーをとって置いた方がよいかも知れない.特にラスタファイルの回転では,逆回転しても必ずしももとのデータを回復できるとは限らない.

6.    ラスタファイルの回転は,もとの空間解像度をなるべく生かしながら再サンプリングを行う.元のファイルで一つのセルのx方向とy方向のサイズが違う場合は,小さな方(解像度が高い方)を採用し,新しいファイルは必ず正方形のセルになる.新しいファイルでは,元のファイルの4角形の領域が回転したもの全体を含む広い長方形の領域を確保するため,新しいファイルはサイズが増大する.元のファイルの領域外であった部分には欠損値が入る.

 

 

 

2.31 個々の図形の平行移動と回転

1.     ベクトルファイルの属性変数に平行移動量や回転角度を記載しておき,ひとつのベクトルファイルの図形を一括して移動や回転させる.属性変数の値によって,個々の図形ごとに違う動きをする.

2.     この機能を使って図形の位置や方角をランダムに移動することで,たとえば動物のホームレンジの重なりの統計的検定ができる.回転しながら移動する物体の表示なども可能.また樹木の調査においてGPSで緯度・経度を調べた地点からの距離と方位を調べたマッピングデータを平面直角座標やUTM座標などの地図上の座標に一括変換できる.樹木の位置を記録したコドラートの原点の緯度・経度をGPSで測定しておき,個々の樹木の平面直角座標を計算することができる.

3.     移動量や回転角度は,あらかじめ属性変数として保存しておく.

4.     かたち情報の変換と計算]→[個々の図形の平行移動と回転]を選ぶ.平行移動と,指定した点を中心にした回転ができる.

5.     ファイル名を指定して読み込み,操作(平行移動か回転)を指定し,移動量や回転角などを指定した後[変換実行]する.

6.     読み込むファイル名と書き出すファイル名を同一にしておくと,作業が終わった後に自動的に読み込んで,一連の変換を次々行うことができる.

7.     変数を指定しないと,その移動量や回転角はゼロとみなす.また,平行移動してから回転するのと,回転してから平行移動するのでは違った結果になる.

 

 

標準添付のVectorSample.csv

一点に集合

ランダムに回転しランダムな位置に移動

図2.13 標準添付のVectorSample.csvの図形の移動と回転

 

 

 

2.32 図形を属性値で指定した数だけコピー

1.     多数の調査地点で生物の初期個体数と生残個体数を調べることがある.このようなとき1行を1調査地点として入力されたファイルを,1行が1個体に対応するように図形を多数回コピーする.また新しい属性変数に生残個体と消失個体で別の値を付加できる.このときの変数名は「付加変数」.

2.     1調査地点を1行としたベクトルファイルを作る.繰り返し数(コピー数)を含む属性変数を用意しておく.コピー図形のうち何個に値1を割り振るのか(残りは値2)を別の属性変数に用意しておいても良い.

3.     [その他応用プログラム]→[同一図形のコピー作成]を選択

4.     入力ベクトル図形ファイルと書き込みファイル名(同一でも良い)を指定して[読み込み].属性変数がリストに示される.

5.     変数のリストからコピー数(たとえば初期個体数)を指定する属性変数を選択.値の割付を指定する場合はチェックを入れて,値が割り付けられる回数(たとえば生残個体数)とその値(たとえば生残個体=1,死亡個体=0)を指定する.

6.     [実行]するとコピーを含むファイルが形成される.コピー数がゼロであれば図形は削除される.新しいファイルには全ての属性変数が保存されている.

 

 

<幾何特性の計算>

2.33 図形の幾何的な特性を計算

1.     植生パッチの形状特性を求める場合などに使用する

2.     [かたち情報の変換と計算]→[ベクトル図形の特性値]を選択

3.     ファイル名を指定する

4.     必要な特性値を指定する

5.     計算結果は読み込んだファイル自身に追加される

 

図2.14 図形の幾何特性.黒い多角形の森林の最大内接円(紫色の円,林縁の影響),最小外接円(オレンジ色の円,ハビタットを通って移動可能な距離),最長方向と直交する幅(緑の長方形),などを求めることができる.

 

 

 

2.34 図形間の距離

1.     生物の生育地(ハビタット)間の移動を解析するときなどに使う

2.     [かたち情報の変換と計算]→[図形の相互の間の距離]を選択

3.     距離を保存する側のファイル名と,距離計算の相手側のファイル名を指定する.

4.     同じファイル名を指定するとそのファイル内の全図形間の距離が計算される.polygonとその内部に位置するpointでは距離ゼロとなる.

5.     保存方法を指定する.図形間の距離行列のような形で保存するか,最近接・最遠隔から順に保存する.後者の場合は,最近接の距離,最近接の図形名,2番目の距離,2番目の図形名,というような並びの属性値が保存される.

6.     調査地域の外周をlineで入れておき,最近接から順に並べるオプション付きで距離を計算すると,実際の解析に使える距離データがわかる.(調査地域の端の生育地では,調査地外にもっと近接した生育地が存在する可能性がある)

7.     「飛び石距離」は生物がたくさんのパッチを乗り換えながら移動するときに移動を制限する可能性があるような,乗り越えなければならない最大のギャップの大きさである.距離を保存するファイルと計算対象のファイルに違う図形群が含まれていても,両方のファイルを合わせた図形群を使って飛び石距離を計算する.

図2.15 図形間の距離. polygonarea(穴の空いたpolygon),linetreepointなどの相互の間の距離行列を求める。

 

 

 

2.35 不均一な環境での図形間の到達時間距離

1.     整備された地面は速く歩けるが,藪が茂れば遅くなり,大きな川があれば渡れないこともある.このような環境を「移動可能な速度の空間分布」としてとらえ,ベクトル図形間の距離を最短の到達時間として表現する.通過不可能な地域がある場合は,その周囲を回り込んだ距離となり,遅い場所の中に,速い場所が細長く連なればコリドーになる.直接的には時間を求めることになるが,距離の指標としてつかえる.このような距離は生物の分布拡大を解析する基礎データとしても使うことができる.

2.     [かたち情報の変換と計算]→[不均一な環境での図形間の到達時間距離]を選択

3.     距離を保存する側のベクトルファイル名と,距離計算の相手側のベクトルファイル名を指定する.同じファイルを両方に指定しても良い.

4.     移動可能な早さの空間内の分布はラスタファイルで与える.移動不可能な部分は値をゼロとする.

5.     計算結果として,到達時間(時間距離)は図形×図形の行列のかたちでベクトルファイルに保存される.また別の外部ファイルとして「出発図形名,到着図形名,時間距離」のリストとして保存することもできる.それぞれの図形からの時間距離を,環境データとして指定したラスタファイルに追記することもできる.いずれも到達できない場合は,時間距離=−1になっている.

 

 

図2.16 東京港からの距離.海上の移動速度は任意に設定できるが,この図ではどこでも等しいと仮定している.能登半島など明るい部分では距離がより離れている.岸沿いにしか移動できない生物の場合は,海岸線付近を早く移動可能な場所としてラスター・ファイルに落とし,外洋や陸上の移動可能速度をゼロにする.船舶の移動の場合は湾内の航行速度などを適宜設定する.

 

 

 

 

pointとラスタの高速な変換>

2.36 point地点のラスタ情報を収集

1.     画像処理で画像のラスタデータを格子状のpointの属性に読み込むときなどに使う.実際にはラスタだけでなくベクトルファイル内のpolygonの属性も取り込むことができる.

2.     情報源のセルの位置やpolygonの図形名を取得できる.

3.     ただし周辺のデータを集計することはできない.

4.     [かたち情報の変換と計算]→[point地点のラスタ情報収集]を選択

 

 

 

2.37 point地点のデータを補間してラスタに

1.     画像処理で処理結果のpointデータを画像のラスタデータに変換するときなどに使う.不規則点の補間ができるので,任意の地点での気温などの観測値から地域全体の気温分布図を作成できる.同様に等高線が印刷された地図や測量結果から,標高のメッシュデータ(DEM, digital elevation model)を求めることができる

2.     [かたち情報の変換と計算]→[point属性を補間してラスタへ]を選択

3.     属性を受け取る側のラスタファイルは,[データ入力編集・空の図形の発生]から,あらかじめ空のものを用意しておく.

4.     属性を受け取る側のラスタファイル名と,属性値を持っているpointを含むベクトルファイル名を指定してから[ファイル読込].

5.     双方のファイルに含まれる属性変数がリストされる.抽出する属性変数を選ぶ

6.     セルに対応するpointが存在しない場合の処理方法を指定する.欠損値のままか,最近接のデータで埋めるか,補間を行って滑らかに変化する値で埋めるかを選択する.

7.     欠損値のままか,最近接のデータで埋めるばあいは,重複データの処理も指定できる.普通の数値であれば平均しても良いが,カテゴリとしての数字の場合は[後のデータで置換]を選ぶ

8.     補間のアルゴリズムは以下の通り
(a)
 「斜面の傾斜の変化」が最も少なくなるような曲面を求める.
(b)
 「斜面の傾斜」は隣接するセルの値の差が大きいほど傾斜がきつくなる.「斜面の傾斜の変化」は「自分の区間での傾斜」と「隣の区間での傾斜」の差が大きなほど大きくなり,痩尾根のような凸地形ではプラスに,V字谷のような凹地形ではマイナスになる.(自分の前隣のセルの高度−自分のセルの高度)−(自分のセルの高度−自分の後隣のセルの高度)として「傾斜の変化」を求めることができる.「斜面の傾斜」は標高をxやyで微分した1次微分に相当し,「斜面の傾斜の変化」は2次微分に相当する.x軸方向とy軸方向の「傾斜の変化」を単純に足算したものはラプラシアンと呼ばれる.
(c)
 単純な2次微分で「斜面の傾斜の変化」の大きさを表そうとしても,プラスとマイナスの両方の値をとってしまう.そこでこのプログラムでは
 「斜面の傾斜の変化」=(x軸方向の斜面の傾斜の変化)+(x軸方向の斜面の傾斜の変化)
としてみた.ラプラシアンの2乗ではx軸方向の凸がy軸方向の凹で補償されてしまうが(馬の鞍のような地形),この方法では補償されずにとにかく平坦な曲面になりたがる.なお,2乗でなくて「絶対値の和」や「絶対値のn乗の和」なども可能だが,数学的には2乗がいちばん取り扱いやすい.
(d)
 求めるラスタファイルの全てのセルで上記の「斜面の傾斜の変化」を計算し,その合計値を最小にするようにセルの値をきめる.これで滑らかな補間になっている.
(e)
 あるひとつのセルの値だけを変化させ,他のセル値を全て固定したとき,「斜面の傾斜の変化」の全セル合計は,当該セル値からみると2次関数になっていて,それが最小になるセル値は以下の通り
  最適セル値=(4×前後左右の隣接セル値の合計−前後左右の1つ飛んだ先のセル値の合計)/12
(f)
 そのセルを「最適値」にしても他のセルの値も動いてしまうので一度に最適値を決めることはできない.pointデータが存在するセルの値は固定し,実測データが存在しないセルだけ動かして,繰り返し計算を行って最適値を求めてゆく.
(g)
 空間解像度を4×4,8×8,16×16と細かくしながら計算してゆき,荒い解像度での値を次の細かな解像度での,実測値が存在しないセルの初期値に使う.
(h)
 一度に「最適値」まで動かしてしまうと,行き過ぎが起きて毎回の計算ごとに大きな値と小さな値を交互にとるような振動が発生してしまうこともある.振動を押さえるために[ダンパー]という値を使っている.0から1までの値を指定し,1のときは「最適値」まで一気に動かす.値が大きいと計算は速いが,収束しない可能性も高くなる.
(i)
 計算の終了は,一回の計算でのセル値の変化幅が小さくなったときにうち切る.もとのpointの値の標準偏差を物差しにして相対値で「移動量比」を計算している.この相対値として[打切]を指定する.値が小さいと精度は良くなるが計算時間がかかる.
(j)
 画面左下に表示される[移動量比]と[2次微分]がともに小さくなって行くが,逆に大きくなり始めると振動が発生しはじめていて収束できない.[ダンパー]の値をゼロに近づけたり,[打切]の値を大きくしたりして再計算する.あるいは,ラスタファイルの解像度を下げる.
(k)
 ひとつの観測点が飛び抜けた値を持っていると,ゴム風船をピンセットで引っ張ったようなピークができてしまうことがある.この値を必ずしも通らずにより滑らかにするには,いったん結果が得られた後でストレスが小さなセルは値を固定し,ごく少数のストレスの大きなセルのみを再び補間する.このためには[補間では実測値を離れても可]をチェックする.「外れ値」は上記の(c)の「斜面の傾斜の変化」の平方根について,たくさんのセルの標準偏差の何倍のところ以上のストレスのセルを補間するのかを指定する.標準の1.6では約10%程度のセルを再計算する.
(f)
 50mメッシュ標高データ(およそ45mから55m間隔のpoint)から正確に50mメッシュのラスタデータ(DEM)を作成するときに,階段の幅(ラスタ)と歩幅(point間隔)が合わない現象によって滑らかでない結果になる場合は,必要な解像度よりも高い解像度(2倍くらい)で補間したあと,50mメッシュ内で平均をとったりセルの中心地点の高さを読みとるなどの対策をとることもできる.

図2.17 実測データのpointの位置が不規則な場合の処理. 左:実測データがない部分は欠損値(灰色)のまま.中:最近隣のデータで埋める.右:滑らかな曲面で補間

 

 

 

 

 <属性値から図形を作成>

2.38 属性値を座標とするpointを作成

1.     ベクトルファイルの属性値を座標値とするpoint図形をつくり,新しいベクトルファイルに収納する.

2.     新しいpoint図形はもとの図形の全ての属性値と図形名を継承する.

3.     座標に欠損値があった場合は,その図形に対応するpointは作られない.

4.     操作は [かたち情報の変換と計算]→[point作成]を選択

 

 

 

2.39 属性値を中心座標や半径とする円形のpolygonを作成

1.     ベクトルファイルの属性値を中心座標や半径とする円形のpolygon図形をつくり,新しいベクトルファイルに収納する.

2.     新しいpolygonはもとの図形の全ての属性値と図形名を継承する.

3.     円をpolygon(多角形)で近似する精度として,多角形の辺の長さや辺に対応する中心角の大きさを指定する.辺の長さが短く,中心角が小さいほどきれいな円形になるが,データが大きくなりすぎてしまう.印刷時のpixelサイズ程度の長さであれば十分だとおもう.

4.     円の半径に比べて多角形の辺が長すぎる場合や,半径がゼロやマイナスの場合はpolygonではなくpointが作られる.

5.     中心座標(x, y)や半径のどれかに欠損値があった場合は,新しい図形が作られない.

6.     操作は [かたち情報の変換と計算]→[円形polygon作成]を選択

 

図2.18 横浜市の都市近郊の森林パッチ(黒線)の重心(黄色点)と最大内接円(緑線),最小外接円(青線).重心や内・外接円は「図形の幾何的な特性を計算」にて計算したもの.

 

 

 

 

 

 

 

その他・応用プログラム

 

<統計>

2.40 属性値によるサンプル(図形)の自動分類 (座標づけ分割法)

1.     分割型のクラスター分析であり,ベクトル・ファイルの属性値を使ってサンプルの自動分類を行う.特にGISのソフトというわけではなく,普通の多変量解析のひとつなので,ダミーの座標データを入れておけば