とらりもんHOME  Index  Search  Changes  Login

環境省日本植生図

  • 2006/02/18 改訂 筑波大学農林工学系 西田顕郎
  • 2011/11/30 移設 筑波大学 田中健太郎
  • 2022/02/18 改訂 奈佐原顕郎

(計算機環境はUbuntu Linux 20.04を前提とします。)


環境省は, 日本全国の植生図を定期的に作って公開している。それは「自然環境保全基礎調査」(別名「緑の国勢調査」)の中の「植生調査」としての事業である。

自然環境保全基礎調査植生調査は以下のように行われている:

  • 第1回 S48 (1973), 現地調査+空中写真判読, 362クラス, @1ha
  • 第2回 S53~S54 (1978-1979), 現地調査+空中写真判読, 766クラス, @1ha
  • 第3回 S58~S62 (1983~1987), 人工衛星画像+現地調査, 766クラス, @1ha
  • 第4回 S63~H04 (1988~1992), 人工衛星画像+現地調査, 766クラス, @1ha
  • 第5回 H05~H10 (1993~1998), 人工衛星画像+現地調査, 3次メッシュデータ, @1ha
  • 第6回 H11~H16 (1999~2004), 現地調査+空中写真判読, @約900クラス, 3次メッシュデータ, @1ha
  • 第7回 H17~ (2005~), 現地調査+空中写真判読, @約900クラス, @1ha
  • 参考: https://www.biodic.go.jp/kiso/vg/vg_kiso.html#mainText
  • 参考: http://gis.biodic.go.jp/webgis/sc-007.html

初期の頃は, 紙で公開されていた。それらは後年にデジタル化され, また, 新しいデータはデジタルデータ (GISデータ)のみで公開されるようになった:

https://www.biodic.go.jp/dload/mesh_vg.html

ベクタ形式(第6, 7回)

ダウンロードするとvg67.zipというファイルがゲットできる。まず解凍:

$ unar vg67.zip
$ cd vg67/
$ for i in *zip; do unar $i; done
$ rm *.zip
$ for i in */*zip; do unar $i; rm $i; done
$ rmdir *

基本的な考え方:

各shapeファイルは以下のようにして概要を見ることができる:

ogrinfo -summary shp604047/p604047.shp -al

QGISで開くことも可能:

qgis shp604047/p604047.shp

このとき, ModuleNotFoundError: No module named 'owslib.ogcapi.records'というエラーが出たら, owslibのバージョンが低いってこと。

dpkg -l | grep owslib

で確認。0.25.0とかなら大丈夫。それより低かったら, ubuntugisのPPAを入れて, QGISを入れ直そう。

shapeファイル(ベクター)をGeoTiffファイル(ラスター)に変換するにはこうする:

gdal_rasterize -a HANREI_C -tr 0.00008333 0.000083333 shp604047/p604047.shp out.tif

ただ, これを全部のshapeファイルについて1個ずつやるのは大変なので, まずベクタの状態であるていどまとめる。(そうするほうが境界にパディングの0が出たりを防げる)

ogrmerge.py -single -f VRT -o dummy.vrt shp604*/*.shp

そうしてGeoTiffファイル(ラスター)に変換すればよい:

gdal_rasterize -a HANREI_C -tr 0.00008333 0.000083333 dummy.vrt out.tif

それらを一気にやるには例えばこうする(地域を区切ってマージし, GeoTiffに変換):

for i in `ls | cut -b 1-5 | grep shp | sort | uniq`; do 
rm dummy.vrt
ogrmerge.py -single -f VRT -o dummy.vrt $i*/*.shp
gdal_rasterize -a HANREI_C -tr 0.00008333 0.000083333 dummy.vrt $i.tif
done

そんなこんなを全部一気にやるシェルスクリプトがこちら:

#!/bin/bash
# 環境省 自然環境保全基礎調査植生調査 第6, 7回データのベクター→ラスター変換
# http://gis.biodic.go.jp/webgis/sc-025.html?kind=vg67
# http://gis.biodic.go.jp/webgis/sc-017.html?1st=54
# 2022/02/23 Kenlo Nasahara, Ubuntu 20.04

unar vg67.zip
cd vg67/
for i in *zip; do unar $i; done
rm *.zip
for i in */*zip; do unar $i; rm $i; done
rmdir *

