MySQLのGIS機能2023

このエントリは、RDBMS-GIS(地理情報・位置情報) Advent Calendar 2023 の1日目です。「RDBMS-GIS Advent Calendar」では参加者を絶賛募集中です。今年も、ご自由にお気楽に参加ください。

さて。

MySQL の Spatial機能(GIS機能)、2023年の進化のまとめです。MySQLは臨時のリリースがない限りは通常、3ヶ月に一度、年4回のアップデート・バージョンが公開されます。
リリースノートから、この1年の進化を見てみましょう。

とここまでは昨年と同じイントロでして、昨年は「といいつつ実は、2022年は、あまり大きな進化のない1年でした。新機能追加してくれないと、私、飽きちゃうぞっ!」と続けていました。2023年はというと、、、、

2022年にも増してSpatial機能に進化のない一年でした。新機能追加してくれないので、私、飽きました(笑)。
あまりにも飽きたので、私は「現場主義」(みんなが地図上や数値の上でしか語ったことがない場所に実際に行くこと)へと走った一年でもありました(笑)。そちらの話はまた別の機会に。

先ほど「年4回のリリース」と書きましたが、今年からMySQLのリリーススタイルの変更があり、MySQL 8.0.x とは別に、Innovation Release としての MySQL 8.1.0, MySQL 8.2.0 もリリースされているので、ここでは都合6つのバージョンについて紹介します。

MySQL 8.0.32 (2023年1月)

ST_Transform() 関数で変換できる組み合わせが大幅に拡充されました。具体的には、投影座標系との変換が実装されました。ただし towgs84パラメタを持っているSRSのみ可能であり、我々が日本の座標としてよく使用する JGD2011 では(towgs84がないので)変換できない点が残念。取り扱い上ほぼ問題はないので、JGD2000として扱う等の工夫(?)が必要です。
地味だけど、なにげに大きな進化。

