Home
てくてく日記
外で学ぶ
ここで学ぶ
参加する
.
.
.
.
.
 

 

 

国土数値情報 土地利用をArcViewで使ってみよう!

ここでは、国土交通省のホームページからダウンロードできるようになった、国土数値情報 土地利用のデータをArcViewにポイントシェープとして取り込んだ後、平面直角9系に投影し、グリッドを作成する処理について説明しています。

説明といっても今のところ、メールで回答した内容をほぼそのまま転載してます。超長文ですけど、DOSの操作に慣れていれば処理はそんなに難しくないです。

国土数値情報 土地利用のダウンロードはこちらから

国土数値情報のご案内
http://nlftp.mlit.go.jp/ksj/

土地利用のデータにX,Y座標を付加するプログラムのダウンロード

昭和51年の土地利用メッシュ用プログラム L03_51M.rb
昭和62年の土地利用メッシュ用プログラム L03_62M.rb
平成3年の土地利用メッシュ用プログラム L03_03M.rb

リンク先に行くと直接プログラムのコードが見える場合は、リンク上(例えば、L03_51M.rb上で)マウスの右ボタンをクリックして「対象をファイルに保存」(IEの場合)、「リンクを名前をつけて保存」(NNの場合)などして、ダウンロードしてください。またダウンロード後、ファイルの末尾にtxtがついてしまった場合(例えば、L03_51M.rb.txt)、エクスプローラなどで、末尾の.txtを削除して(例えばL03_51M.rb)にしてください。

処理の流れ

1.ダウンロードしたファイルからX,Y座標とその位置の属性がついたファイルを作成する
2.1.をテーブルとして読み込み、さらにイベントテーマとして ビューに追加、ポイントシェープ化する
3.2.のポイントシェープを平面直角9系に変換する(JMCマップにあわせる)
4.3.の平面直角ポイントシェープから約100mメッシュのグリッドを作成する。

今回こちらのスタッフ(くりまさん感謝です)の協力で、ダウンロードした土地利用データから緯度、経度、土地利用コードを出力するプログラムができました。 つまり1の部分を自動的にやってくれるわけです。

ArcViewではデータソースとして、X,Y座標と属性のデータを 地図化することが出来ます。これをイベントテーマって言います。 もし興味があったら以下のページを見てみてください。

緯経度データの地図化とホットリンク
http://www.csis.u-tokyo.ac.jp/~akuri/class/chiritrain/av2/av2ensyu/index.htm

このページの「投影法の変換」までは、今回も同じように処理を行います。 この資料で説明している投影法変換ツールは数値地図変換ツールのおまけでついてくるソフトです。投影法変換ツールをお持ちでない場合でもArcViewで投影法変換出来ますので、今回はその方法も、(後で)説明しときますね。

では、流れを追ってきます。

1.ダウンロードしたファイルからX,Y座標とその位置の属性がついた ファイルを作成する

プログラムの名前がそれぞれ L03-03M, L03-S62M, L03-S51Mに対応してつけられてます。つまり、

L03-03Mを処理する場合:L03-03M.rbを使う
L03-S62Mを処理する場合:L03-62M.rbを使う
L03-S51Mを処理する場合:L03-S51M.rbを使う

このプログラムはRubyという言語で かかれていますので、ご自分のノートパソコンにWindowsで動くRubyを インストールする必要があります。

って書くとおおごとに聞こえるかもしれませんが、やることはファイルを 2つダウンロードしてきてそれぞれ解凍し、PATHを通すだけです。 もちろん、UNIXなどでRubyの環境をお持ちでしたらそちらでやって頂いても 構いません。

Rubyについては以下のサイトに情報があります。

http://www.ruby-lang.org/ja/

このページのまんなかあたりにインストールガイドがあります。 インストールガイドのページに飛ぶといろいろなプラットフォームでの インストール方法が書いてありますけど、この中のmswin32バイナリ インストールの方法を参照してください。

一応、ダウンロード先もメモっておきますね。

スクリプトライブラリ 安定版(1.6.3-20010328) (いきなりLZHへのリンクです。注意してください)
http://www.geocities.co.jp/SiliconValley-Bay/4076/archive/ruby-common-1.6.3-20010328.noarch.lzh

バイナリ・拡張ライブラリ mswin32安定版(1.6.3-20010328) http://www.geocities.co.jp/SiliconValley-Bay/4076/archive/ruby-1.6.3-20010328.i686-mswin32.lzh