fnvrt="Yaeyama.vrt"
for i in 3622 3623 3624 3724 3725 3823 3824; do ls shp${i}*/*.shp; done > dummy.txt
ogrmerge.py -single -overwrite_ds -f VRT -o $fnvrt `cat dummy.txt`

fnvrt="Daito.vrt"
for i in 3831 3631; do ls shp${i}*/*.shp; done > dummy.txt
ogrmerge.py -single -overwrite_ds -f VRT -o $fnvrt `cat dummy.txt`

fnvrt="Ogasawara.vrt"
for i in 3641 3741 3841 3942 4040 4042 4142; do ls shp${i}*/*.shp; done > dummy.txt
ogrmerge.py -single -overwrite_ds -f VRT -o $fnvrt `cat dummy.txt`

fnvrt="Okinawa.vrt"
for i in 3926 3927 3928 4027 4028 4128 4129 4229 4230 4328 4329 4429; do ls shp${i}*/*.shp; done > dummy.txt
ogrmerge.py -single -overwrite_ds -f VRT -o $fnvrt `cat dummy.txt`

fnvrt="Kyushu.vrt"
for i in 4529 4530 4531 4629 4630 4631 4728 4729 4730 4731 4828 4829 4830 4831 4928 4929 4930 4931 5029 5030 5031 5129 5229 5130 5131
do ls shp${i}*/*.shp; done > dummy.txt
ogrmerge.py -single -overwrite_ds -f VRT -o $fnvrt `cat dummy.txt`

fnvrt="Izu.vrt"
for i in 4540 4839 4939 5039 5139; do ls shp${i}*/*.shp; done > dummy.txt
ogrmerge.py -single -overwrite_ds -f VRT -o $fnvrt `cat dummy.txt`

fnvrt="ShikokuChugoku.vrt"
for i in 4932 4933 4934 5032 5033 5034 5132 5133 5134 5231 5232 5233 5234 5332 5333 5334 5432 5433 5531 5130 5131
do ls shp${i}*/*.shp; done > dummy.txt
ogrmerge.py -single -overwrite_ds -f VRT -o $fnvrt `cat dummy.txt`

fnvrt="KinkiChubu.vrt"
for i in 5035 5036 5135 5136 5137 5138 5235 5236 5237 5238 5335 5336 5337 5338 5435 5436 \
         5437 5438 5536 5537 5538 5636 5637 5638 5738 5134 5234 5334
do ls shp${i}*/*.shp; done > dummy.txt
ogrmerge.py -single -overwrite_ds -f VRT -o $fnvrt `cat dummy.txt`

fnvrt="KantoHokuriku.vrt"
for i in 5239 5240 5339 5340 5439 5440 5539 5540 5541 5639 5640 5641 \
         5238 5338 5438 5538 5638 5738 5739 5740 5741
do ls shp${i}*/*.shp; done > dummy.txt
ogrmerge.py -single -overwrite_ds -f VRT -o $fnvrt `cat dummy.txt`

fnvrt="Tohoku.vrt"
for i in 5839 5840 5841 5939 5940 5941 5942 6039 6040 6041 6139 6140 6141 5738 5739 5740 5741 6240 6241
do ls shp${i}*/*.shp; done > dummy.txt
ogrmerge.py -single -overwrite_ds -f VRT -o $fnvrt `cat dummy.txt`

fnvrt="Hokkaido.vrt"
for i in 6239 6243 6340 6341 6342 6343 6440 6441 6442 6443 6444 6445 6541 \
         6542 6543 6544 6545 6641 6642 6643 6644 6645 6741 6742 6841 6842 6240 6241
