駅の浸水リスクをざっくり可視化する

## はじめに

鉄道はいろいろな地域を走っていきます。その中には、様々な災害リスクがあることでしょう。普段使っている鉄道路線ですが、駅ごとにどのような災害リスクがあるのかを視覚化できると、災害への意識の普及の一助にもなると考えられます。

そこで、公開されているデータを組み合わせて、各駅の周辺の災害リスクを可視化して把握する試みを行いました。

:::note alert
あくまで**目安**となります。実際のリスクは自治体のハザードマップなどでの確認が必須です。たとえば、今回の記事の成果を見たり利用したりする場合、以下のような点に注意が必要です。
* 個々の駅の構造（高架・地下等）は考えていない。
* 駅周辺だけピンポイントにハザード情報を取得しているので、駅周辺のリスクを代表しているとは限らない。
* 機械的に処理しているため、不具合が生じている可能性がある。
* 元データの前提条件や整備状況等にも留意が必要。

詳細は後述します。
:::

本記事は作成した成果と手順の紹介です。コードはレポジトリの紹介にとどめますが、JavaScript で記述しています。

https://github.com/mghs15/railway-station-with-flood-info

## 地図上で各駅の災害リスクを視覚化

まずは、地図上で各駅の洪水リスクを可視化してみました。

https://mghs15.github.io/railway-station-with-flood-info/

![駅-洪水L2-map.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2842832/9d19aff4-ac13-abc3-9c0d-f99610a8e5d0.png)
※各駅のリスクは、**重ねるハザードマップと同じ色**で表現しています（そのため、凡例は元データのものと同じです）。