The MySQL ST_Transform() function now supports all Cartesian projections, with the exceptions 
of EPSG 1042 (Krovak Modified), EPSG 1043 (Krovak Modified (North Orientated)), 
EPSG 9816 (Tunisia Mining Grid), and EPSG 9826 (Lambert Conic Conformal (West Orientated)). 
(Bug #27272733, Bug #34495023, WL #15164)

MySQL 8.0.33 (2023年4月)

地理空間情報関連の機能追加、バグフィックスは一切なし

MySQL 8.0.34 (2023年7月)

地理空間情報関連の機能追加、バグフィックスは一切なし

MySQL 8.1.0 (同じく 2023年7月)

内部で保持しているST_SRSの情報が、 EPSG 9.3 から 9.7 へとアップグレードされました。最近私も知ったのですが、EPSG の定義って結構頻繁に最新バージョンが出ているようなのです。 

The EPSG data set containing spatial reference system data for spatial calculations has been 
upgraded from version 9.3 to version 9.7. (Bug #28615740)

なお、我らがJGD2011の変換に必要となる towgs84 パラメタについては、 EPSG v10.042 になってようやく追加されているようで、MySQLにこのバージョンが採用されるのを楽しみに待ちたいと思います。2024年こそは!
(別のところで私が調べた情報では MySQL 8.0で EPSG9.0、MySQL 8.1 で EPSG9.1 というものだったので、この release note の内容と異なるのですが、まぁ「時々ちゃんと最新化してくれているのだ」ということが分かれば良いので、今回は深追いしないことにします)

MySQL 8.0.35 および MySQL 8.2.0 (2023年10月)

地理空間情報関連の機能追加、バグフィックスは一切なし


全体を通して

 地味に大きな進化を遂げたとは言え、1年間の進化としては物足りなさの残るMySQLの2023年でした。
PostGIS と比べて、関数群の少なさというのはどうしても話題になりやすいポイントなので、2024年には期待したいと思います。
参考:昨年のMySQLの進化
sakaik.hateblo.jp

宣伝

12月4日(月)(もう、すぐですが)に「法務省 登記簿備付地図のXMLデータ」に興味ある人で集まってお肉食べます。残席ありますので興味ある方はぜひ参加申込みの上、お越しください!
connpass.com


        • -

オープンソースカンファレンス(OSC)2023-Hiroshima参画

2023/11/12に広島で開催された OSC 2023-Hiroshima(オープンソースカンファレンス2023広島)に参加してきました。
event.ospn.jp


↑写真は、朝の設営作業中のもの

久々の広島

 直近では私は 2017年の開催時に広島に参加していたようです。6年ぶりの広島訪問。
各地のOSCとは、コロナからの再開にあたってまずは展示のみ(セミナーなし=セミナーは別日程でオンラインで)という形態で開催されてきた場所が多かったのですが、今回の広島ではいわゆるフルサイズ開催、つまり、3トラックのセミナーと展示との同時開催が試みられました。
 MySQLはここ最近、特にバージョン番号(リリース)のルールの変更や旧バージョンのEoL、そしてクラウド対応への力の入れ方など、最新情報から少し目を離していた人には分かりにくい情報も多いので、そのあたりをセミナーではお話してみました。ブースはいつもどおり、まったりと。

PC-6001スマホ

 日本NetBSDユーザーグループのブースでは、PC-6001の話を教えていただきました。今回のブース展示では特にそういった話題があったわけではないのですが、以前の東京開催時に実機デモをやっていたので、ディスプレイの出力について(昔は二股に割いてアンテナ接続していたような記憶)教えてもらってきました。私も気づいていなかったけどビデオ出力の端子は2種類あるそうで、ビデオケーブル(いわゆる黄色いケーブル)での出力が可能とのこと。 実機は実家にあるので、こんど機会があるときに試してみたいと思います。 併せてAndroidスマホ上でPC-6001が動くエミュレータについても教えてもらいました。
 もう40年も前の話になろうかと思いますが、お話していてとてもわくわくしました。

牡蠣にお好み焼

 前日夜の、有志による勝手前夜祭、当日のランチにて、牡蠣の食べ放題やお好み焼き(かきおこ)を食べて、広島を堪能しました。
現地の方が何からなにまでお世話をしてくださって、お店選びに頭を悩ませることなくたいへん助かりました。

集客は課題

 広島だけでなく全般地域について言えるのですが、リアル開催では特に集客が大変ですね。 コロナで一旦巣ごもりしてしまったターゲットのみなさんに、いかに「行ったら得るものがあるぞ」と思ってもらえるかが、まだ提示しきれていない気がします。私自身も全てのOSCに参加しているわけではないのですが、行かなかった地域については著しく「行けばよかった~」と思うことはほぼないので、これが「行けばよかった~」と感じる何かがある状態が集客力のある状態なのだろうなと思ったりしています。
 開催されるイベントがテーマ毎に細分化される傾向がある昨今、横断的な情報に触れる機会であるOSCのようなイベントが響く人に届いたら良いなぁ。

OSC広島参加の前後

 今回のOSC広島参加の前に、松江での RubyWorld Conferenceに参加していました。中1日を移動日(プラス前夜祭)として、都合6日間のハシゴ参加は私にとって最長の遠征スケジュールとなりました。帰りは岩国から帰ったので、そのあたりの話を含めて様々なお話は note のほうに書こうと思います。

RubyWorld Conference 2023 参加

2023/11/08,09の2日間に松江市で開催された RubyWorld Conference に参加してきました。
2023.rubyworld-conf.org



 私はRubyを普段使いしているわけではないのですが、6月の RubyKaigi に引き続き、Ruby界隈の話題や雰囲気に触れるために参加させていただきました。
Kaigiの時には「知り合いが全然いないんじゃないか」というドキドキと共に参加してみたのですが、参加してみたら多くの知り合いがいました。今回のカンファレンスでは、10日ほど前に開催された オープンソースカンファレンス2023 Shimane(OSC 2023 Shimane) で関係者の方にも会っていて「また2週間後に!」と言って別れたりしていたので、随分と気楽に参加できました。

「スーツ組が多い」との壇上からの話題フリに笑いも起こっていました。確かに技術カンファレンスと考えるとスーツ率が高めではありましたね。

Kaigiとは全然違う雰囲気

 Kaigiが、Rubyの中そのものだったり現場での使用の工夫を披露し合う場だとすると、Worldはどちらかというと、それらがどういうシーンで活用されているかや、コミュニティの運営、学習・教育のあり方などをテーマとしているように感じました。別の言い方をすると、コードの出てくるKaigi、コードの外側で語るWorld、という印象です。

登壇者集合写真(開始前に撮影)

人と会える場

 他の場所でも会っている人が会場にいるとほっとするものですが、それ以外にも、久しぶりに会える人、初めてお話する人などと会えるのも、大規模カンファレンスの魅力だったりします。今回特にお話できて嬉しかった方を紹介します! 名前出しちゃってご迷惑だったらすいません。

ささださん

 初めてささださんを認識したのは20年近く前のデブサミ関連イベント(有志による飲み会)だったと記憶しています。各コミュニティごとに既に輪ができている中、ぽつねんとしたいた姿が印象に残っていました。Rubyのコミッタをやっているという自己紹介に惹かれるものがあったのですが、当時(今も!)引っ込み思案だった私は積極的にお話することもなく、ご挨拶程度だったように記憶しています(名刺はいただいていたのでお話はしたと思います)。
 その後のささださんのご活躍はみんなも知るところで、常にすごい人たちの輪の中にいるささださんは、私にとってお話する機会のない遠い世界の方になってしまったのでした。なので今回、レセプションでお話をさせていただけて、とても嬉しかったです。

小崎さん

 小崎さんは2009年のOSS貢献者賞でお姿を拝見したのが最初だったと思います。楽しそうにカーネルの話をする様子に、全然分からないながらも感動したことが印象に残っています。今回、会場にいた共通の知人が「会っておけ!」と紹介してくださったことで、お話をする機会を頂戴できた次第。密かに結構嬉しかったです。未だにカーネルレベルの話は全然わかりませんが、(利用者として)お世話になっています!
 

2009年のOSS貢献者章授賞式の様子

前田さん

 Redmineを使ったサービス提供を始めた時には、誰でも自由にダウンロードして使えるのに商売になるのだろうかと思っていたのですが、しっかりとお客さんをつかまえて、Redmine自体もよりよいものになるよう尽力されての大活躍をされていました。先日のOSC Shimane で姿を拝見したもののお話をしそこねてしまったので、今回のRubyWorld Conferenceにてお話できて良かったです。OSCでは社員さんに慕われている様子も見られて、格好良い経営者さんになられたなぁと嬉しく思いました(←私は何もしていませんが、なんだか嬉しかったのです)。

しまねっこさん

 レセプションに来てくれました。きゃわわ。
お話はできませんでした(そもそも話しかけていません(笑))。
 

松江いろいろ

 今回はおとなしくJAL出雲空港から松江入りしました。空き時間に少々街歩きをして、木金のカンファレンス参加の後、土曜日が移動日、日曜日にOSC広島に参加、という結構ハードなスケジュールでした。この周辺の情報は、改めてnoteのほうにでも書こうと思います。さしあたって、今回は上まではあがらなかったけど下から見上げた松江城を。

オープンソースカンファレンス(OSC)2023-Shimane 参画

OSC2023 Shimae に参加してきました。
event.ospn.jp

4年振りのリアル開催

 OSC Shimane としてはコロナ禍での中断を挟んでの4年ぶりのリアル開催となります。私自身は、日程等様々な条件が合わず非常に久しぶりの OSC Shimaneへの参加となりました。手元のフォルダを検索してみたところ、2008年と2010年に参加した記録があり、もしかしたら13年振りの参加ということになるのかもしれません(この間にもう1回くらい参加してると思うんだけどなぁ)。
 OSCの中でも島根は現地の実行委員会の方々を中心に企画運営されていて、非常に地域のコミュニティがしっかりしている地域として希有な存在であります。Rubyのふるさとという旗印の下、地域を挙げてIT熱が高いことは、来場された若い方々の熱量を見ても感じることができました。

基本は展示のみ。ただしLT付のバランスの良さ

 今回のOSC Shimane も概ね他の地域と同様に「展示のみ」を中心とした開催となりました。ただし、お昼休みタイムとクロージングタイムにそれぞれまとまった時間を取って LT大会が設定されました。私も簡単にMySQLの最近の話と、ブースで話を聞くことのメリットについてお話をさせていただきました。
 私自身は以前のOSCからずっと「セミナーはいらない(あまり興味ない)。ブースでインタラクティブに話を聞けることがリアル展示会の醍醐味」という立場だったので、昨今の「展示のみ」のOSCについても、寧ろこれがあるべき姿、ぐらいに思っていたのですが、先日の東京、今回の島根に参加してみて、詳しい人がマイクを持って語るのを見ている(聞いている)のは、これはこれで楽しいものだなと再認識しつつあります。展示オンリーで何か少し物足りなさを感じていたところに、冒頭の基調講演+アクセントのようにLT大会が入る(それも今回の島根ではお昼タイムに開催されたことで午後のブースでの会話につなげることもできる)ことのバランスの良さを感じました。ナイス企画でした!

もくもく会併設

 午後は会場の真ん中エリアを使って、参加コミュニティによるもくもく会が行われていました。何をやっていたのか私はよく分からなかったのですが、楽しそうに教えつ教わりつ何かを進めている雰囲気が素敵でした。会場自体もなんか程よく盛り上がっている雰囲気になったし、良かったですね。

MyNAブース

 今回も、日本MySQLユーザ会(MyNA)として一応ブースを出していました。基本的には談話コーナーとしていつも出展していますが、先日のOSC東京のために作ったチラシも配布しました。チラシをきっかけに、あるいはお昼タイムにLTでお話した内容をきっかけに、ブースで色々お話させていただけたと思います。
なお、アーニャのナッツボンは、とうふさんと髪の毛の色が一緒だったので展示しておきました(とくに意味はない)。

松江

 前回訪問から随分時間が経っていることもあって、色々と変わっていました。駅近くの便利に利用していた蕎麦屋さんがなくなっていたり、駅前の一畑百貨店があと数ヶ月で閉店することが決まっていたり、冷凍ラーメンの自動販売機ができていたり(笑)。 割り子蕎麦を食べたり、同行者たちに素敵なバーを見つけてもらったり、一応ラーメンも食べたりと、短い滞在ながらも一通りを楽しみました。
 実はこの2週間後に同じく松江で開催される RubyWorld Conferenceにも参加するので(実際は松江を離れてから次に松江に来るまでの間、10日間)、改めて松江を堪能できることでしょう。

OSCへの往復(松江編)

 各地のOSCに参加する際に、単にかの地と往復するのみでなくプラスアルファで何か見聞することを心がけています。というよりも「寄り道」のほうが主でOSCが「ついで」みたいになってしまうこともあるくらい、前後のスケジュールに力を入れています(笑)。 今回は、新神戸で車を借りて松江まで往復しました。車でしか行けない各所(主に東経135度のモニュメント等)を回ったので、こちらの模様は別途 note のほうに書こうと思っています。

旧交再開

 遠方のリアル開催のイベントに参加すると、現地の方が歓迎してくださるのが本当にありがたいです。FacebookなどのSNSで近況は見ているし、コメントを付けあっている方も多いので、あまり長いこと会っていないという感覚はないのですが、実際に会ってみるとえらく久々だったのだなぁと感じたりします。ちょっとしたニュアンスなどを含んだ様々な会話ができるなど、直接会えることの大きさを感じました。
時間のことやお財布のことがあるので、あれこれも、あっちもこっちも、と参加するわけには行かないのですが、長いコロナ期間を経てようやく動き出した世の中、オンラインのメリットも併用しつつ、直接会えることの大きさに感謝していきたいと改めて思ったのでありました。

オープンソースカンファレンス(OSC)2023 Tokyo/Fall参画

2023/10/21 に東京・蒲田の PiO(大田区産業プラザ)にて開催された オープンソースカンファレンス2023 Tokyo/Fall (OSC 2023-Tokyo/Fall)に参加ししてきました。
今回は、いつもの日本MySQLユーザ会(MyNA)としての参加に加えて、OSGeo.JP としても参加してきました。
event.ospn.jp




会場は技術系イベント(技術系以外でも?)で定番のひとつ、蒲田のPiO。開場前には搬入用に、普段は開けていない大きなトビラを開け放していました。良い。

東京でのOSC(オフライン)は、今年4月にコロナ後としては初めての再開開催があり、今回が再開後の2回目の開催となります。
4月は非常に多くの人が来て盛り上がったのですが、今回はちょっと集客弱めに感じたのは、会場が広すぎて密度が低くなったせいだけではない気はします。さまざまな技術について、「ざっくばらんな会話」を通した情報取得ができる場として非常に濃厚な場所なので、この良さにもっと多くの人が気づいてくれたらいいなぁと思います。

会場にはOSC号、ことピカチュウ号も展示されていました。広い会場だからこそできるお遊びですね。


ブースのほうは、MyNAのほうはいつもどおりまったりと。でも、いつもは、来てくれた人に最新情報やお悩みごと相談に応じるだけということが多いのですが、今回は少しだけ頑張って、配布チラシも作ってみました。最近のMySQL動向を簡単にA4にまとめたもので、やはりこういうものがあると知ってもらう機会になったり、会話のきっかけになったりして、良いですね。
OSGeoブースのほうは、申込みの手続きこそ私がやったものの、ブース自体はほぼ他の方におまかせ状態。QGISやら点群やらのデモを用意してくださっていたようです。
あとは午後の後半は、個人的に会場で会える方との個別打合せをやっていたりして、ブースがお留守気味となりました。


それにしてもやはり、こういったリアルのイベントは、人と人がつながる場所として最高ですね。 こちらからわざわざ「おひさしぶりです、お元気ですか」から始まるメールなどを出すほどではないけど、会えばお話したいという人はたくさんいるし、話せば新しい情報の授受や新たな動きにつながることなどもあったりして、大げさな言い方かもしれませんが「世の中が動きだす」ことを感じます。
私自身も、たまたま近くにいた2人(お互いにまだ知らない同士だが私は両方知っている場合など)がスムーズにお話するお役に立てるシーンも何度もあったし、ブースに居る側も、ただブースの内容に興味を持って話を聞いてくれた人というのに加えて、知り合いの知り合いだということで少し親近感がわいてくれて、いつもより踏み込んだ話をしてくれているなーというのを感じました。やはりリアルは良い。



今回のOSC東京秋は基本的にブース展示のみ(セミナーの実施はなし)だったのですが、最後に閉会式を兼ねて会場内でLT大会が開催されました。
程よくお話を聞いたという体験もできて、ブースで個別のお話も聞けて、良いOSCだったと思います。


それにしても、やはり集客がなぁ。。。 参加コミュニティのひとつ(今回はふたつw)としても、もっと自分たちのイベントという意識で来場者を増やせるよう努力する必要がありますね。

You can take a horse to the water, but you can't make him drink.

OSCって、まさにこの「水飲み場」だと思います。

平面直角座標系 1系原点

今まで、II系、VIII系と訪問したことのある平面直角座標系原点。今回は I系にチャレンジです。
南島原で開催された 南島原ITキャンプ2023の帰り道に、なぜか長崎県の正反対の西海市方面に立ち寄るという不思議な旅程となり、なかなか運転もハードでしたが、行って良かったです。

Where is I系原点?

平成十四年国土交通省告示第九号(https://www.gsi.go.jp/LAW/heimencho.html#1)によると、I系の原点は 北緯33度0分、東経129度30分とあります。
これは地理院地図で確認すると、長崎県の左上(北西)のほうの海の上になります。

もう少し拡大するとこんな感じ。

今回はこの海上にある I系原点を「見に行く」ことを目的としました。

到着まで

 地図を見て分かるとおり、ひたすら国道202を北上してから橋を渡って大小4つの島に渡った先っぽを目指します。


道が細い場所もあるので安全運転で。 最後の小さい島に渡ったら橋の端ですぐに右にUターンする、というあたりがポイントです。

33度線展望台への道

駐車場に車を止めると、33度展望台が見えてきます。そこまで歩きます。

旧日本海軍佐世保鎮守府の聴音所として、海底のスクリュー音などを監視するための施設があります。


33度展望台

下からでも十分に良い景色を眺められるのですが、折角展望台があるので上に登ります。

そこにはちょっとしたモニュメントが。

世界地図と共に北緯33度の線が描かれています。いいですね、こういうの。

そしてI系原点へ

手持ちのハンディGPSロガーを見ると、北緯 33度00.241分、東経129度32.603分と表示されています。

ここから0.2分ほど南へ、2.6分ほど西へ行ったところが、目指すI系原点ということになります。
それはどのあたりででしょうか。
ズバリ、ここ! ・・・・だと思われます。来ました! I系原点!!


余談

 この場所、宿泊施設があるのですが、どうやらその脇に二等三角点があった模様。成果の公表停止中(廃止のようなもの)ですが、Googleストリートビューを見るとそれっぽいものが少し見えました。 チェックしておけばよかった!

電子基準点「愛野」960693

南島原ITキャンプ2023の帰り道に、通り道からそう遠くないところにあるようだったので、立ち寄りました。

電子基準点「愛野」

No.960693「建設省国土地理院
設置者: 日立造船情報システム(株)

  • 北緯 32°47′44″.5309
  • 東経 130°09′59″.1289
  • 標高 111.632m(楕円体高 144.09m)

まだ電子基準点の種類については明るくないのだけど、調べたところどうやら「95型」と呼ばれるタイプらしい。