do ls shp${i}*/*.shp; done > dummy.txt
ogrmerge.py -single -overwrite_ds -f VRT -o $fnvrt `cat dummy.txt`

for i in *.vrt; do
 gdal_rasterize -a HANREI_C -co "COMPRESS=LZW" -tr 0.00008333 0.000083333 $i ${i%.vrt}_10m.tif   # 10 m resolution
# gdal_rasterize -a HANREI_C -co "COMPRESS=LZW" -tr  0.0008333 0.00083333  $i ${i%.vrt}_100m.tif     # 100 m resolution
done

# 日本全域, 1 km
ogrmerge.py -single -overwrite_ds -f VRT -o ~/dummy_Japan.vrt */*.shp
gdal_rasterize -a HANREI_C -co "COMPRESS=LZW" -tr 0.008333 0.0083333 ~/dummy_Japan.vrt Japan_1000m.tif

ラスタ形式(第5回)

ここではラスタ形式(第5回)のデータの読み込み方法を述べる。これは独得のフォーマットをしているので、簡単に読みこむことはできない。以下のような特徴がある:

  • カラムデータである: ふつう、この種のラスターデータはマトリックス形式だが、このデータは、位置のコードとその場の分類コードを1行とする単位で構成される、カラムのテキストファイル(csv形式)である。
  • 位置情報の解読が必要: 座標系は、「基準地域メッシュ(第3次地域区画)」と呼ばれるもので、緯度経度直交座標系の上に矩形領域を入れ子にしてコードをつけたものらしい。これは、国土地理院の50m数値地形モデルでも採用されているコードで、国土地理院の50m数値地形モデルに添附されている紙(地図)に、緯度経度とコードの変換の仕方が書いてある。
  • ピクセルの縦横が違う: 1ピクセルは約1kmだが、南北方向30秒、東西方向45秒と、緯度経度座標系ではやや横長の矩形領域である。
  • カテゴリーが厖大: カテゴリー(群落コード)は898もある。それをある程度統合した「集約群落コード」にしても326もある。リモセンや陸域物質循環モデルなどの実用には、これらを再統合する必要があろう。下記のtar.gzには私が判断して行なった再統合のテーブルがveg_syuyaku_MOD12.txtとして入っている。

GRASSで読むことを前堤にして、いくつかスクリプトとCプログラムを作ったので、興味のある方は参考にされたい(自己責任で!)。利用前に、かならず「生物多様性情報システム上の成果物の取り扱いについて」(環境省)を熟読すること。

LC_MOE_v04.tar.gz

処理のしかた

  1. このファイルをダウンロードする: 
 wget http://pen.envr.tsukuba.ac.jp/~torarimon/data4download/LC_MOE_v04.tar.gz
  1. このファイルを解凍/展開する:
 tar zxvf LC_MOE_v04.tar.gz
  1. ディレクトリ移動
 cd LC_MOE_v04
  1. スクリプトを実行
 ./README.sh
  1. できたファイルを表示してみる:
qgis LC_MOE_MOD12cats LC_MOE_level1 LC_MOE_level2 LC_MOE_level3

注: これらの処理は、Linux上で行うことを想定している。

注: GRASSを起動しなくてもスクリプトは実行可能。ただしその場合、バイナリラスターデータができるだけ。

注: データそのものは、こちらからダウンロード可能。

注: 再集約したあとのカテゴリ(MODIS土地被覆分類: MOD12に準拠。ただし水田を追加)は、以下の通りである:

# MOD12 Land_Cover_Type_1
# ENF evergreen_needleleaf_forest         1
# EBF evergreen_broadleaf_forest          2
# DNF deciduous_needleleaf_forest         3
# DBF deciduous_broadleaf_forest          4
# MXF mixed_forests                       5
# CSH closed_shrubland                    6
# OSH open_shrublands                     7
# WSV woody_savannas                      8
# SVN savannas                            9
# GRS grasslands                         10
# PWT permanent_wetlands                 11
# CRP croplands                          12
# URB urban_and_built-up                 13
# MOS cropland_natural_vegetation_mosaic 14
# ICE snow_and_ice                       15
# BAR barren_or_sparsely_vegetated       16
# paddy field (not in MOD12)            253
# UNC unclassified                      254 
LC_MEJ.jpg

GRASSで表示した、自然環境保全基礎調査 第6回 3次メッシュ植生データ (MODIS土地被覆分類のカテゴリーに再集約)

Last modified:2022/03/04 12:30:25
Keyword(s):
References:[植生分類図]