スクエアfreeセミナー#140で登記所備付地図の紹介をしてきました

2023/03/23に開催された「第140回スクエアfreeセミナー」に呼んでいただき、講演をいたしました。


www.opensquare.co.jp
(上のURLで今回(第140回)の情報が見えない場合はこちらで http://www.corcocu.co.jp/news/2023030601/SquareFreeSeminar_stanza140.html)

第140回セミナー: 地図情報が世界を変える

1.「『登記所備付地図XMLデータ』に触れてみよう」〜法務省が公開した大規模オープンデータとは一体何なのか〜
講師:坂井 恵 様(OSGeo日本支部(OSGeo.JP) 運営委員 日本MySQLユーザ会 副代表)


 2023年1月、法務省が「登記所備付地図」のXMLデータの無償公開を開始しました。一部で話題のこのデータは一体どういうものなのか。公開後のデータを見てすっかり虜にになってしまった「(自称)超濃厚なニワカ」の講演者が、基礎からじっくりと紹介します。



2.「自由に使えるソフトウェアで地図情報を活用しよう」〜オープンな地図情報技術ーFOSS4Gの世界〜
講師:井口 奏大 様(株式会社MIERUNE MapLibre User Group Japan voting member)
著書:位置情報エンジニア養成講座(秀和システム


 近年のシステム開発ではオープンソースソフトウェア(OSS)は当たり前に利用されるようになりましたが、地図情報分野では、この分野の性質からか古くからOSS文化が根付いており、FOSS4G(フォスフォージー)というコミュニティで多くの参加者が活発に活動しています。本発表では、地図情報とFOSS4Gについて説明しつつ、自由に使えるGIS(地理情報システム)である「QGIS」などを例に、地図情報の活用方法を紹介します。

 たくさんの方にご参加いただき、いままで「登記所備付地図データ」を知らなかった方にも、それが一体何なのかをお伝えできたのではないかと思っています。 2月にこのデータに興味を持ってから私自身が学ばせてもらったたくさんの成果を披露する機会をいただけました。興味を持って情報に触れてきたから今回言えるようになった「登記所にある紙のあの地図をデジタル化した "だけ" だよ」というお話。まだまだ知らないことがたくさんあるので、もっと知って、もっと面白い話を語れるようになりたいと思っています。

 今回一緒に講演してくださった「位置情報エンジニア養成講座」本(通称 #位置エン本)著者の井口さんのお話も、たいへん勉強になりました。特に、他の人が QGIS を操作しているところを目にすることが私はほとんどなかったので、ちゃんと分かっている人が、どこに何があって、どんなデータをどう操作しようとしていて、どんな結果を得ようとしているのかを完全に理解してサクサク操作している感じがとても新鮮でした。全部は着いて行ききれなかったけど(途中で気になることがあると妄想モードに入ってしまい置いて行かれる(笑))、「分かっている人が操作する感覚」を見せてもらったので今後に生きてくる気がします。

 放課後モードでも、たくさんのことを教えていただきました。なんか俺得な会でした。

  • とりあえず興味を持って触ってみている MapLibre。速度面でも優位があるようで(GPUを使ってくれるらしい)、選択は間違っていなかったと今後自信を持って進めることができそうです
  • 「私のQGIS」の遅さを披露したら、一発で「地物数が多すぎるのでは」とのご指摘。はい。自分の移動をGPS(eTrex)で記録した大量のポイントデータを表示しようとしていました。とりあえず、eTrexから落としてきた状態の gpxファイルをそのまま使うのをやめて、GeoPackageにしたらとの助言をいただいたので、やってみたいと思います(その他 shape や FlatGeobufも可)
  • 位置エン本は早速増刷がかかったそうで、おめでとうございます。興味ある人たちに本書がさらに広がり、この本の情報の「続き」を求める人が増えてきた頃に、更に上の段階の本が出てくることを期待しています!

 このたびは講演の機会をいただき、また色々な方とお話する機会をいただきありがとうございました。
私の資料はこちらに公開しています。
speakerdeck.com

井口さんの発表資料はこちら。
docs.google.com


そのうち動画も公開されるようです。


最後に、今回の発表資料から1枚。このあたりが改善されると、進化も更に早くなるんじゃないかなと考えています。今回まずはデータが公開されたことに最大のリスペクトをした上で、更なる進化を期待しています。

「公共交通オープンデータ最前線2023」参加

3月4日に開催された「公共交通オープンデータ最前線2023」に、オフライン参加してきました。
https://gtfs2023.peatix.com/


4年ほど前にご縁があって、いくつかのGTFS関連イベントに参加させていただいていましたが、その後は優先順位の関係で、当時知り合った皆さんが全国を飛び回る精力的な活動を片眼で見守るに留まっていました。

 久々のオフラインイベントでも自分の行動様式はやはり変わっておらず、かなり早い時間に会場入りしちゃう勢です(笑)。 会場近くの「弥生式土器ゆかりの地」の碑を見学したり、ゆったり時間を使いながら会場に向かったんですけどね。それでも早すぎた。


 今回も発表が盛りだくさん。個別の発表内容は、的確にまとめてくれる人がきっといると思うし、資料も多く公開されているので、私はふんわりした感想などを。

プログラムの構成がとても良かった

 のべ26本の発表があり、盛りだくさんだったのですが、きれいにテーマ分けしたブロックとしてプログラムが構成されていたおかげで、とても聞きやすかったです。

テーマが広範でとても良かった

 数年前によく話を聞いていた頃は、「Googleの時刻/路線検索に載せられる」ことをモチベーションとして、「どうやってデータを作るのか」「うちもやった方が良いのか」という話題、あるいは「実際にGTFS公開するまでの苦労」という話が多かったように記憶しています。
 対して今回は、バス会社がGTFSデータを作って公開するのは当然、というのが既に共通認識になった上で、更なるデータ(状況状況、運行実績)の活かし方、GTFSデータを公開することによる経済効果(観光誘致、住民の利便性向上)といった、一歩上のレイヤに話題が遷移していたことが、とても印象的でした。 ソフトウェアで言えば、初期の頃はインストール方法や設定方法、あるいはいろんな環境で動作させるノウハウ的な話題が多いものが、だんだんと活用方法、応用事例、更に奥深い動作原理の理解などの話題へと遷移していくのと似ていると感じました。

バスだけじゃないのも良かった

 GTFS ってデータフォーマットなので、バス以外の情報だって乗せられます。ということで、GTFSを少々拡張?改変?(この辺り私の理解がまだ不足しています)した GBFSというのをシェアサイクルの世界で試みているという話題があり、これが非常に興味深かったです。講演の資料等を見直しながら、もうちょっと情報収集してみたいと思います。

お役所が良かった

 バス事業者などの民間が頑張っているだけでなく、それを支える国や、県などの自治体も一緒になって、よりよい公共交通への模索を続けている様子が伝わってきました。 お役所の方々のお話も、「我が国は(我が県は)こうすべきである。ルールは決めたので、ついてはキミたち頑張ってくれたまえ」みたいな感じではなく、普通に場に溶け込んでいたのが素敵でした。

オープンで良かった

 鉄道事業者が「時刻表データはカネになる」ことに味をしめてしまい、誰もが自由に利用、加工ができるデータを公開してくれないことを、ずーーーーーーーっと残念に思っていましたが、バス情報を中心とする GTFSデータは、最初から「オープンにする」ことが当たり前の文化が醸成されているように感じます。 ひとえに、この活動を続けてきた皆さんの努力によるものだと、最大限のリスペクトをいたします!

久々の方に会えて良かった

 オンラインではやりとりをしたり、お互いに一方的に相手のポストを眺めたりなどの緩い交流は続けていた方もいましたが、直接会えるのは2~3年ぶり。一部、ご挨拶しそびれてしまった方もいましたが(失礼しました)、多くの方にご挨拶できてよかったです。覚えていてもらえて嬉しかったです。逆に、私のほうが覚えていなかった事もあり、たいへん申し訳ございません。今後ともよろしくお願いします。

ごはんを食べに行けて良かった

 社会情勢もまだ慎重さを要するタイミングでもあることから、公式の懇親会は開催されませんでした。代わりに何人かでご飯を食べに行くことになり、末席ながらまぜていただきました。ありがとうございます。
 やはりオフラインのコミュニケーションは良いですね。オンラインでは難しかった合いの手のタイミングとかがお互いに取りやすく、もっと聞きたい話題をもっと聞けたり、よくわかんなかかった部分をもうちょっと説明してもらったり、とにかく色々なことを教えてもらいました。脳内の、枯れていた知的好奇心細胞に一気に水を与えてもらった感覚です。今回は鉄道系のみなさんに囲まれるような席だったので、そちら方面の(たぶん生活には役立たないけど)知ってるとちょっと面白い知識などをいっぱい聞かせてもらいました。あ、役に立つ話もあったわ。ありがとうございました!

ちょっと興味があるものを見つけられてよかった

 GTFS-GO を初耳。ざっと理解した範囲では、GTFSデータを地図上に見やすくしてくれる QGISプラグインらしく、MIERUNEさん、こんなものまで作ってたのか~!!素晴らしい。 面白そうなので、触ってみたいと思います。




・・・という感じに日記を書けてよかった

 ブログを書くまでが遠足です。
最近は、書くのを先延ばしした結果、書きたかったイベント(オンライン/オフラインともに)の事を書きそびれてしまうこともあったので、今回はちゃんと遠足から帰ってくることができてよかったです。
 参加された方それぞれに、ご自身の「よかった」があると思います。聞きたいな~、読みたいな~。ということで、書こうか迷っている方は「書く」の一択でぜひ。

 最後になりましたが、企画・主催をされたみなさま、講演くださったみなさま、会場であるいは懇親会でお話させていただいたみなさま、どうもありがとうございました。とても充実した一日になりました!

登記所備付地図の「くりぬき」ポリゴンの例

 登記所備付地図XMLデータでのポリゴンに関して、「くりぬき」データの構造について説明します。

土地(筆)の範囲の情報はポリゴン

 筆の形、範囲、大きさの情報(境界線と言います)はポリゴンで表されます。四角形の土地なら4つの点を結ぶエリア、三角形の土地なら3つの点というように。実際はもっと複雑な形をした土地も多いので、5個以上、場合によっては数十個の点を結んで形が決められるものもあります。

くりぬきとは

 筆は必ずしも、きれいに囲まれたエリアだけではありません。南アフリカの地図を描くときにレソトをくり抜くような、喩えて言えばドーナツのような、くりぬきが必要な筆もあります。

実際のくりぬきデータ

 と言いつつ、実のところ私はまだ(家を建てたりする土地という観点での)くりぬきのデータを発見できてはいないのですが(「線を消す」という技法があり、それで対応しているものが多いそうです。私はまだ理解が追いついていません)、道路のデータを表現するためにくりぬきのデータを発見したので、このブログで紹介する次第です。

 例えばこの道路。黄色で囲われた部分がひとつの筆になっています(道路にも筆が定義され、地番が振られています)。この「円」の字の上に更に「口」をつけたような黄色い部分全部が「日野市万願寺2丁目43-1」という地番です。
 この形を「単に囲うだけ」のポリゴンで表現することはできません。必ず3カ所の「くりぬき」が必要になります。

 実際の地図XMLデータはこのようになっています(一部折りたたんでいます)。


 外側の境界線を示す「exterior」とは別に「interior」の情報が3つあることがわかります。3カ所のくりぬきに対応しています。


 もうひとつ、印西市西の原3丁目16-2という地番が与えられた筆を見てみましょう。

 ここ数十年の間に開発された住宅地でしょうか。道路を表すのに、口の中を口でくりぬくようなポリゴンが記述されています。住宅街の中を走る道も、コの字型で1つの地番になっていたり、-の形でひとつだったり、住んでいると地番(筆)がどこで切られているかなんて意識したことがないと思いますが、見てみると面白いものだと思います。

その他のくりぬきの例

 東京都と千葉県のくりぬきポリゴンの一覧を作成しました。私がいくつか見たところではすべて上で紹介したような道路の定義でしたが、何か面白いものが埋まっているかもしれません。ご興味の方はご覧になって、何かみつけたらぜひ発表してください。
github.com

登記所備付地図XMLの勉強会を開催しました

 1月下旬に公開された 法務省の 登記所備付地図XMLデータを、私も2月に入ってから色々触っていました。私の中に一定の情報と初期体験が貯まったので、こんな説明会を開催しました。
connpass.com

 私の周りにいる方々よりは本データについて少し知見を得たので、聞きたい人がいたら説明するよ、っていうか私も一旦整理してみたいから誰か聞いて! くらいの感じで企画したのですが*1、フタを開けてみれば、40名を超える申込み*2をいただきました。「登記所備付地図XMLデータ」に対する関心の広さを感じました。

ここまでの本地図XMLと私の流れ

  • 2023年1月23日正午
  • 2月3日
  • 2月4日
    • 午後:自分の作業結果を公開するためのGitHubリポジトリを作成
    • 夜:最初のダイジェストCSVデータを公開
      • その後、最新状態への追随(kuwanauchiでの抜けへの対応等)や集計データの公開など続々
  • 2月11日
  • 2月13日
    • 一旦自分の得た情報、体験した内容を吐き出しておきたく、周りの人に「聞いてくれる人いる?」と様子伺い。
    • 数名から「聞きたい!」と言っていただけたので、開催決定。connpass準備
  • 2月14日
    • 本イベント情報公開、受付開始
  • 2月16日
    • 本イベント開催


 実はイベント後の雑談の中で私自身も初めて気づいたのですが、初めてデータを見てから2週間も経っていなかったのですね。ほんと、新参者のニワカであります。

参加者事前アンケート

 connpassでの参加申込み時に、アンケートへの回答を数問、お願いしました。

Q:法務省 登記所備付データの公開を知っていましたか(n=44)
7 既にデータを利用して開発している
6 データはダウンロードしてみた段階
13 知っていて情報収集に努めている
7 知っていたが特にアクションしていない
11 今回のイベントで初めて知った

 このイベント開催によって「登記所備付地図データ」を知ってくれた人がいたのは、嬉しい事でした。面白そうなデータだなと思ってくれたか、面倒くさそうだから自分はいいやと思ったか、いずれにせよ、今まで知らなかったものに触れていただく機会となったならば幸いです。

Q: 登記所(法務局)に行ったことがありますか(n=44)
2 日常的に。
7 何度も。
12 行ったことはある
23 一度もない

 私は自分の会社の謄本を取る時など時々行っていたので、多少身近に感じていた部分はあるのですが、半数以上の方が一度も行ったことがないという回答となりました。参加者の中には家を買ったことがある人も多いと思うのですが、そういえば私自身も、家を買う手続き自体はすべて専門家に任せて、自分自身で登記所に行く必要はなかったですね。(候補となっていた複数の不動産登記情報を確認するために、事前に自分で謄本取りに行ったりはしましたがw。普通はしないですよね)

 余談ですが、20年以上会社をやっていると、登記所での会社謄本の取り方も、自分の登録先の登記所で「紙に申請者と取得したい(自分の会社の)情報を書いて提出、発行待ち」だったのが「カードを入れて機械で申請、発行待ち」に変わり、いつの間にか登録先ではない別の登記所でも取得できるようになって、と少しずつIT化の努力を続けられてこられたことを体感します。 あとはあれだ。印紙を別途買って納めるというやつ。あの決済部分さえ廃止されれば*3いいのにと思います*4

Q:amx-projectを知ってください!

 アンケートの3つめは、おふざけの設問でした。「登記所備付地図XML」について情報をまとめたり情報交換している amx-project。私も大変お世話になったので、皆さんにこの機会に名前を知っていただけたらなぁと思っての設問でした。回答の選択肢は「はい」「はい」の2つ。
 任意回答項目にしたので、「わけわかんない」「やだ」という方は無回答にできるようにはしていたのですが、多くの方が「はい」を選んでくださいました。おふざけに付き合っていただきありがとうございます。なお、Connpass のアンケートは回答の文字列でしか分からないので、皆さんがどちらの「はい」を選んだのかが分からないのが残念でした。


主に説明した内容

 資料を公開しているので(本エントリの末尾にリンク)詳細はそちらをぜひご覧ください。この10日間での私の体験と、本件に関して私がたまたまこの数十年の間に体験したり知っていたりしたことを織り交ぜて、本件地図の入り口を易しく説明できているかと思っています。

  • 「登記所備付地図XML」。そもそも登記所って何よ?登記って何よ?
  • 登記所の地図、って何よ
    • 「地租改正」って昔習ったでしょう?あの延長にあるものですよ
  • 本件XMLデータの「座標」の表現である「平面直角座標系」について
    • 基本的な説明のほか、余談として「2系原点」の紹介をしました
    • 関東をカバーする「9系原点」について、以前も「確か埼玉のあたりだと思うんですが」「いえ。千葉県ですよ」というやりとりをしたのに、今回もまた「埼玉のあたりにあると思うんですが」「千葉県です」というやりとりをしてしまいました。ご指摘ありがとうございます。今度こそ覚えます!
  • 実際の本件地図XMLデータを見せながら、その構造や含まれている情報について解説
  • 平面直角座標系から経緯度への変換について
    • 難しい式(国土交通省が公開している式)を見せて「難しいでしょ?はいどうぞ」と投げるスライドを作成(イベント2日前)
    • よくよく変数の関係を追っていったら、意外とシンプルかもと気づく
    • 自分で変換関数を実装しちゃいました(イベント1日前)
    • このブログを書いている時点では、この変換関数を使ってgeojsonを生成するプログラムも公開済です:-)
  • カドが丸いエリアの、本件XMLでの表現方法について
  • 私の「地図に載せず、ひたすらデータだけを見る」の取り組みについて小ネタを色々
    • そのまま全件をCSVに吐き出して公開する試みは、データ量が膨大で断念(私の手元にはありますが公開できるサイズじゃないし、このまま使いようがないのでそのうち消します)
  • 「伝習」のススメ

各種リンク・スライド公開

関連記事(前回の私のエントリー。ダイジェスト公開について):
sakaik.hateblo.jp


発表スライド(事後に補足追記済):
speakerdeck.com


動画:
 一応Zoomで取った当日動画が手元にはあるのですが、公開場所や公開方法が決まっていないので、今のところ公開していません。(見たいという人がすごくたくさん居るとか、公開の手間を引き受けてくれるとか、公開場所の申し出とかあれば考えるかもしれません、、がまぁないでしょう:-))

まとめと今後

 企画、運営、登壇と「自作自演」のイベントにご関心を持っていただきありがとうございました。イベントにはこの道に超詳しい方々にも参加していただき、ツッコミ、ご指摘、ご指南等、たくさんのことを私も教えてもらいました。とにかく「住所」と「地番」は基本的には何の関係もない別々のものだというのが衝撃でした(新しめの地域は揃えているものも多いようですが、とにかく地租改正からミャクミャクと...(略))
 私にとっても、まだまだ知らないことだらけの分野ですが、このデータの持つ可能性には非常に期待をしています。ご興味を持たれた皆さんと一緒に、面白い事をもっともっと発掘していきたいので、ぜひ興味を持った方はご自身でも試され、そしてなんらかの発信をしていただけたらと思います。

 このブログを書いている時点では、既にXMLファイルからGeoJSONを吐かせるプログラムの暫定版ができており、任意座標系のものを公共座標系に調整する仕組みも仮実装できているので、それらの完成と、あとは私もそろそろビジュアライズのテクニックを身につけたいと考えています。さしあたって MapLibre お勉強中ですので、先達の皆様にはこれからも色々学ばせてもらいたいところです。


 あと、ひっそりとイベントタイトルに「(1)」というのをつけてあります。「(2)」もやりたいですね!


.






.

*1:SNSでお尋ねしたときに真っ先に「聞く!」といってくださった皆さんありがとうございました

*2:実参加者は40名弱かな。多少増減していたみたいで瞬間最大を私は確認していなかったのですが

*3:たとえば申請機でPayPay決済、カード決済できるとか

*4:もっと言えば、そもそも紙の証明書を発行してもらうのか?という方向の進化は期待したいところでもあります

法務省登記所備付地図データダイジェスト(サマリ)公開しました

このたび法務省が公開している「登記所備付地図データ」のxmlファイルから基本情報を抜き出してCSV形式にした情報を、以下のGitHubリポジトリで公開しました。データだけでなく、様々な情報(スクリプトや感想やサマリのサマリなど)も併せて公開しているので、お楽しみいただければ幸いです。
github.com

きっかけ

Code for Japan主催、OSGeo.JP, UN Open GIS Initiative DWG7の共催で突然『緊急企画:法務省地図XMLハックナイト〜奥深き公図の世界にようこそ〜』というオンラインイベントが開催されました。イベントがアナウンスされたのが開催前日という、本当に「緊急企画」での開催でした。
https://amx-project.peatix.com/

 私自身は、法務省が登記地図データをオンラインで、しかも誓約書等の面倒な手続きなしで利用できる状態で公開してくれたニュースは見て興味は持っていたものの、自分で触るには至っていませんでした。
 このイベントで、たくさんの方がすでに触って楽しんでいること、公開されているXMLデータをより取得しやすくなるようリポジトリで整理してくれていること(負荷分散の面も)、などを知り、イベント最中にも早速ダウンロードして、話を聞きながら触ってみたといったところです。

今回公開しているもの

 冒頭で紹介したリポジトリに、XMLデータのサマリ情報やその他さまざまな おもしろ(当社比)情報を公開しているので、ご覧ください。データの作り方や、簡単な集計をしてみた結果などを書いたファイルもあるので、特にこのブログでは再掲しませんが、ぜひご覧いただけましたら。

ファイルフォーマットについて

 内容については、リポジトリを見てもらうことにして、ここで、初めて 法務省登記簿備付地図データを自分の目で見て(一応仕様書となる PDFファイルも参照して)、自分なりに理解したことを、概要レベルで簡単に紹介しておきます。

ファイル構成

 法務省が公開しているデータは、

  • 最終的な小さなエリアのXMLファイルをZIPにしたもの(1 zip で 1 xml
  • それをもう一段回大きなエリアごとに zip でまとめたもの(1 zip の中にたくさんのzipファイルがある状態)
  • ひとつの県内に上気zipがたくさんあるので、それを都道府県ごとのリンク先からそれぞれダウンロードできる

という形になっています。全部を入手して、使いやすいように展開するまでに結構な手間がかかるので、1階層のzipの状態に展開して全国分を公開してくれているのが、kuwanauchi です。
https://github.com/amx-project/kuwanauchi
今回私もずいぶん助けられました。もとの公開状態だと、全部ダウンロードしてきて展開しただけで一仕事した気分になってしまったところですが、kuwanauchi のおかげで git clone するだけでいきなりスタート地点に立てたおかげで、その先の作業に集中することができました。
47都道府県ぶんの git clone は私のリポジトリでも公開しているのでご利用ください。

ファイルの中身の構造

 ファイルはXML形式で、全体が<地図>~で囲まれます。
その中に、各種基本情報(後述)、空間属性、主題属性、図郭のブロックが含まれます。
 サンプル(雰囲気)を示すとこんな感じです(各要素の終端は省略している部分があります)。

<地図>
  <version>ver1.0</version>
  <地図名>日秀字観音前1179</地図名>
  <市区町村コード>12222</市区町村コード>
  <市区町村名>我孫子市</市区町村名>
  <座標系>任意座標系</座標系>

  <空間属性>
    <zmn:GM_Point id="P000000529">~~
    <zmn:GM_Curve id="C000000001">~~
    <zmn:GM_Surface id="F000000001">~~
    
  <主題属性>
    <筆界点>~~
    <筆界線>~~
    <筆 id="H000000001"> ~~
  <図郭>~~
</地図>

 図郭情報はひとつのファイルの中に複数ある場合もあります(ゼロ個の場合もあります)。

 今回私がダイジェストとしてまとめたのは、これらの情報から各ファイルの「version」「地図名」「市区町村コード」「市区町村名」「座標計」「公開日付」などの基本情報を抜き出したファイルと、図郭情報を抜き出したファイルの2つです。
 基本情報のファイルには、図郭情報の数も含めておきました。


 空間属性は、点と線と面のブロックに分かれていて、ざっくり言うと、各点(緯度経度またはXY)にIDをつけて、そのIDを使った線を定義してそれにも線IDをつけて、その線IDを使って面を定義して面IDをつけるという定義が延々と記述されているパートです。

 主題属性は、点、線、面に意味を持たせるための対応付けを記述したものです。例えば点として定義されたID="P000000167"は「地籍図根多角点」ですよ、とか、線として定義された ID="C000000107"は「小字界線」ですよ、とか、筆情報として、大字・丁目・小字がコレコレは 面として定義された ID="H0000034" ですよ、とかそんな感じです。

 図郭は見たところ、このひとつのXMLファイルを作成するために元にした紙の図面に関する情報かと思っているのですが、あってるかな。いつ作った、どんな縮尺でどんな紙に記述されていて、それぞれの図はどこかどこまでの範囲、のような情報が含まれています。ざっと眺めると歴史を感じることができるものあり、わくわくします。

おわりに

 ということで、木曜日に「明日イベントやるよ」と知り、金曜夜にお話を聞きながら初めて地図XMLを実際に目にし、土日ほとんどをこのデータファイル群と戯れていました。仕事よりも集中していたかもしれない(笑)。 必要なのはファイル内の一部のデータだけなのに、python で xmltodict を使っておそらく無駄な部分の処理をいっぱいさせてしまったせいか、非常に処理に時間がかかるスクリプトになってしまい
(G空間で公開されているスクリプトがあるのは知っているのですが、自分で作ってみたかった)、一日中10スレッドくらい並行で処理を回す事をやっていました。ちょうど1年前に買った 12世代 i7くんの人生の中で一番仕事をした一日になったことと思います(笑)。

 私はまだ、データをRDBMSにつっこんで概要の雰囲気を見た程度ですが、この膨大な面白そうなデータ、やはり地図に当てはめて見ていきたいですよね。 私自身の経験がその分野あまりないので、楽しみながら挑戦してみたいと考えています。みなさんも試されましたら、ご自身のブログなどでいろいろ教えてください!

OSGeo.JPの運営委員になりました

 このたび、OSGeo日本支部(OSGeo.JP)の運営委員に加わらせていただくことになったことを報告します。

www.osgeo.jp
組織と事務局:https://www.osgeo.jp/about


 何年か前より日本各地で開催されている FOSS4Gなどに頻繁に参加させていただいており、ずっと何か自分がお役に立てることはないかと思いながらも、スタッフさん多そうだし、足りているんだろうなぁ募集してるわけじゃないんだろうなぁと漠然と感じていました。
 そんなことはないということで、ご縁があり今回加わらせていただくことになった次第です。

 MySQL 8.0のSpatial機能でこの分野に興味を持ったこともあって、どちらかというと目的なくデータの操作ばかりやっている傾向ですが、集めたデータ、格納したデータをビジュアライズすることにも最近興味を持ってきたので、今後はその辺りの知識をつけていきたいところです。

 微力ながら、OSSでの地図、地理情報、測量などの分野に興味を持ってくれる人が増えるよう、そして、そういった人たちにいろんな情報を届けられるよう努めて参りますので、どうぞ今後ともよろしくお願いいたします。

AtCoderで茶色になった話

要約

 夏頃に始めた AtCoderで、なんとかギリギリ2022年中に最初の色付きである「茶色」になれました。嬉しいもんです、という事を書きます。それだけです。

きっかけ

 以前から漠然と興味を持っていたところに、この夏発売されたこの本を読んだことで、「ちょっとやってみようか」という気になりました。

その頃の日記:
sakaik.hateblo.jp

開始の頃の記録

  • 2022/08/13
    • 記念すべき初回参加申込み!! ・・・をしたのだけど、すっかり忘れていて、日が変わってから数問を黙々と解いてみた、苦い出発の思い出。2点もらえてる! とりあえず、時間内に参加しなきゃいけないことを覚えた。
  • 2022/08/21
    • 先週の失敗を繰り返さぬよう、とりあえず時間は覚えていた!・・・けど、ゆったりと21時半を過ぎてからAtCoderサイトを開いてみると、どうやら申込みをしていなかったらしい。 とりあえず、申込みをしなきゃいけないことを覚えた。
  • 2022/08/27
    • ようやく実質的なスタート。ちゃんと申し込んだし、ちゃんと、21時過ぎてからPCの前にゆったりと座ったし。 ・・・解いた時刻も順位(ポイント)に影響するらしいことに気づく。 とりあえずこれは、21時にはスタンバイ完了して、時報と共に試験問題を開くゲームなのだ、ということを覚えた。

 というドタバタのスタートでした。

採点されるのは面白い

 普段の生活の中で書くコードには、正解であることを保証してくれるものは何もない。分かりやすいエラーになればさすがに分かるが、ちゃんと動いている「ように見える」状態で稼働しているものも多いのではないでしょうか。(テストケースを書いても、そのテストケースに対する信頼度=書いたのは誰?=に対する不安は常にあるし)
 そういった中で、充実した(そして多くの場合は信頼できる)テストケースを用意してくれて、作ったコードが正しく動くのか、パフォーマンス要件を満たしているのか、ちゃんと判定してもらえる機会というのは、非常に面白いものです。 確実な「おっけー」が出ることはない世界で、「おっけー」を出してもらえるうれしさを、このゲームに感じました(ゲームと呼ぶなと怒られそう(笑))。

やってみて感じたこと

  • それなりに業界経験も長いので、まぁ依頼された仕様に対してそれなりに書けるだろうと思っていたけど、いやいやとんでもない
  • きれいに書かなきゃいけないというか「自分はこんなきたないコードを書いちゃいけない」という思いがあって、最初の頃は手が動かなかったけど、数回参加しているうちに「きれいにしようとして完成しないコードよりも、泥臭くても動くコードを」と切り替えてから、手が動くようになりました
  • 本来は、「きたなくてもまず動くコード」を書き上げてから、しっかりとコードの整理(リファクタ)を行ってこその完成だと考えますが、きたないコードがテスト通過した時点でもう見返すこともないので、この点は多少もにょもにょします。いまのところ、この点は割り切ることにしています(動くコードを書いた奴が偉い)。
  • 知らないものは解けない。アルゴリズムの知識や、使用すると便利な関数やデータ型の知識を要求されることがあります。仕様(問題文)を元にゴリゴリ書けるものは自力で書くこともありますが、知らないと時間内ではどうしようもないものもあり(300か400点より先の問題はほぼそう?)、自分のこれまで触れてきた世界の狭さを身を以て感じました。
  • 集中する時間は楽しい。仕事でも過度に集中して数時間後に貧血を起こすことがありますが、AtCoder では制限時間が決まっているのが良いですね。時間を決めて集中する機会はそうあるものでもないので(仕事では「できるまで集中」が基本)、終了時間に向けて集中するのは楽しい時間でした。
  • もっと勉強したくなった。いままでも各種アルゴリズムに触れる機会はあったものの、実務上それらを必要とする機会は多くないため、いつしかそういったアルゴリズムらに対して「あぁキミね。こんど時間があるときじっくり向き合うからね」と優しくない態度を取るようになっていました。このたび、学んだことを使う機会= AtCoderで使用できるかも=を得たので、アルゴリズムさんたちに対してより親密な態度で向き合えそうです。
  • 毎週はキツい。開始後2ヶ月くらいは最優先で時間を確保したものの、11月頃に世の中が少しずつ動き始めるのに合わせて私も外出の用事が入ることが多くなりました。気がついたらまるまる1ヶ月の間があいてしまった次第。意外と週オビでの時間の確保は難しいのです。2023年は「月に2回くらいは参加できたらいいな」くらいで、ゆったりと向き合えたらと考えています。無理は良くない。
  • しくみがスゴイ。前述のとおり採点の仕組みもすごいのですが、とにかく成果の「見せ方」がスゴイ。自分の成績の変化を折れ線グラフで見せてくれたり、全体の中での自分の位置をヒストグラムもどきで見せてくれたり、やったことに対する成果の見せ方が素晴らしいです。ヒストグラムもどきは、統計グラフとしてはやっちゃいけないこと(横軸の恣意的な操作)なのだけど、灰色部分を4本の棒にしてしまうのではなく、敢えて細かく分けることで自分が少しずつ右のほうに移動していることを実感できるのが良かったです。最初の嬉しかったのは、このグラフで「峠を越えた」ときでした(笑)。今後は100点ごとに1本進むので、なかなか大変そうです。

AtCoderは「暗記科目」か

 この数ヶ月の間で「AtCoderは暗記科目なのか」という話題を目にしました。いろんな意見があったようですが、「知らないと解けない」ものがあるのは間違いないでしょう(今回、自分のアルゴリズム経験の少なさにがっかりしました)。この「知っている」の部分は本来「理解している」と同義であってほしいと私は思いますが、理解せずとも「パターンとして暗記している」ことで解くことはできるので、手っ取り早さの点では「暗記勝負」という面もあるのではないかと思います。
 暗記して→使って見て→何度も使っているうちに「あっそうか!」と理解に昇華することがあるかもしれない、という期待もありますね。
 私としては「暗記科目ではないが、暗記は有効だし、暗記で解く人がいてもいいのかなー」という感覚ですかね。

楽しかったです

 優秀な若い人たちの遊び場という雰囲気のところに、いい歳して混ぜていただいた感はありますが、普段使わない脳ミソを使ったりして、今年の後半、楽しかったです。運営、作問、いつもありがとうございます!


記念キャプチャ:色々なところの表示が茶色に変わって、テンション上がります!