はじめに
本記事は RDBMS-GIS(MySQL,PostgreSQLなど) Advent Calendar 2019 の3日目です。
MySQLでは5.7でGIS機能をBoost.GeometryというC++のオープンソースライブラリを採用して再実装し、8.0でも引き続き機能強化しています。本記事をきっかけにMySQLのGIS機能に興味を持ってもらえると嬉しいです。
この記事で伝えたいこと
MySQLのGIS機能を手軽に試せるように、MySQLのダンプファイルの形式で以下データを配布しています。
・e-Statで配布されている境界データのシェープファイルをogr2ogrを使ってMySQLに取り込んで、Spatialインデックスを追加したもの
※配布先はこちら
背景
MySQLのGIS機能を使う時に、シェープファイル(GIS系のデータフォーマットの一つ)を取り込めると出来ることが広がります。そこで、シェープファイルを取り込む方法について以下の資料やQiitaの記事で解説していますが、事前にGDALをインストールしないといけない、など一般のMySQLユーザーには少し敷居が高くなっています。
・MySQL 8.0で強化されたGIS機能と使用事例のご紹介+α
・MySQL 8.0にシェープファイルを取り込んで、MySQL Workbenchでポリゴンの形を確認する
そこで、まずは手軽にMySQLのGIS機能を試してもらうために、MySQLに取り込んだ状態のデータの配布を始めました。以下のGitHubリポジトリで市町村の境界データを配布していますので、MySQLに取り込んでGIS機能を試してみて下さい!
今配布しているのはPOLYGONデータだけですが、より手軽に試せるように、POINTデータも配布できればと検討中です。(POINTとPOLYGONがあれば、「ある地域に含まれる〇〇を探す」、「2点間の距離を計算する」、など、試せることの幅が広がると思うので)
備考1
GDALのインストール方法については、以下のQiitaの記事が参考になります。
・MySQLに対応したogr2ogr(GDAL)をインストールする方法まとめ
備考2
OSM(OpenStreetMap)のデータをMySQLにインポートする方法については、以下のQiitaの記事が参考になります。取り込んだ市町村に含まれるOSMの建物データのPOLYGONやPOINTデータを取り込むと、試せることの幅が広がると思います!