勝手にCode for SDGs / 森林率

#SDGs指標のローカライズ

SDGsの指標のローカライズに取り組んでいます。
https://qiita.com/nichesuch/items/7951777dd6b9d74876da

#森林率をオープンデータから算出する。

`Goal 15 陸の豊かさを守ろう`の指標になっている森林率をオープンデータを使って算出してみます。

>15.1.1 Forest area as a proportion of total land area
>土地全体に対する森林の割合

#国土数値情報のデータを使う。

http://nlftp.mlit.go.jp/ksj/index.html
>「国土数値情報」とは、国土形成計画、国土利用計画の策定等の国土政策の推進に資するために、地形、土地利用、公共施設などの国土に関する基礎的な情報をＧＩＳデータとして整備したものです。そのうち公開に差し支えないものについて、「地理空間情報活用推進基本法」等を踏まえて無償で提供しています。

国土数値情報で森林地域のgeoデータを公開しているので、それを使わせてもらいます。
自分の街の状況を知りたいので、行政区域のgeoデータも使わせてもらいましょう。

#geopandasを使う。

geopandasはgeoデータを扱うのに便利なライブラリで、面積計算をしてくれるので、今回はこれを使います。

基本はgeopandasで読めればOKですが、日本語の扱いの問題なのか、シェープファイルは文字化けしてしまうので、行政区域はgeojson形式の物を利用しました。
また、行政区域が複数のPOLYGONに別れているものを、MULTIPOLYGONにまとめられていないので、各行政区域IDごとに集計しています。（※foliumでコロプレス図にしようとしたら、IDの重複で怒られたのでちょっと困った。）

行政区域と森林地域の共通部分をくり抜き出す（intersection）と、各行政区域の森林地域が取り出せます。

あとは面積を集計して、全体の面積で割れば、森林率が出てきます。

コードは以下にアップしました。
https://github.com/nichesuch/localSdgsIndicators/blob/master/forest_in_kanagawa.ipynb

#神奈川の森林率抜粋

神奈川県は都市部と森林部が顕著に別れています。
例えば横浜市西区は森林率0%で、足柄上郡山北町は森林率90%を超えます。

また、同じ足柄上郡でも開成町は森林率0%でした。
範囲が狭いので、むしろそこに街を集めたという感じでしょうか。

#指標のしきい値に照らし合わせる。

さて、この森林率がよいのか悪いのか、しきい値を確認してみましょう。

http://www.sdgindex.org/assets/files/2018/Methodological%20Paper_v1_gst_jmm_Aug2018__FINAL_rev10_09.pdf

あれ
森林率は1年ごとの変化量で見るようです。

| SDG |Indicator |Best (value = 100) |Green |Yellow |Orange |Red |Worst (value = 0) |
|-----|----------|-------------------|------|-------|-------|----|-------------------|
|15|Annual change in forest area (%)|0.6|≤3|3 < x ≤ 4.5|4.5 < x ≤ 6|>6|18.4|
      
これ、一番状況が良い国でも0.6%減ってことですよね？　現実を突きつけられた感があります。

さて、国土数値情報のデータは過去のデータも参照できるので、平成27年と平成23年のデータを用いて算出して、4年間の森林変化量を算出し、それを1年ごとに平均化(複利的な計算はしていません。)して、上記のしきい値で判定してみました。

