WordPress+LeafLetによるWebGIS(県毎の色分け表示)

県境のポリゴンに関連付けた属性データを評価し、その結果に基づいてポリゴンの表示Styleを変更することで、県ごとに層別色分け表示するWebGIS機能を、WorPress+LeafLetで試してみました。 予めQGISなどで作成した画像を切り替えるのではなく、CSVデータを読み込んで、ランク分けし、それに応じた色を設定するまでを動的に処理しています。限られた選択肢ですが、色(赤、黄、青)の切り替え、階層分け(5段階/10段階)もできます。お試しいただれば幸いです。

出来た画面の概要

背景のOpenStreetMapの上に日本地図(県境のみ)を所定の色で塗りつぶして表示します。初期表示は、背景地図のみですが、右上のレイヤアイコンのうち、下の方をクリックすると、表示するレイヤを選択できます。この中の選択で、指定の地図が表示されます。また、上の方のレイヤアイコンでは、背景地図の表示/非表示ができます。

表示している情報について

今回は、官邸や厚労省のウェブサイトで公開されているデータを地図と関連付けてみました。ただし県別の相対評価にあたっては、元の数字を人口1000人あたりに換算しています。 (1)ワクチン接種数 官邸ウェブサイトのこちらの情報をもとに、「医療関係者等」と「高齢者等」の数字を合計して、各県の人口1000人あたりに換算しています。 (2)感染者、重症者、死者などについて 厚労省のこちらのページに掲載されている日々の情報のうち、「新型コロナウイルス感染症の現在の状況と厚生労働省の対応について」のページのなかの、【別紙1】「各都道府県の検査陽性者の状況(空港検疫、チャーター便案件を除く国内事例)」に基づいています。 下記の「実際の表示データと表示条件一覧」の表になかに記載した、「データ名」と元データの対応は以下の通りです。「データ名」とは当方が設定した名称なので、元データの意味合いとは合ってないかもしれません。上記同様に、人口1000人あたりに換算しています。
データ名厚労省での名称補足
PCR検査数PCR検査実施人数
陽性者数陽性者数
感染者数入院治療を要する者項目名の意味合いが違うかもしれません
重篤者数重症(入院治療を要する者のうち)
回復者数退院又は療養解除となった者の数項目名の意味合いが違うかもしれません
死者数死亡(累積)
 

表示条件について

5段階(又は10段階に切り替え可)で、各項目ごとに最大値を5(または10)段階に、ランク分けし、該当のランクに応じた色でPolygoを塗りつぶしています。 各項目ごとに、基本の色と、5段階か10段階かの設定を変更できます。  

LeafLetの処理について

LeafLetのマニュアルに例示されたGeoJsonの読み込みの処理を、47都道府県のポリゴンに対して実行し、それぞれLayerGroupにまとめさらに、それを各情報項目ごとLayerGroupとし、最後にOverLayとしてaddTo(map)しただけです。 処理時間が気になりましが、県境GeoJsonのサイズが大きくないので、気になるほどではないようです。 通常のOverLayでは、重ね合わせができるのですが、この場合は、各レイヤの重ね合わせには意味がないと思われたので、背景のレイヤアイコンとは分けています。(一緒にする方法が分かってないため)

実際の表示

以下に、実際のデータの値や表示条件の一覧表があります。ここで、基本の色、分割の階層数なと設定変更ができます。「再表示」のボタンをクリックすれば、変更条件に合わせて再表示します。 一番下側にに、実際の地図表示画面があります。レイヤアイコンでの表示情報の選択ができます。拡大や移動も可能ですが、今回の場合はあまり意味がないかもしれません。

表示データと表示条件

それぞれのデータ項目について、いつ公開されたものか、実際の値や、個別に表示条件の変更が可能です。

表示条件変更

  (1)等間隔での分割数: 5分割または10分割 (2)ベース色: 赤、黄、青

実際の表示データと 表示条件一覧

各データは、住民1,000人あたりに換算しています。
Layer元データデータ名最大値公開日最大値ランク分割数ベース色
官邸総接種数
2官邸1回目接種
3官邸2回目接種
4厚労省PCR検査数
5厚労省陽性者数
6厚労省感染者数
7厚労省重篤者数
8厚労省回復者数
9厚労省死者数
10厚労省感染者―回復者

色分け区分

<等間隔10区分>
区間10
#FFFFFF#FFE6E6#FFCCCC#FFB2B2#FF9999#FF8080#FF6666#FF4C4C#FF3333#FF0000
#FFFFFF#E6FFE6#CCFFCC#B2FFB2#99FF99#80FF80#66FF66#4CFF4C#33FF33 #00FF00
#FFFFF#E6E6FF#CCCCFF#B2B2FF#9999FF#8080FF#6666FF#4C4CFF#3333FF #0000FF
<等間隔5区分>
区間
#FFFFFF#FFCCCC#FF9999#FF6666#FF3333
#FFFFFF#CCFFCC#99FF99#66FF66#33FF33
#FFFFFF#CCCCFF#9999FF#6666FF#3333FF
上記の表の条件で再表示します。=>

実際の画面

あとがき

以前、QGISで県別データを色分けし、画像化したものをWordPress内のLeafLetで表示するといったことをやってしてみました。今回は、QGISを使うことなく、CSVデータを直接読んで層別したうえ、各県境Polygonの表示スタイルを設定して、色分け表示するまでの動的処理を試してしてみました。これにより、県に対応付けられたCVSデータがあれば、直接、地図表示ができるようになりました。 今後は、他の方にも試していただけるよう、サーバにアップロードしたCSVファイルだけではなく、ローカルにあるCSVファイルなどへの対応についても、トライしてみようと思っています。

コメント

タイトルとURLをコピーしました