歩行空間ネットワークデータについて

 

GeoJSON形式への変換

歩行空間ネットワークデータは、段差や幅員、スロープなどのバリア情報を含んだ歩行経路の空間配置及び歩行経路の状況を表すデータで、国土交通省が仕様を公開しています。歩行者移動支援アイデアソン・ハッカソン@本郷では、本郷地区市街および東京大学本郷キャンパス内のデータを公開しています。

歩行空間ネットワークは、地点を表す「ノード」と、その間の経路を表す「リンク」から構成されます。このでは、CSVおよびShape形式で公開されていますが、Webブラウザなどで閲覧するには必ずしも使いやすくはないかもしれません。そこで以下では、Shape形式のデータをJavaScriptでも扱いやすいGeoJSON形式に変換する方法を紹介します。

Shape形式のデータをGeoJSON形式への変換は、GDAL(Geospatial Data Abstraction Library)を使うと簡単に実現できます。ogr2ogrというコマンドを以下のように使うことで、データ変換が可能です。(この例では、エンコーディングはUTF-8形式、座標系はWGS84を指定しています。)

ogr2ogr -lco "ENCODING=UTF-8" -f geoJSON -t_srs EPSG:4326 out.geojson input.shp

GeoJSONは、JSON(JavaScript Object Notation)により、空間データを表現する形式で、例えばGoogle Mapsなどでもサポートされています。

歩行空間ネットワークデータの例

本郷キャンパス内

実際に、本郷キャンパス内の歩行空間ネットワークデータをGeoJSON形式に変換すると、以下のようになります。

サンプルを開く

本郷地区市街

実際に、本郷地区市街の歩行空間ネットワークデータをGeoJSON形式に変換すると、以下のようになります。

サンプルを開く


 

なお参考までに、Google Maps上に、GeoJSON形式のデータを表示するサンプルは、以下の通りです。

var map;
var info;

function initMap() {
 map = new google.maps.Map(document.getElementById('map'), {
 zoom: 17,
 center: { lat: 35.712707, lng: 139.762115 }
 });
 
 map.data.setStyle({
 strokeColor: 'green',
 strokeWeight: 3.0,
 strokeOpacity: 0.8,
 icon: {
 path: google.maps.SymbolPath.CIRCLE,
 scale: 4.0,
 fillColor: '#00f',
 fillOpacity: 0.8,
 strokeWeight: 0
 }
 });
 
 map.data.addListener('mouseover', function(event) {
 var content = '';
 event.feature.forEachProperty(function(value, key) {
 if (value != null) {
 content += key + ':' + value + ' ';
 }
 });
 
 var options = {
 content: content,
 position: event.latLng
 };
 if(info == null) {
 info = new google.maps.InfoWindow(options);
 info.open(map);
 } else {
 info.setOptions(options);
 info.open(map);
 }
 });
}

function loadGeoJSON(geojson) {
 $.getJSON(geojson, function(data) {
 map.data.addGeoJson(data);
 });
}