で、Rubyの準備が出来たら、いよいよツールを利用します。 DOS窓でコマンド打ちます。この辺大丈夫でしょうか? 入力するコマンドUsageは、ツールをテキストエディタで開くと 一番上のほうに出てますので参考にして下さい。

こんな感じですね。

ruby L03_03M.rb L03_03M_12.txt > L03_03M_12.csv

成功すると頭がこんな感じのテキストファイル(CSV)が出力されます。

経度,緯度,利用状況,利用コード,元コード,メッシュ,細分区画
139.688125,35.53375,建物用地A,7,7,53392545,0

Rubyのインストール、DOS窓の使い方不安な方はこちら

2.1からポイントシェープの作成

まず、1で出力されたファイルの拡張子をtxtにエクスプローラなどで変更してください。

ArcViewを起動して、プロジェクトウインドウからテーブルアイコンを クリックし、「追加」ボタンをクリックし、このtxtファイルを指定します。

プロジェクトウインドウでテーブルアイコンを「ダブル」クリックすると 新規テーブルを作る処理がはじまってしまいますので 、この場合はキャンセル して、「追加」ボタンをクリックしてください。 あと、デフォルトでは、拡張子がdbfのファイルを探しに行きますので、 追加するファイルを指定するダイアログの左下端で「テキストファイル(.txt)」 を指定して下さい。

で追加されたら、今度はビューを開いて「ビュー/イベントテーマの追加」を 選択します。テーブル名として先ほど読み込んだテーブルファイル名、 Xとして経度、Yとして緯度を指定します。これで、X,Y座標の含まれるテキスト ファイルからポイントの地図を作成することができます。 これを表示すると、とっても時間がかかりますが、その県の形が浮かび上がると 思います。

3.投影法変換

お使いのArcViewはVer3.1以降ですか?それだとツールを使わなくても、 緯度経度のデータを投影できるんで楽なんですが。。。

2.のポイントが表示されているビューをアクティブにして「ビュー/プロパティ」 を選択します。投影法ボタンをクリックし、「カスタマイズ」ラジオボタンを クリック、投影法として「横メルカトル」楕円体として「Bessel」、中央子午線 139.83333、参照緯度36、縮尺係数0.9999を指定します。OKボタンをクリック します。

で、「テーマ/シェープファイルに変換」を実行します。出力する シェープファイル名を聞かれますので、適当に指定してください。また、 「このテーマは投影されてますけど、投影した座標系で保存しますか?」と いった趣旨のことを聞いてきますので「はい」と答えてください。

もし、ArcView3.0の場合はサンプルスクリプトを使います。一応、このページが参考になるはずです。

Projector!の使い方
http://www.csis.u-tokyo.ac.jp/~akuri/faq/touei1/howto2.htm

4.グリッドを作る!

やっとグリッドを作れます!新しいビューを開いて、3.で作成した ポイントシェープを開いてください。で、「ファイル/拡張機能」で Spatial Analystを追加します。 「テーマ/グリッドに変換」を選択します。出力する範囲やセルサイズについて 聞かれます。出力する範囲はポイントシェープと同じ範囲、セルサイズは 「以下で指定」を選択し、120ぐらいを指定して下さい。120って入力したら リターンキーを入力するのを忘れないで下さい。リターンを押すと、行と 列の数値がそれに従って変化します。

あとセルの値となる数値の保存されているフィールド名を聞かれますので、 土地利用が数値で入っているほう(1.であげた例だと、利用コード)を 指定してください。 これでグリッドが作成されます。

しばらく処理をした後「属性結合する?」 といった趣旨のことを聞かれます。これはどちらでも構いません。 結合するととっても時間がかかりますが、後々便利でしょう。 もともとこのデータは100mメッシュ、ということなんですが、正確に 100mメッシュではなくて約100mメッシュのデータなんですね。神奈川の データでセルサイズ100と110、120と試したんですが、120でやっと 隙間が埋まりました。

もともと、緯度経度を元に等分していったものなので、対象範囲で 一番南の県でのセルサイズにしておけば、北のほうの県では隙間ができることはないでしょう。(つぶれるセルが出てくる可能性は ありますが)

-----説明以上です。

01.05.30更新

 
Home てくてく日記 外で学ぶ ここで学ぶ 参加する

Copyright 2000-2001 A.Takahashi All rights reserved.