| id | name | Indicator |
|--:|:--|:--|
| 14101 | 神奈川県横浜市鶴見区 | Red |
| 14102 | 神奈川県横浜市神奈川区 | Red |
| 14103 | 神奈川県横浜市西区 | - |
| 14104 | 神奈川県横浜市中区 | Green |
| 14105 | 神奈川県横浜市南区 | Red |
| 14106 | 神奈川県横浜市保土ケ谷区 | Red |
| 14107 | 神奈川県横浜市磯子区 | Green |
| 14108 | 神奈川県横浜市金沢区 | Orange |
| 14109 | 神奈川県横浜市港北区 | Red |
| 14110 | 神奈川県横浜市戸塚区 | Yellow |
| 14111 | 神奈川県横浜市港南区 | Yellow |
| 14112 | 神奈川県横浜市旭区 | Orange |
| 14113 | 神奈川県横浜市緑区 | Green |
| 14114 | 神奈川県横浜市瀬谷区 | Green |
| 14115 | 神奈川県横浜市栄区 | Green |
| 14116 | 神奈川県横浜市泉区 | Red |
| 14117 | 神奈川県横浜市青葉区 | Green |
| 14118 | 神奈川県横浜市都筑区 | Red |
| 14131 | 神奈川県川崎市川崎区 | - |
| 14132 | 神奈川県川崎市幸区 | - |
| 14133 | 神奈川県川崎市中原区 | Green |
| 14134 | 神奈川県川崎市高津区 | Yellow |
| 14135 | 神奈川県川崎市多摩区 | Green |
| 14136 | 神奈川県川崎市宮前区 | Green |
| 14137 | 神奈川県川崎市麻生区 | Yellow |
| 14151 | 神奈川県相模原市緑区 | Green |
| 14152 | 神奈川県相模原市中央区 | Yellow |
| 14153 | 神奈川県相模原市南区 | Yellow |
| 14201 | 神奈川県横須賀市 | Green |
| 14203 | 神奈川県平塚市 | Green |
| 14204 | 神奈川県鎌倉市 | Green |
| 14205 | 神奈川県藤沢市 | Yellow |
| 14206 | 神奈川県小田原市 | Green |
| 14207 | 神奈川県茅ヶ崎市 | Yellow |
| 14208 | 神奈川県逗子市 | Red |
| 14210 | 神奈川県三浦市 | Orange |
| 14211 | 神奈川県秦野市 | Green |
| 14212 | 神奈川県厚木市 | Green |
| 14213 | 神奈川県大和市 | Green |
| 14214 | 神奈川県伊勢原市 | Green |
| 14215 | 神奈川県海老名市 | Red |
| 14216 | 神奈川県座間市 | Green |
| 14217 | 神奈川県南足柄市 | Green |
| 14218 | 神奈川県綾瀬市 | Red |
| 14301 | 神奈川県三浦郡葉山町 | Green |
| 14321 | 神奈川県高座郡寒川町 | Red |
| 14341 | 神奈川県中郡大磯町 | Green |
| 14342 | 神奈川県中郡二宮町 | Green |
| 14361 | 神奈川県足柄上郡中井町 | Green |
| 14362 | 神奈川県足柄上郡大井町 | Green |
| 14363 | 神奈川県足柄上郡松田町 | Green |
| 14364 | 神奈川県足柄上郡山北町 | Green |
| 14366 | 神奈川県足柄上郡開成町 | - |
| 14382 | 神奈川県足柄下郡箱根町 | Green |
| 14383 | 神奈川県足柄下郡真鶴町 | Green |
| 14384 | 神奈川県足柄下郡湯河原町 | Green |
| 14401 | 神奈川県愛甲郡愛川町 | Green |
| 14402 | 神奈川県愛甲郡清川村 | Green |
※森林率が0%の場所は「-」としました。

川崎市多摩区、宮前区は森林率がかなり上がっていました。

詳細な数値はプログラムを公開するので、ご自身でご確認ください。
他の地域でもファイルを変えれば確認できると思います。

#課題
- 実は国土数値情報の森林率にはいろんなレベルのデータがあるようです。

> 森林地域，国有林，地域森林計画対象民有林，保安林のポリゴン，土地利用基本計画図（森林地域については，土地利用基本計画の変更に伴う国土交通大臣との協議資料の変更区域図に記載された変更内容を含める），国土数値情報行政区域界データをプロット出力し，目視にて空間属性を構成する各点及びアークの図上誤差が以下の許容値を越えていないことを評価する。

や、

> 森林地域，国有林，地域森林計画対象民有林，保安林とをプロット出力し，目視にて空間属性を構成する各点が重ならないことを確認する。一つ以上のエラーがあれば，”不合格”とする。

など
今回はデータの中で一番森林率が高く出るデータを使ってしまっています。
この辺りも実際の基準を作ろうと思ったら大変そうですね。

- 国土数値情報も結局は人の手を介して整備されていると思われるので、地球まるごと計算できる衛星データを使えば、もっと公平、効率的なデータができるかもしれません。
- 緯度経度のPOLYGONデータを使っていますが、面積も緯度経度の単位で算出されます。平方kmに簡単に変換できると思ったら、意外と難しく、今回は比率を出すだけなので断念しました。
- データのカラム名がN03_001や,N03_007となっていましたが、これは標準なんでしょうか？なるべく切り離したつもりですが、微妙。

今回はここまで。