余はなぜGIS機能に魅せられしか/今年の活動の整理

この日記は RDBMS GIS アドベントカレンダー2018の1日目です。


 この一年、 GIS 機能についてさまざまな経験をしたり学びを得たりしてきました。
この日記では一年の振り返りと、なぜ私がここまで GIS 機能に惹かれたのかについて紹介していきたいと思います。 直接の技術的な話はありませんが、データベースで扱うデータに対して、どのように興味関心を持って接しているか、という視点でお読みいただければ。

1 GIS機能とは。MySQLGIS 機能とは。

ここで言う GIS 機能とは、位置の情報を取り扱うための機能のことです。 MySQL ではバージョン8.0になって地球上の位置の情報を取り扱うしくみが大幅に整備されました。 具体的には、それまでのバージョンでは平面上の座標のみを取り扱うことができたものが、バージョン8.0になって初めて、MySQLは地球が丸いことを覚えたのです。緯度と経度、または基準として定めた点からの南北方向東西方向への距離という形で地球上の位置を取り扱います。
 MySQL では、実はあまり 「GIS」というキーワードは使わず、Spatial(空間の)という言葉を使用します。空間情報ですね。

2 私のこの一年

 地球上の位置を表す方法はいろいろありますが、ここでは緯度経度を例にして話をしますと、緯度経度それ自体は単なる二つの数字のセットです。無味乾燥な数字です。ですが、データベースにこれらの値を登録したりシステムでこれらの値を扱うような開発を行うとき、その数字がどういう意味を持っているのかを知っていたほうが、いつでも、より適切なイメージを持って値を取り扱うことができるようになります。


 そんな考えですから、MySQL でコマンドを叩くだけでなく、 緯度経度が表している数字をよりリアルに感じたいという流れになるのは、必然です。つまり、位置をあらわすということの「実態」をこの目で見ることにも重点を置いてきました。こう書くととても崇高な感じはしますが、率直に言えば、ただ見たかっただけです(笑)。
 また、 この1年でいただけた各地での発表の機会を使って、この1年はほとんど、GIS 機能について紹介をしてきました。データベースに格納されるデータは、有効に利用されてこそ価値が生まれるものですから、位置に関する情報が世の中にどのように活用されているのかを知るためにも、データベースの世界とは離れ、GIS の情報を取り扱うプロフェッショナル方達からも色々と教えていただく機会を多く得ました。そういう方たちの世界では、データの格納方法という視点ではなく、データをエンドユーザーにどのように見せたいのか、どんな切り口で見せたいのかなどの活用方法について、彼らそれぞれの「あたりまえ」に触れることができたのは、非常にわくわくする体験でした。


 この一年の、関連する私の活動を以下に整理しました。各地での発表資料については slideshare に上がっていますので、内容については、そちらを参照ください。
https://www.slideshare.net/sakaik/

●2017/11/02 水準原点を見に行ってしまう
●2017/12/26 日本経緯度原点を見に行く
●2018/02/10 浜松の一等三角点を見に行く
■2018/02/11 OSCHamanakoLT 「MySQLGIS機能がやってきた」
●2018/05/23 水準原点公開日に見に行く
●2018/07/06 札幌の基線南端北端に行く
■2018/07/07 OSC Hokkaido 「MySQLに本格GIS機能がやってきた」
■2018/07/23 日本MySQLユーザ会会(MyNA会) 「MySQLGIS機能とか超入門」
●2018/08/29 伊能忠敬記念館に行ってみる
■2018/08/31 ClubMySQL 「周辺知識から理解するMySQLGIS機能」
●2018/10/07 明石東経135度線を見に行く
■2018/10/28 OSCTokyo/Fall 「MySQL8.0の新機能"地理情報" を理解しよう入門~いまからはじめるGIS
■2018/11/04 FOSS4GOkayama 「MySQL 8.0で強化されたGIS機能のご紹介」
■2018/12/08(予定) OSCFukuoka 「MySQL 8.0 で強化されたGIS(地理情報)機能を使ってみよう」
(■は発表、●はリアルな「位置」関連視察:-))


