国土数値情報土地利用メッシュ(L03)を利用するために

国土数値情報土地利用メッシュ(L03)をBMP画像に変換するRubyスクリプトを公開します。

このスクリプトを利用すると、国土数値情報ダウンロードサービスからダウンロードできる「土地利用メッシュ」のデータをBMP画像に変換することができます。

画像に対応するワールドファイルも生成しますので、多くのGISソフトで利用できるでしょう。

無保証です。ご自由にお使い下さい。

できあがりサンプル

L03-09M-14:神奈川県   L03-09M-23:愛知県

Rubyスクリプトのダウンロード

L03toBMP.zip

スクリプトの使い方

コマンドラインから

> ruby L03toBMP.rb L03-09M-??.txt

などとして使います。

スクリプトの概要

引数に渡されたファイル(複数可)から細分区画のデータを読み出し、BMPとついでにワールドファイルを生成します。 たとえば L03-09M-14.txt を処理すると、L03-09M-14.bmp という画像ファイルと L03-09M-14.bmpw というワールドファイルができます。

L03-51M、L03-62M、L03-03M、L03-09Mの各ファイルで問題なく変換できるように作成してあります。

土地利用メッシュは、田、畑、森林、建物用地、海水域などの土地利用形態が、3次メッシュの領域をさらに縦横とも10分割した細分区画ごとに掲載されています。このデータひとつがひとつの画素になります。

出力するBMPは16色ビットマップです。16個のパレットのうち最初のもの(白色)がNODATAにあたります。 平成3年および9年のデータは"G:ゴルフ場"が17番目になってしまいますので、 それを"D:欠番"のパレットと入れかえています。 画像処理ソフトで白色(white)を透過処理すると、 より使いやすくなるかもしれません。

東京都全域を1枚の画像にすると、とてつもなく大きくなってしまうので、 34度以南は切り捨てています。 これはファイル名が"13.txt"で終わっているかどうかで判断しているので、 たとえば13a.txtなどと名前を変えておくと東京都全体を処理することができます。 この場合、14400x18600というサイズの画像ファイルになります。

利用形態と色の割当

L03-51ML03-62ML03-03ML03-09M
0255,255,255NODATANODATANODATANODATA
10,255,255
2128,128,0その他の農用地その他の農用地
3128,128,32果樹園果樹園欠番欠番
4128,128,64その他の樹木畑その他の樹木畑欠番欠番
534,139,34森林森林森林森林
6189,183,107荒地荒地荒地荒地
7105,105,105建物用地A建物用地建物用地建物用地
8128,128,128建物用地B欠番欠番欠番
90,0,139幹線交通用地幹線交通用地幹線交通用地幹線交通用地
A139,69,19その他の用地その他の用地その他の用地その他の用地
B65,105,225湖沼内水地河川地及び湖沼河川地及び湖沼
C32,105,225河川地A欠番欠番欠番
D0,105,225河川地B欠番欠番欠番
E244,164,96海浜海浜海浜海浜
F64,244,208海水域海水域海水域海水域
G0,255,0欠番欠番ゴルフ場ゴルフ場

ただし、平成3年および9年のデータは"G:ゴルフ場"が17番目になってしまいますので、 それを"D:欠番"のパレットと入れかえています。

Rubyについて

Rubyになじみのない方は、「Rubyの歩き方」などを参照してください。