地図の上で用途地域を確認できる用途地域地図サイトの構築について

用途地域地図

用途地域とは

用途地域は、住居、商業、工業など市街地の大枠としての土地利用を定めるもので、

  • 第1種低層住居専用地域
  • 第2種低層住居専用地域
  • 第1種中高層住居専用地域
  • 第2種中高層住居専用地域
  • 第1種住居地域
  • 第2種住居地域
  • 準住居地域
  • 近隣商業地域
  • 商業地域
  • 準工業地域
  • 工業地域
  • 工業専用地域

13種類あります。用途地域が指定されると、それぞれの目的に応じて、建てられる建物の種類が決められます。
国都交通省ではそのデータが無料で提供されております。
http://nlftp.mlit.go.jp/ksj/gml/datalist/KsjTmplt-A29.html

建築などプランを作成する上でも大変重要な情報の一つになります。

今回は用途地域を地図上からに簡単に確認できるサイトを構築したいと思います。

まず、成果物はこちらです。

用途地域地図

leafletをベースにした、サーバーレスサイトの実装

ベースとなる地図は恒例のleafletです。

用途地域データの準備

国都交通省のデータはshapeファイルであるため、qgisなど特定のソフトでしか表示できない。
webで表示させるためにgeojsonフォーマットに変換する。shapeからgeojsonの変換は一昔は面倒だったが、
今はqgisを使えば今は簡単にできます。

単純にgeojsonデータをwebで表示することもできるが、用途地域データの場合、データ量が大きいため
エリア分けて表示することになる。今回日本全国シームレスで表示したいため、geojsonをmapboxの
ベクトルタイルフォーマットに変換します。

ベクトルタイル仕様書

変換ツールはtippecanoeです。

用途地域描画の実装

用途地域のラベリング

用途地域デーはポリゴンデータであるため
まず、ポリゴンの中心を計算しラベリングのポイントにする。

地図のズームや移動を対応しながら、重ならないラベリングを実装するため、こちらの内容を参考に実装しました。

ベクトルタイルの描画

mapboxなら、ディフォルトでベクトルタイルの描画が内装されているが、leafletでは独自の実装が必要です。実装方法についてはベクトルタイルの使用をわかっているかたなら難しくはないと思います。後日コードを整理して公開したいと思います。

感想

GISデータをすぐ巨大になりがちです。ここ数年IT業界でビッグデータという言葉が流行っていますが、地図データは昔ながらのビッグデータです。
一方、サービスとしてweb提供するには、ネットワーク、端末メモリやcpuの制限があります。そこで、いかにデータを捌き、いかにUIデザインを工夫するのが醍醐味ですね。

まだまだ勉強不足ではありますが、日々精神していきたいと思います。