ハザード情報を把握するのに、重ねるハザードマップというサイトがあります。様々な防災に役立つ情報を重ねることができますが、その一つに浸水想定区域と水深を色分けして表示した情報があります。実は、このデータは[オープンデータ](https://disaportal.gsi.go.jp/hazardmapportal/hazardmap/copyright/opendata.html)として公開されていますので、今回使わせていただくことにしました。今回は、「**洪水浸水想定区域（想定最大規模）**」で試しています。

また、駅のデータとしては、国土数値情報で[鉄道データ](https://nlftp.mlit.go.jp/ksj/gml/datalist/KsjTmplt-N02-v3_1.html)が公開されていますので、これを使わせていただきました。今回、駅のデータはラインデータとなっていますので、ここから何らか代表点をとる必要があります。

:::note
最近の国土数値情報のデータ提供は、Shapefile の他、GeoJSON 形式が同封されており、文字コード毎も複数提供されているなど、かなりユーザーフレンドリーだと感じています。
:::

上記のデータについては、以下の通り処理しました。

1. 駅のラインデータを代表点へ変換
	* 構成点が2点の場合は、その経緯度を単純に平均したものを代表点とする。
	* 構成点が3点以上の場合は、奇数ならちょうど真ん中の頂点、偶数なら真ん中の2点のうち、最初の方の点を代表点とする。
2. 代表点のハザード情報を取得
	* 代表点をタイル座標へ変換する。
	* 重ねるハザードマップの目的とするタイルから、代表点が含まれるタイルをダウンロードする。（取得できない場合は、「リスク情報なし」と扱う。）
	* タイル内から、代表点に相当するピクセルの色を取得する。（取得できない場合は、「リスク情報なし」と扱う。）
	* 代表点毎に、経緯度とピクセルの色の情報を合わせて、GeoJSON 等として保存する。
3. GIS ソフトウェアなどで可視化する。
	* 作成した GeoJSON を適宜加工し、適切なツールで可視化する。

:::note warn
最悪、駅の代表点毎にタイルを取得することになるので、サーバに負担がかからないように配慮しましょう。
:::

## 各駅の災害リスクを路線図として整理

地図上にプロットした方が地形等も併せてみることができますので良さそうに思えますが、少々複雑で分かりにくいこともあるかと思います。そのため、1路線毎に駅を並べて災害リスクを比べられるようにしたハザード情報付きの路線図を作ってみました。

https://mghs15.github.io/railway-station-with-flood-info/slides/

![駅-洪水L2-slide.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2842832/c12c7688-5649-d547-b766-2160137751f1.png)
※各駅のリスクは、**重ねるハザードマップと同じ色**で表現しています（そのため、凡例は元データのものと同じです）。

実は、国土数値情報には、路線ごとの駅の**順番**が入っておりません。そのため、別のデータで補足する必要があります。なかなか使いやすいデータがなく、結局、[第12回大都市交通センサス](https://www.mlit.go.jp/sogoseisaku/transport/sosei_transport_tk_000035.html)のデータを利用しました。「路線別着時間帯別駅間輸送定員表」を利用したため、ついでに駅間の輸送定員も表現しています。ただし、平成28年当時なので、「高輪ゲートウェイ駅」等、新しい駅や駅名変更等に対応していません。

また、路線図形式の場合、地図と違って情報が少ない分、他の情報を付け加えやすいので、洪水（想定最大規模）の他、高潮、津波のリスクも示したものも作成してみました。

https://mghs15.github.io/railway-station-with-flood-info/slides/index2.html

![駅-複数-slide.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2842832/addbd990-9479-cbfb-0330-9c292aeef9fb.png)

:::note alert
高潮リスク、津波のリスクはハザードマップポータルサイトの「高潮浸水想定区域」、「津波浸水想定」を利用しています。こちらは整備状況や許諾の関係で、一部取得できないデータもありますので、十分注意が必要です。
:::

ちなみに、Web サイトの他、パワーポイントデータへの変換も試しています（複数ハザードには対応させていません）。印刷等するなら、こちらの方が便利です。

![powerpoint-sample.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2842832/4978f855-ff8a-0cc4-40df-049dcaa096bf.png)

どのようにスライドを作成するかについては、詳しくはレポジトリや以下の参考記事を見ていただければと思いますが、100スライド近くを一気に作成できると達成感があります。

https://qiita.com/mg_kudo/items/7a365984c00124ded8de

### 追記（全国の路線に対応）

課題だった駅の順番データを整備し、全国の鉄道に対応したハザード情報付きの路線図を作成しました。洪水（想定最大規模）、高潮、津波の新水深に加えて、洪水については浸水継続時間（想定最大規模）も追加しています。

https://mghs15.github.io/flagment-inter-station/slides/

駅の順番データを整備した経緯については、以下の記事に掲載しています。

https://qiita.com/mg_kudo/items/1d673a9f8d7de5ad0812

## 注意点

今回の試作結果を見ていただく中で、特に注意すべきと考える点を記載します。

### 駅の構造は反映していない

駅には、地上よりも高い高架駅や地下式の駅もあります。今回は高さについては考慮していないため、単純に駅が立地する場所の浸水リスクを取得しているだけであり、その駅そのものが浸水する・しないと判断できるものではありません。また、標高データの取得方法を考えると、同じ高さの高架駅であっても、盛土しているか、人工的な構造物かによって浸水リスクの表示が変化することもありそうです。


### ZL17のタイルを使う懸念点

1ピクセルあたりの解像度は、経緯度によって異なりますが、おおよそ1 m 前後。そのため、今回の代表地として取得した点が周囲の浸水リスクを代表していると単純にとらえることができません。最高解像度の ZL 17ではなく、あえて ZL を落としたタイルを利用した方が「代表値」としては適切な可能性もあります。


| 緯度 | 大きさ（X 方向）| タイル座標|
| --: | --: | :-- |
|0|119 cm|25/29360128/16777216|
|5|119 cm|25/29360128/16310589|
|10|118 cm|25/29360128/15840380|
|15|115 cm|25/29360128/15362864|
|20|112 cm|25/29360128/14874028|
|25|108 cm|25/29360128/14369382|
|30|104 cm|25/29360128/13843726|
|35|98 cm|25/29360128/13290837|
|40|92 cm|25/29360128/12703008|
|45|85 cm|25/29360128/12070369|
|50|77 cm|25/29360128/11379810|
|55|69 cm|25/29360128/10613195|
|60|60 cm|25/29360128/9744195|
|65|51 cm|25/29360128/8732217|
|70|41 cm|25/29360128/7509485|
|75|31 cm|25/29360128/5949171|
|80|21 cm|25/29360128/3766800|

※ZL 17 で 256 ピクセルのため、ZL 25 のタイルサイズとして算出。
※那覇周辺で北緯26度、名古屋周辺で北緯35度、札幌周辺で北緯43度。

### データ処理上の課題

今回のデータは複数のデータを組み合わせて利用しました。しかし、データ作成時期の違いや駅名表記の揺れにより、一部のデータは整合がうまくいっていない場合があります。（たとえば、大阪の梅田駅については、センサスは「梅田」に対して、国土数値情報は「大阪梅田」となっているため、スライドではマッチングさせられていません。）

### 元データを利用する際の留意点

ハザードマップポータルサイトの掲載情報について、[留意点](https://disaportal.gsi.go.jp/hazardmapportal/hazardmap/copyright/copyright_data.html)が示されていますが、元データの内容や限界等も把握しておく必要があります。特に未整備・未配信の地域があることに留意が必要です。

## 感想

オープンデータの整備が進み、個人であっても災害に関する情報を分析できるようになっていることは素晴らしいと感じています。ただ、命に関わる情報でもあるので、利用したり公開したりする場合には、注意が必要で、そのため、どうしても注釈が盛りだくさんになってしまいます。

ハザードマップポータルサイトでは、土砂災害についてもオープンデータとなっておりますので、そちらも試してみたいです。

念のため、本記事の利用に当たっては、**元データ含めた前提条件等の理解の上、自己責任でお願いいたします**。