3 なぜここまで GIS 機能に惹かれるのか

 かように私の興味を引き立てた GIS 機能ですが、100人のMySQLユーザーがいれば当然100人が興奮してこの機能に飛び付くと思っていました(やや誇張あり)。実際には、あれれ、意外とみんな、そこまで興味はなさそうと感じることもあり、なぜ自分がこんなにも位置情報を扱えることに心を惹かれているのかということについて考えてみました。


 ひとえに「RDBMSに興味がある」と言っても、大きくふたつに分けることができるようです。ひとつは RDBMSの仕組みそのものに興味がある場合。もうひとつが、RDBMSで扱うことができるデータに興味がある場合です。
 前者は、RDBMSが安定して運用されるためにやるべきこと、なるべく高速に動作させるために工夫すべき事などに関心があるのではないでしょうか。そのノウハウは、セミナーや書籍などのネタにもなりやすく、比較的目立ちやすいこともあって、「RDBMSを知るっていうのは、こういうことだ!」という印象が強くなる傾向があるかと感じます。実際にお仕事で RDBMSの運用をするというのは、こういうノウハウを蓄積していることでもあるので、現場感のある人にとって必然的な姿勢かと思います。
 一方、私はというと、特にこの数年はそういった運用の現場感が全然ない環境にいることもあって、運用に関わる話題は、聞くのは好きだしわくわくもするけれども、どことなく身近に感じられない、異世界の話題のように感じるときもあるのです。
 そんな私が今回気づいたのが、自分は「RDBMSが扱う "データ" に興味があるのだ」ということでした。これはこの数年の立ち位置のせいだけではなく、思い起こせば昔からそういう傾向があったような気がします。小売店で全国の支店の売り上げがSQLを叩くだけで手に取るように分かるとか、紙でファイリングしていた大量の資料を一元管理できることで今まで見えなかった情報相互の関係を分析しやすくなったとか、そういった「現実世界とつながったデータ」にわくわくしながら、RDBMSと付き合ってきました。10年程前に、元お茶の水大の増永先生にサインをいただいたときに「地球まるごとデータベース」というキャッチコピーを添えてくださったのですが、今まで私が触れてきたデータベースとは、まさに「地球まるごと(のごく一部)」だったわけです。

 この視点の違いに気づけば、当初の「なぜGISに惹かれるか」の答えは見えたようなものです。

 今までMySQLでは、文字、数字、日付時刻の情報を中心としたデータを取り扱ってきました。これは「地球まるごと」を格納するためには、致命的に不足している情報タイプがあったのです。そう、それが「位置」に関する情報です。大きく分類すれば位置でさえ「数字のセット」でしかありませんが、数量や重量、金額などをあらわしていた「数字」とはまったく異なるポテンシャルを持っているのが「位置」の情報なのです。
 単なる平面座標ではなく、球体(正確には回転楕円体)である地球上の位置を、気楽に扱えるこの仕組みこそ、今までのMySQLに欠けていたものでした。(他のRDBMSには、本体またはプラグインの形で実装されているものが多かったけど)バージョン 8.0 になり、MySQLでもこれらの位置の情報を扱える仲間入りを果たしたということが、私にとっては、MySQLの表現力が格段にレベルアップしたと言ってよいほどに感動的な出来事だったというわけです。
 だからこそ、MySQLでの位置の情報の操作方法といった基本的な事を押さえた後は、この「Spatial型」に入れるべき現実世界はどうなっているのか、という点に興味が広がるわけですし、その過程で知った「おもしろそうな場所」に、適度に気楽に行けるのであれば行って自分の目で見てみたいと思い行動してきた、この1年でした。


 世の中の様々な場所をあらわすために「緯度、経度」という連続的な数字のセットがあり、それら数字を MySQL などに格納し、取り扱うことができるようになった。この、現実世界との連動こそが、データベースの大きな魅力であることを再確認できた、この1年間でした。

f:id:sakaik:20180523135120j:plain



追記(2018/12/02):とみたさんより、(1)仕組みへの興味、(2)データへの興味、に続く第三の興味関心の軸を提示頂いたので、紹介します:-)