兵庫県が2021年3月8日に公表したオープンデータの2017年~2020年の兵庫県における交通事故発生状況(発生年月日、時間帯、市区町、緯度・経度、天候、年齢、事故類型等)から、leaflet.jsを使って作成した地図。
開始画面は、地理院淡色地図でマーカーは表示しない。市区町選択により、ズームアップして事故地点マーカー表示、さらに、地図画面上部右の全画面表示ボタンで拡大表示。
地図切り替えボタンにより、ベースマップとして地理院地図とグーグルマップの表示が可能。
マーカーのマウスクリックで属性表示が可能。
【データ整理】
- Excelデータからcsvを経てQGISを用い、geojsonに変換。
- 全データ91,706件中、2016年発生事故が247件含まれている。
- 各年の死傷事故件数は、2016年:247件、2017年:26,738件、2018年:24,666件、2019年:22,891件、2020年:17,164件
- 市区町データのうち、篠山市を丹波篠山市、豊岡町を豊岡市、養父町を養父市に修正。
【地図の作成】
- 事故内容が、死亡事故と負傷事故に区分されていることから、マーカーを区分。
- 市区町別の最大表示数が、姫路市の全年度分13,682件のため、leafletのプラグインであるleaflet-markers-canvasを利用したが、ズームアップダウン時のマーカーの再表示はかなり改善されるが、データの読み込みに時間を要する。
- 市区町別の地図表示は、基本的にマーカーを落とした範囲にズームアップするようにしているが、一部でズームアップを行わないときがある。これは、事故データの市区町と登録経緯度に齟齬が生じているためである。
- Excelで提供されるデータが経緯度の位置情報を持つときは、地図上に表示することにより、データの矛盾を見つけるに有効な手段のひとつの例である。
- 地図上にデータを読み込み、大量のマーカーを表示するうえで、leaflet.js単独では自ずと限界があることから、leaflet-markers-canvasのようなプラグインが提供されている。これらプログラムの例では、基準点から一定の離隔を持った点をランダムに発生させ、数万から百万程度の地点を表示するようなものが多く、GeoJSONやCSVなどを読み込み処理するようなものは少ない。
- Leaflet.pixiOverlayでフランスの市町村36,700か所の表示例があったので、今回の91,706地点の地図上へのマーカー表示を試みたが、属性情報の読み込みに時間を要することから、プロットのみの地図を掲載する。全県的な状況を見る点で参考にはなるが、今後、年度別、路線別等色々な属性による分析が行えるようなことも取り組んでみたい。
【操作上の注意】
- 市区町を選択すると、県内市区町区域図(ポリゴン)の選択市区町域を明示し、しばらく待つと事故地点マーカーを表示。
- マーカーを左ボタンクリックすると、事故の属性情報をポップアップ表示する。
【出典】この地図は、以下の著作物を改変して利用しています。
- 兵庫県オープンデータカタログページ 交通事故発生状況(掲載日2021年3月8日) [兵庫県企画部情報政策課]
【ご注意】地図メニューのGoogle関係の地図は、Google Maps Platformサービスの1日当たりのリクエスト、1分当たりのリクエスト及び1ユーザー1分当たりのリクエスト回数に制限を設けていますのでご了承ください。この場合、Gooogle Maps Platform版の利用も制限されます。 太平洋標準時0時にリセット[JST17時(夏時16時)]
コメント