オープンソースカンファレンス2025新潟参加

 2025年10月4日に新潟市で開催されたオープンソースカンファレンス2025新潟(OSC2025 Niigata)に参加してきました。

ospn.connpass.com


 新潟のOSCは、長岡市新潟市で交互に開催していて、今年は2年ぶりに新潟市の番。 いつもの新潟駅から徒歩圏内にある公共施設の予約がとれなかったとのことで、古町のほう(本町)にある新潟国際情報大学新潟中央キャンパスさんをお借りしての開催となりました。ホテルも当然そちら方面に。 なかなか訪れる機会のない古町の路地を歩き回る機会にもなり、普段の駅前とは違った「もうひとつの新潟」を体験できたように思います。

OSC新潟とは何なのか

 金曜夜に前夜祭があり、おいしい日本酒とお食事で口々に「いいOSCでした」。翌土曜日の朝から夕方までセミナー形式のイベント+ちょっとしたブース展示でお話を聞いたりおしゃべりしたり。夜にはお店に移動して交流会。交流会の乾杯のご挨拶では「では、これからOSC新潟をはじめます」、一同爆笑。 
 つまり、、、前の日に一旦OSCが完了して、当日の夜にOSCが改めて始まった、、という認識でいいんですかね(笑)。昼間はなんだったんだ。

前夜祭の部

 前日入りしているメンバー+地元の方で簡単な前夜祭が開催されました。2次会でお蕎麦(へぎそば)を食べて、21時過ぎにはホテルの部屋に戻っているという非常に健全な集まりです。

 まぁ、1次会の前にゼロ次会と称して16時から立ち飲み屋さんでお酒をいただいているんで、それなり良い感じにできあがっています。 一応IT系なのでゼロから始まらないと落ち着かないですよね。

セミナーの部

 一応真顔で語っておくならば、一応「OSC新潟の本体」のはず。新潟のOSCは15分トーク枠となることが多かったのですが、今回は30分枠で、ゆったりとしたお話を聞かせていただきました。 急遽、体調不良で講演キャンセルになった方がいてひと枠空いたので「坂井枠」と称して、私も急遽お話させていただきました。いつものMySQLユーザ会枠ではなく、坂井枠(勝手にそう称した)なので、前半でMySQLの最新動向(主にバージョン系列について)、後半ではOSGeo.JPの運営委員として今後開催される地理情報イベントの案内をいたしました。(今回は過去に公開済の資料やWebページや写真やトートバッグ実物を使ってお話したので、今回用の資料の公開はありません)
 後半で案内したイベント2つ、改めてこちらでもお知らせします。まず来週(10月11,12)に東京で開催される「FOSS4G 2025 Japan」。FOSS(フリー&オープンソースソフト)の for Geospatial(地理情報のための)ということで、そういったジャンル名を表すFOSS4Gですが、このテーマで開催されるイベントも FOSS4G と呼ばれています。ちょっとややこしいので私はイベントのほうは「FOSS4Gイベント」と呼ぶことにしています。 で。 このFOSS4Gイベント、全国各地で、現地の幹事が中心となって開催されており、今年は大阪、福岡、札幌で開催されました。 来週の "Japan" は OSGeo.JP が主催するFOSS4Gで、いわば「全国大会」のようなものだと理解していただくと良いかもしれません。
www.osgeo.jp
 もうひとつ紹介したのが「FOSS4G Hiroshima 2026」。こちらは、いわば「世界大会」です。毎年世界中のどこかで開催されている地理情報系の大イベントですが、熱意ある方々の尽力により来年、初めての日本開催への招致に成功しました。こちら、詳細情報はこれから続々と出てくるものと思いますが、ぜひ皆さんにお越しいただきたいのと、加えて、多くの人に(少なくとも地理情報の世界では)一世一代とも言える大イベントが開催されることを知っていただきたく、広報・宣伝にもご協力賜れますと大変嬉しく思います。
www.osgeo.jp

懇親会の部

 そしていよいよOSC新潟が始まります(笑)。写真が全てを物語っています(お店での開催のため、普段よりは持ち込み少なめですが、どれもおいしくいただきました)。

2次会的な

 三々五々分かれて2次会に。私は地元の方に連れ回されて(どの店も満席で、文字通り結構歩いて3軒目で)、しっとりと数人で呑みました。こちらでも色々はお酒をいただきましたが、私にドストライクだったのが、菅名岳 初呑み切り。押しつけがましくない上品な香りに、引き際をわきまえた鮮やかなキレ。これ抱えて寝たいです。

 忘れないようにとSNSにポストしていたのですが、そこに記録されていたのは「すながだけ」。どんだけ指先まで呂律が回らなくなっているんだよ、って感じですね。

御礼

 そんなこんなで、「本体」がいっぱいあるOSC新潟、堪能いたしました。ここでしかお話できない話題も多くあり、貴重な情報への機会と大変な勉強の機会ともなり、文字通り「いいOSC」でした。 (普通は、ITイベントに参加したブログなんだから、そういった話題を書くのでしょうが、それは他の方にお任せします。
 現地幹事のみなさま、参加されたみなさん、どうもありがとうございました! 
周辺のもろもろは、改めてnoteのほうに書きます。

追記:noteにもろもろ書きました。新潟への行き方、新潟での楽しみ方、新潟からの帰り方、それぞれお楽しみください。
note.com

再追記: そういえばこれも書いておきたい。受付辺りを私もうろうろしていたのですが、結構早い時間に「申し込んだ人全員」の受付が終わっていました。体調やその他の事情で来られなかった方は事前に「キャンセル」してくれていて、つまりノーショー率ゼロパーセント!! すごいOSCでした。

我孫子市の地番参考図がオープンデータとして公開!

 2025年9月24日、突然我孫子市のサイトに「地番参考図をオープンデータとして公開しました」という案内が掲載されました。
www.city.abiko.chiba.jpwww.city.abiko.chiba.jp

 「地番参考図」というものをあまりよく知らなかったのですが、法務省の登記所備付地図みたいに各筆ごとの場所や形、名称(地番)などを管理しているもののようです。登記所備付地図データ(以下MOJXML)には、特に我孫子市(千葉県全域も)では任意座標系のものが多く、つまりそれは各図面ごとに独自の座標系を持っているため全体をつなげて一枚の図面にすることはできませんでした。どうもこの地番参考図は全体で同一の座標系を以て管理されているようです(詳細本文にて)。ライセンスは CC BYです。「本記事で紹介しているデータは、我孫子市のデータを使用しています。データ取得元については本文で紹介しています」・・・・これでいいのかな?

データの取得

 市のサイトの案内に従ってG空間情報センターからZIPファイルをダウンロードします。
https://www.geospatial.jp/ckan/dataset/chibansannkouzu/resource/c5e08df7-31be-4a62-9825-38f44a29c4e9

 ファイル名が chibanzu.zip なのは、他の自治体のデータも今後公開されることなどを考えるとちょっとイケていないところ。
chibanzu_12222_abiko_20250101.zip とかをご検討いただきたい(ちなみに 12222が我孫子市自治体コードです。覚えやすいのでこの機会にみなさん覚えておきましょう)。

 ZIPファイルを展開すると以下のようなファイル群が出てきます。「みんなだいすき*1シェープファイル」でした。。よく問題にされるPRJファイルも存在していてよきよき。みんながシェープファイルについて楽しそうに語っている時、私は「でもそれって作業が面倒とか間違いやすいという不満が殆どで、実際のところ本質的なシェープファイルの不足は何なんだろう」と考えることも多いのですが、このリストを目の前にすると「いったい何種類のデータがあるのだ?おまえらひとつにまとまれ!!!」と思ってしまいますね。本質じゃないのだけど。

83,596,654 ABIKO_AN.DBF
       411 ABIKO_AN.PRJ
 6,399,780 ABIKO_AN.SHP
   800,060 ABIKO_AN.SHX
 6,391,471 ABIKO_AN_HIKI.DBF
       411 ABIKO_AN_HIKI.PRJ
 1,160,124 ABIKO_AN_HIKI.SHP
    89,324 ABIKO_AN_HIKI.SHX
   135,430 ABIKO_COM.DBF
       411 ABIKO_COM.PRJ
    10,404 ABIKO_COM.SHP
     1,388 ABIKO_COM.SHX
     1,948 ABIKO_COM_HIKI.DBF
       411 ABIKO_COM_HIKI.PRJ
       308 ABIKO_COM_HIKI.SHP
       116 ABIKO_COM_HIKI.SHX
   631,178 ABIKO_KOAZA_AN.DBF
       411 ABIKO_KOAZA_AN.PRJ
    48,356 ABIKO_KOAZA_AN.SHP
     6,132 ABIKO_KOAZA_AN.SHX
     2,521 ABIKO_KOAZA_HIKI.DBF
       411 ABIKO_KOAZA_HIKI.PRJ
       412 ABIKO_KOAZA_HIKI.SHP
       124 ABIKO_KOAZA_HIKI.SHX
   373,825 ABIKO_KOAZA_LIN.DBF
       411 ABIKO_KOAZA_LIN.PRJ
   232,444 ABIKO_KOAZA_LIN.SHP
     5,308 ABIKO_KOAZA_LIN.SHX
   157,166 ABIKO_OOAZA_AN.DBF
       411 ABIKO_OOAZA_AN.PRJ
    12,068 ABIKO_OOAZA_AN.SHP
     1,596 ABIKO_OOAZA_AN.SHX
   106,807 ABIKO_OOAZA_POL.DBF
       411 ABIKO_OOAZA_POL.PRJ
   246,748 ABIKO_OOAZA_POL.SHP
     1,580 ABIKO_OOAZA_POL.SHX
53,508,922 ABIKO_POL.DBF
       411 ABIKO_POL.PRJ
24,128,596 ABIKO_POL.SHP
   752,420 ABIKO_POL.SHX
   306,784 abiko_ROAD_POL.dbf
       411 abiko_ROAD_POL.PRJ
   908,644 abiko_ROAD_POL.shp
     4,372 abiko_ROAD_POL.shx

データの変換

 ひとつ前の記事「DuckDBをただShapefileからの変換ツールとして使う」の手順に従って各ファイルを変換します。
実際の作業は、以下のようにループを回して実施しました。ここではGeoPackage(.gpkg)へと変換しています。

SET datapath=D:\work\gis\chibanzu_abiko
for %f in (abiko_an ABIKO_POL ABIKO_AN_hiki ABIKO_COM ABIKO_COM_hiki ABIKO_OOAZA_AN ABIKO_OOAZA_POL ABIKO_KOAZA_AN ABIKO_KOAZA_HIKI ABIKO_KOAZA_LIN ABIKO_ROAD_POL) do (
    duckdb -c "load spatial;" -c "COPY (SELECT * FROM ST_Read('%datapath%\%f.SHP',open_options=['ENCODING=CP932'])) TO '%f.gpkg' WITH (FORMAT GDAL, DRIVER 'GPKG');"
)

QGISでの表示

 できあがった .gpkgファイルをQGISで表示してみます。色合いや形などのシンボロジを調整したものがこれ。

 この記事を読んでいる人の99.9996%は感動しないと思いますが、当地をよく知る人にとっては「おおおおお!!!!」と恍惚の表情でしばし見とれるような素晴らしい絵が出てきました。これぞ我孫子市
 あくまでも市が固定資産税管理のために作っているものなので、市がその用途として認識してない場所は描かれていません。国道とか県道8号線とか、誰もが地図を見るときに基準とする線が見つけにくいです。

 部分拡大してみると、各ポリゴンの中にポイントがあります。最初は代表点だと思っていたのですが、これは地番表示箇所であることを教えてもらいました。引出線もあり、狭くてその中に書けないものは、隣のポリゴン内に書くことになっているようです。縦長の地域はポイントが2つになり、2段にわけて記述するようデータが格納されています。フォント情報も含まれており*2、つまりこれらのデータを使うことで印刷レイアウトを再現できるようなデータであることがわかりました。面白い。

問題発覚

 きれいに我孫子市の形も描けたので満足していたところ、そういえば背景地図と重ねて見ていないことに気づきました。重ねて見ると・・・・

我孫子市、世界からはみ出してるし、びっくりするほど大きいし。

 元のデータは平面直角座標系9系の値として格納されていました。チーバくんの鼻先にある9系原点から見て我孫子市は右(東)にしばらく、下(南)に少しいった地点にあるので、概ね良い場所に表示されていることがわかります。 ・・・良い場所とか言ってる場合じゃないよっ!!!!

 これはつまり、PRJファイルに書かれている情報を今回使用した DuckDBのspatial extensionでの変換時には無視していることを示しています。実際に GeoJSONに変換して確認しましたが、やはり測地系の情報は入っていませんでした。いいところまで行ってるんだけどなぁ。。惜しい。変換時に追加のオプションを与えることで読んでくれるのか、そもそも .projファイルには対応していないのか、もう少し調査が必要です。

おまけ:各ファイル解説

ABIKO_AN.gpkg         地番表示箇所
ABIKO_POL.gpkg        筆境界線
ABIKO_AN_hiki.gpkg    地番表示用引出線
ABIKO_OOAZA_AN.gpkg   大字表示箇所
ABIKO_OOAZA_POL.gpkg  大字境界線
ABIKO_KOAZA_AN.gpkg   小字表示箇所
ABIKO_KOAZA_HIKI.gpkg 小字表示用引出線
ABIKO_KOAZA_LIN.gpkg  大字の中で小字に分割する線(線)
ABIKO_ROAD_POL.gpkg   「市が理解している道」ポリゴン?

ABIKO_COM.gpkg        不明。なんかの表示箇所?
ABIKO_COM_hiki.gpkg   上記のための引出線

さいごに

 とりあえず統一的な座標系に基づいた筆情報データであることを確認できました。各ファイルには「属性情報(いわゆるテーブルデータ)」もあるので、今後、それらの内容の把握に取り組んでみたいと思います。
 それにしても、これまでこういったデータの公開に積極的なほうだとは思えない我孫子市が、こんな素晴らしいデータを突然公開してくれたことに驚きました。しかも雁字搦めのライセンスではなく CC BY にて公開したのは、もう「我孫子市、オープンデータ最先端の市!」とアピールしてもいいと思います(ちょっと言い過ぎ)。今後も、市民の生活に役立つデータ、分析への興味を誘うデータの公開、そして定期的な更新に期待しています。
 なんで公開したんだろう。私が住んでいるからかなぁ(素)。そう思うことにしておこう。

我孫子市、現在の公開データセット数:1

*1:とってもよく話題にするという意味で

*2:ちなみに「MS 明朝」でした

DuckDBをただShapefileからの変換ツールとして使う

 先日参加してきた FOSS4G Hokkaido 2025 にて、DuckDBの話を聞いて、表記のことをやってみたくなりました。
実は2月のイベントで DuckDBの機能を伺ったときにも、やってみたいと考えていたのですが、すっかり先延ばしになっていたので、今回改めて刺激を注入していただいて、手を動かしてみた次第。

目的・環境

  • とにかく手元に Shapefileが来た時に、他のフォーマットにさくっと変換したい
  • ゆくゆくは Linux上で作業することになろうが、さしあたって手元の Windows上でできるようになっておきたい
  • 話に聞いたので、(色々方法はあろうが)DuckDBを使ってみたい

DuckDBのインストール

 以下のURLにアクセスして、自分の環境をポチポチ。
duckdb.org

ZIPファイルを取得して展開する方法とwingetコマンドを使用する方法があり、今回は、自分に馴染みが薄かったという理由で(体験として)wingetコマンドを使ってみることにしました。

winget install DuckDB.cli

インストールはこれだけ。お手軽。

DuckDB操作の基本

 コマンドライン(いわゆるDOSプロンプト)から duckdb を起動する。

C:\Users\myname>duckdb
DuckDB v1.4.0 (Andium) b8a06e4a22
Enter ".help" for usage hints.
Connected to a transient in-memory database.
Use ".open FILENAME" to reopen on a persistent database.
D help
ツキ

 Dというプロンプトが表示され、そこにコマンドを打ち込む。上記は(誤って)helpと入力したところ。
2行目の入力を促すプロンプトが表示される。「次」を要求しているのか、プロンプトが「ツキ」というのが個性的なツールだと感じた。
(たぶんそうではなく、化けている)

duckdbの(データ操作ではない)コマンドは基本的に、先頭に「.」をつける。とりあえず覚えておくのは以下の2つ。

  • .help :使えるコマンド一覧が表示される
  • .exit : 対話型duckdbを終了する。.quitでも可。ctrl-cでも抜けることができる(というか抜けちゃう)のは昔のWindowsmysqlっぽい

spatial extensionのインストール

 GISデータを扱うための拡張をインストールし、使える状態にする。Dはプロンプト。INSTALLは1回だけやれば良い。LOADはduckdbを起動する都度行う必要がある(設定ファイルに書くこともできるが今回はサクサクと先に進む)。

D INSTALL spatial;
D load spatial;

シェープファイルを見る

 シェープファイル(.shp)をFROMに指定して、あたかもテーブルであるかのように読むことができる。Windowsの場合のパスの区切りが \ のままで使えるのに好印象( / に書き換えたり \\ にしたりしないといけないものも多いので)。

C:\>duckdb
(略)
D SELECT * FROM 'D:\work\gis\chibanzu_abiko\ABIKO_AN.SHP';
┌───────┬───────┬───────┬────────┬─────────┬───┬─────────┬─────────┬──────────────────────┬──────────────────────┐
│ ALIVE │ LAYER │ LTYPE │ SUBLAY │ SUBLTYP │ … │   EL    │   STR   │         ATR          │         geom         │
│ int32 │ int32 │ int32 │ int32  │  int32  │   │ varchar │ varchar │       varchar        │       geometry       │
├───────┼───────┼───────┼────────┼─────────┼───┼─────────┼─────────┼──────────────────────┼──────────────────────┤
│     1 │    21 │    11 │      0 │       0 │ … │ 8-16    │ 8-16    │ 65763,8-16,409,004…  │ MULTIPOINT (21033.…  │
│     1 │    21 │    11 │      0 │       0 │ … │ 8-20    │ 8-20    │ 65764,8-20,409,004…  │ MULTIPOINT (21048.…  │
│     1 │    21 │    11 │      0 │       0 │ … │ 8-24    │ 8-24    │ 65765,8-24,409,004…  │ MULTIPOINT (21047.…  │
│     1 │    21 │    11 │      0 │       0 │ … │ 8-6     │ 8-6     │ 65760,8-6,409,0040…  │ MULTIPOINT (21016.…  │
│     1 │    21 │    11 │      0 │       0 │ … │ 8-11    │ 8-11    │ 65761,8-11,409,004…  │ MULTIPOINT (21036.…  │
│     1 │    21 │    11 │      0 │       0 │ … │ 8-18    │ 8-18    │ 65762,8-18,409,004…  │ MULTIPOINT (21032.…  │
│     1 │    21 │    11 │      0 │       0 │ … │ 8-8     │ 8-8     │ 65769,8-8,409,0040…  │ MULTIPOINT (21072.…  │
│     1 │    21 │    11 │      0 │       0 │ … │ 9-10    │ 9-10    │ 65770,9-10,409,004…  │ MULTIPOINT (21078.…  │
│     1 │    21 │    11 │      0 │       0 │ … │ 9-14    │ 9-14    │ 65771,9-14,409,004…  │ MULTIPOINT (21094.…  │
:(略)

 実はこのシェープファイル、日本語部分の文字がShift_JISで格納されており、バケないで取得するにはもう一工夫が必要。
以下のように ST_Read()関数を用いて、第2引数にオプションとしてShift_JIS(CP932)であることを与えれば良い。

SELECT * FROM ST_Read('D:\work\gis\chibanzu_abiko\ABIKO_POL.SHP',open_options=['ENCODING=CP932']);

フォーマット変換してファイルへの出力

COPY テーブル名 TO '出力ファイル名' WITH (FORMAT GDAL, DRIVER 'ファイル形式');

で指定したファイル形式に出力される。主なものとしては以下のようなファイル形式に変換可能(括弧内は DRIVERに指定する文字列。ParquetのみFORMATに指定可能)。
GeoPackage(GPKG)、1JSONのGeoJSON(GeoJSON)、各行1件のGeoJSON(GeoJSONSeq)、FlatGeobuf(FlatGeobuf)、GeoParquet(FORMAT PARQUET)


 テーブル名としてSELECT文も書くことができるので、実際の使い方はこんな感じ(GeoPackageに変換)。

COPY (SELECT * FROM 'D:\work\gis\chibanzu_abiko\ABIKO_AN_hiki.SHP') TO 'ABIKO_AN_hiki.gpkg' WITH (FORMAT GDAL, DRIVER 'GPKG');

 先ほど解消した文字コード問題に対応した書き方だと、こうなる(こちらはGeoJSONにしてみた)。

COPY (SELECT * FROM ST_Read('D:\work\gis\chibanzu_abiko\ABIKO_OOAZA_POL.SHP',open_options=['ENCODING=CP932'])) TO 'ABIKO_OOAZA_POL.geojson' WITH (FORMAT GDAL, DRIVER 'GeoJSON');"

対話型でなくコマンドとしての実行

 ここまでは、duckdbの対話型モードにSELECT文などを書いて実施してきたが、コマンドから実行できれば、まとめてバッチ処理で変換したりの道が拡がる。
これは、duckdbに -c オプションでSQL文を与えれば良い。前述の通り LOAD spatial を起動のたびに実施する必要があるので、これも指定する。以下のように独立した -c として書いておくと、実施したいSQL文をそのまま2番目の -c に書けば良いので、少しだけ手間が減ったり作業ミスが減らせそう。

duckdb -c "load spatial;" -c "COPY (SELECT * FROM ST_Read('D:\work\gis\chibanzu_abiko\ABIKO_AN.SHP',open_options=['ENCODING=CP932'])) TO 'ABIKO_AN2.gpkg' WITH (FORMAT GDAL, DRIVER 'GPKG');"

参考記事

 以下の記事を参考にさせていただきました。ありがとうございました!
そういえば、2月のFOSS4G Hokkaido 2024の井口さんの講演でduckdbのspatial extensionの事を知り、会場で早速インストールして動かしたら文字化けしたので訊ねると、湯谷さんのブログに解消法がある旨おしえてもらったのでした。「湯谷さん、今日会場に来てますよ」の言葉と共に(笑)。その節はおふたりともありがとうございました。

追記

 この記事を書いたときには、これいいじゃん!!と興奮したのですが、その後、データの詳細を確認して行くにつれ課題も出てきました。どうもこの手順では .projファイルを見ていないようです。 .geojsonに変換したときにも座標系情報が含まれていなかったし、.gpkgへ変換してQGISで確認した際も(そこだけ見れば結構良い感じだったけど)背景地図載せてみたら全然違う場所に表示されていたなど、もう少し工夫が必要、あるいはこの方法では対応できないかも、な感じがします。もうちょっと調査が必要。

FOSS4G Hokkaido 2025参加

 2025年9月26,27日に札幌で開催された FOSS4G Hokkaido 2025 に参加してきました。北海道はこのまえ「2024」が開催されたばかりですが、年度で考えるということで、7ヶ月ぶりですが「2025」として無事開催されたということ。
 1日目ハンズオン、2日目コアデイ(セミナー発表を聞く日)の両日、参加してきました。
foss4g.hokkaido.jp

ハンズオンデイ

 2トラック、午前1枠、午後1枠の合計4つのハンズオンが開催されました。私は前回に引き続きRでのGISデータ処理をもう少し知りたかったのと、福岡で初めて聞いた衛星データの扱いについて別の角度から聞いてみたかったので、その2つを受講しました。最近一部に人気のSupabaseも気になったのですが、比較的自学できそうな分野(既に持っている知識を流用できるところも多そう)ということで、まったく自分からは遠いこの2つに。
https://peatix.com/event/4469993

Rによる地理空間データ分析

 とにかく大量のデータを配列だかリストだかの集合的な型に入れて、同じ演算に掛けるという処理が楽であることを実感しました。
とりあえず Tidyverseはほぼ必須。 Tidyデータ(整然データ:いわゆる「縦持ち」のデータ)を扱うのに便利なパッケージだそうです。あとは、おまけの話として紹介された starsパッケージは、ラスタデータの扱いに優れているとのこと。少し前にラスタデータを扱おうとして、ちょっと処理が面倒で投げ出してしまったものがあったので、ちょうどいいかも。

衛星画像で遊ぶQGIS中級講座

 各衛生が持っている、周波数ごとのデータを上手に組み合わせて、植生や地物の種類の特定をする、というのがキモ。いくつかやっていると、何を見たいからこの辺のバンドを、、というのは慣れてくるのだろうなと思いつつ、今なにに着目して何の操作をしているのかを意識しながら、ハンズオンを進めました。QGISはバージョンによって動きが違う部分があり、それはつまり、それだけ実装が次々に進んでいる最先端のデータ操作をやっているのだなと感じました。あとは、とにかく「この画像を使おう!」というのを選ぶのがたいへん。膨大な量のデータが公開されているのだけど、ちょうど良いエリアや撮影条件(雲がないなど)のものを得るための画面が使いにくく、遅い。このへん別のツールを作る余地があるかもと感じました。
 解像度の高いデータはお値段も高いけれども、無料で公開されているレベルの画像からも色々わかるし、災害などの際に高解像度のデータが公開されることもあり、そういったデータを必要なときに必要な操作ができるテクニックは身につけておきたいところです。とにかくドローンや航空写真では得られない画像の範囲の広さにも魅力を感じました。

コアデイ

 全18セッション。個別のセッション、気になったセッションなどの話題は他の方に譲りますので、ぜひ皆さんで気になったセッション、ためになったセッションなどを書いてください。私からは全体としての印象を。
 それぞれの立場や目的。、それぞれの習熟状態に合わせた幅広い発表が魅力的でした。入門したての方の体験談、新分野を開拓しようとしている話、実務上の課題を解決するための試みや実績など、その範囲の広さにワクワクしました。今回は、いつもMySQLGIS機能についてお話してくださる方が参加できなかったので、データベースの話題は SpatiaLite一色でしたね。一部の人たちが(笑) (ハンズオンではSupabase)。どんなもんなのか、ちょっと触ってみたい気分になってきました。最近身の回りで点群の話も増えてきたので、そんな話題も(期待していたレイヤは、手元にあるデータの取り回し等だったので、それとは少し異なるレイヤの話でしたが)たいへん興味深く聞かせていただきました。

懇親会

 コアデイの片付けも、参加者のみなさんのご協力でスムーズに進み、裏側では懇親会のセッティングをし、いざメインイベント開幕。私のイチオシは、数時間並ばないと食べられないあのトリトンのお寿司。バタバタしているうちに写真を撮り損なってしまいましたが、下まで巻いているサーモンや赤味に舌鼓を打ちました。写真はザンギタワー。 FOSS4G北海道の懇親会は、お店に明るくセンスの良い「宴会部長」クラスが複数も居るので、懇親会がいつも本当に楽しみです。おっと、去年のお寿司の写真を見つけたので貼っておこう。今年もそんなに姿に変わりはないはず。

 たくさんの方とお話させていただいて、、、と言っても今回は旧知の方(といっても私がこっちの世界に入れてもらったここ7年程度の話ですが)としっかりお話しした時間が長かったかなという気がします。新しい方を見つけて、輪に入ってもらえるようにするいつもの活動は今回はおやすみ(笑)。たくさんのことを教えていただきました。椅子に座ってしまい、根っこが生えて動き回らなかったというのは、この形式のパーティでの私の反省点。(根っこはいつも簡単に生えます)


 懇親会では今年はLTをやらせていただきました。 大阪、福岡に次ぐ「当地の人に知ってもらいたい測量・地理情報スポット」の北海道編です。「各地GISスポット三部作」とでも呼びましょうか。資料は以下に公開しています。
speakerdeck.com
 北海道がどれくらい北にあるのかを、緯線(のキリ番)を描くことで把握しようという趣向で、事前に4人の道民の方にご協力をいただきました。改めまして、ありがとうございました(お名前の公開については、資料にそのまま掲載する旨でご了解いただいています)。皆さん、1度のサイズに認識の差はありますが、概ね43度が通っていることは正しく認識されていて、さすがです。関東の人に緯度を書けと言ったら、とんでもない数字を書きそうな気がします(私も、35度が通っている場所は把握していますが、36度がどのへんになるのか曖昧です)。
 驚いたのがKさんの回答。書きながら「確か42度はなんちゃら半島の南辺りを通っているから・・・」と話されていたことからも、その認識の精度の高さが伺えます。あまりにすごいのでそこだけスライドから引用しますが、もうこれ完全一致です。私の書いた正答(赤い線)のほうがむしろ誤差があるかもと不安荷鳴るレベルです。すごいです。賞品用意すべきだった(笑)。

 皆さんも白地図用意して、日本の緯度を書き入れたり、経度を書き入れたりして遊んでみてはいかがでしょうか。


 三部作、もうちょっとゆったりとまた何処かの場でお話ししたいなぁ。オンラインでそんなイベントやったら聞きたい人いますかね。

まとめ

 いつも各地のFOSS4Gイベントでは「押しかけスタッフ」と言って、スタッフじゃないけどお手伝いしたり、スタッフ目線で会場等の不足事項に対応したりしている私ですが、実は今回は途中から(ほとんど最後の数週間)、スタッフになっていました。主に広報、Twitter(X)まわりのお手伝いをさせていただいたので、Twitter(X)を見て開催を知りました、参加すること決めました、という人がいっぱい居たら嬉しいなぁと思います。
 短い運営参加期間でしたが、 みんな忙しい中でそれぞれができることを持ち寄り、気づくことを言い合って、素晴らしいチームだなと感じました。本当にありがとうございました!
 そしてイベントを作り上げてくれた登壇者のみなさん、ハンズオン講師のみなさん(資料にすごく手間がかかってますよね)、私のLTを楽しんでくれたみなさん、そしてすべての参加者のみなさんに感謝申し上げます。

 あと、最近、イベント後にブログ書く人がものすごく減っているように感じます。楽しかったイベント、学びがあったイベントを記録として残しませんか。後で見直して「この頃は、そんなことも分かってなかったのか、その程度の情報に感動していたのか」みたいな成長を感じられて自分が微笑ましくなるのも楽しいものです(あるいは、書いたけどその後なにもせずにそのままになってしまったことを思い出せたり)。みんなの参加しての感想を、私も読みたいです!

おまけ:講演資料リンク集

 コアデイの発表資料、懇親会LTでの発表資料等が続々と公開されています(みなさん早い)。
そのうち公式サイトのほうにリンク集が掲載されるかもしれませんが、参加された皆さんのハートが熱いうちに見たいでしょうから、とりいそぎこちらにリストをまとめました。

本編
懇親会LT
その他のリンク



オープンデベロッパーズカンファレンス2025参加

2025年9月6日に、東京・お台場で開催された「オープンデベロッパーズカンファレンス(ODC) 2025」に参加してきました。

event.ospn.jp


今回は完全に一般参加の来場客として参加したので、出展側として参加している時に比べて、気楽にたくさんの情報に触れることができました。

## セミナー

  • 今回のお目当てのひとつは Redmine。最近仕事でも久々に使い始めたので、ブースでも色々教えていただき、セミナーでも最新機能(今度出るバージョン)についてお話しを聞かせていただきました。
  • TiDB。なんとなく雰囲気でいつも情報収集していたので全然アーキテクチャとか理解していないのですが、セミナーおよびその後も色々おしえていただいて、少しだけ知識が増えました。ハンズオンにも参加させていただき、複数台で様々な役割を受け持つサーバが立ち上がっている状態を体験しました(でも、ひとつひとつをよく見る時間まではなかったので「色々立ち上がっていたらしい」のを見た程度)。
  • 「書き方」のセミナー。誰に何を伝えるのか意識する、そして自分が今知らないことを書こうとしない、など概ね自分が普段から気にかけていることがそれほど的外れではなかったことが分かって良かったです。
  • PostgreSQLの開発の話も、意思決定のプロセスが実際に中で活動されている立場だからこそ語れる内容で、非常にワクワクしました。1つの機能に30回もコミットしなおしとか、自分の機能がそんなに不完全だったと突きつけられるようで、これヘコむよなぁと思ったりもしたのですが、逆にそういうものだという前提で、最初からパーフェクトにする必要はない、完璧を目指していつまでも出さないよりは出して進める、と考えると、これがスピード感に繋がるのかな、などと想像もしました。

## 交流会
 18時前にセミナー枠最後のLT大会が終わると、その場所に軽食が用意されて交流会へ。
久々の方との近況交換や、今日どの話が刺さったかなどの情報交換などで楽しませていただきました。

色々教えてくださったみなさま、開催に尽力くださったみなさま、どうもありがとうございました。楽しかったです!
会場もゆったりとして素敵な空間でした。

「セレンディピティ」の原点(原典)をたずねて

 セレンディピティという言葉があります。私のまわりでは20年くらい前に流行ったような感覚がありますが、「偶然、いいことに出会う」という方向性を持った言葉で、わざわざ会話の中で連発するわけではありませんが、私の好きな言葉(というか考え方)のひとつです。その原典をたずねました。

セレンディピティとは

 セレンディピティとは「偶然と才気によって、さがしてもいなかったものを発見する」ことであるとされています(後述する書籍の解説より)。そこには、偶然出会えたらハッピーだよねという単なる運任せではなく、自らが求めるテーマに対する飽くなき探究心と観察力、そういったものを以て広く事物を観察している中から、目的とさえしていなかったところに、思いもしない気づきがあり、そこから発見や出会いにつながる、といった意味があります。
 目標達成第一主義の集団は、一目散に目的に向かうという点で力強いのですが、こういったセレンディピティのかけらに出会ったときでさえ、そのかけらを拾って追求する時間よりも目的地を目指す行動のほうが評価につながるため、セレンディピティが生まれにくい傾向があります。皆が皆、注意力と観察心を備えているわけではないので、そういった人には目標達成第一主義というのは非常に効率が良いのでしょうが、「才気」ある人たちでさえ無理矢理同じ流れに乗せられているのを目にするのはとても残念なことです。
 セレンディピティの例としては、偶然(と言っても注意力や基礎となる知識などの「才気」を備えた人たちが)発見したとされる、ペニシリンとかX線とか挙げられます。

言葉の由来

 シンギュラリティとかセレンディピティとか長めのカタカナ語って難しいですよね。シンギュラリティは Singular point (特異点)から、大きな(主に技術的な)変革のタイミングを指す言葉として知られていますが、ではセレンディピティとは何なんでしょう。実は私も、この由来を知ったのは2,3週間ほど前のことでした。詳しい事は忘れてしまったのですが、何かの本を読んでいたのだか、関連して何かを検索していたときだったかに、この言葉が物語のタイトル由来するのだという情報を得ました。まさにこれこそセレンディピティな出来事です。
 曰く、「セレンディップの三人の王子たち」というおとぎ話から、セレンディピティという言葉が生み出されたとのこと。 まるで「うまい(旨い)話で3人の獣のような奴らをを手下にして、敵対する勢力を打ちのめす」ことを「モモタロイズム」と名付けたような加減です。なんなんだ、そんな事だったのか。「セレンディー」とか「セレンディプト」みたいな言葉から来てるんじゃないんかい、と思うと同時にここに到ってもまだ、「どうせ西暦2000年前後に、自己啓発の本を書いたりする人が適当にでっちあげた言葉だったのだろう」なんてことまで思っていました。
 しかーし。

この言葉をでっち上げたのは、そんなそんな最近の話ではなかったのです。1980年代? 60年代?? 
いや、なんと、西暦1754年の話だというじゃないですか。いやもうそれ、定着した言葉と言ってよいですから。でっちあげとか思ってすいませんでした。

セレンディピティの発祥と拡がり

イギリスの政治家にして小説家であるホレス・ウォルポール[注 1]が1754年に生み出した造語であり、彼が子供のときに読んだ『セレンディップの3人の王子 (The Three Princes of Serendip)』という童話にちなんだものである。

Wikipediaより


.

セレンディピティserendipity)」という言葉を生み出したのは、18世紀イギリスの作家 ホレス・ウォルポール(Horace Walpole, 1717–1797) です。

■語の由来
1754年、ウォルポールが友人に宛てた手紙の中で初めて「serendipity」という語を使いました。
彼はこの言葉を、ペルシャの昔話『セレンディップの三人の王子(The Three Princes of Serendip)』から作りました。
その王子たちは旅の途中で、探してはいなかったのに観察力や直感によって幸運な発見を次々にする、という物語です。

ウォルポールの定義
ウォルポールは「セレンディピティ」を
  「探していないものを偶然に、しかも賢明さによって発見する才能」
と説明しています。
■その後の広まり
当初はごく限られた文学的な表現でしたが、20世紀に入ると科学や研究の世界で「偶然の幸運な発見」を意味する用語として広く普及しました。
今ではビジネスや日常会話でもポジティブな「偶然の幸運」として使われています。

(ChatGPTの説明)


.
この言葉が再発掘されたのも思っていたより古く、1958年だったとのこと。

アメリカの社会学者ロバート・キング・マートンが1958年に『The Travels and Adventures of Serendipityセレンディピティの旅と冒険)』を発表したことをきっかけに、学術誌や科学雑誌で頻出する言葉となった。

(Wikipediaより)

.
なお、「セレンディップ」=「スリランカ」。

原典にたどり着く

 こうなったらもう、その「ペルシアのおとぎばなし」を読むしかありません。 おとぎばなしですので、さまざまなバリエーションがあります。私が手に入れた本はチェットウッド版と呼ばれるもので、ペルシャ語→イタリア語→その後様々な欧州言語(その中でフランス語版)→英語版(チェットウッド版)と翻訳されてきた系統を持っています(それを日本語訳したものを読んでいます)。おおもとの原典と比べると、省略されたり付け加えられたり変化した部分が多いそうですが、本書を翻訳してくれた竹内先生は敢えてこの版を選んだとのこと。
 それは、そもそも竹内先生がこのお話を日本語に翻訳したいと考えたきっかけも「セレンディピティの原点(原典)を紹介したい」ことだったという点があります。ウォルポールの「子供の頃によんだおとぎばなし」はどれなのか。それこそがチェットウッド版が元にしたフランス語版だったのです。チェットウッド版は、「セレンディティを生み出した人が目にした版」に一番近い版ということで、竹内先生がこれを選ばれたとのことでした。

 それにしても、「セレンディピティ」の由来が、遙か昔の18世紀の人が更に昔から伝わる「昔話(おとぎばなし)」を読んで思いついたのだというのが、人類の智慧の伝承を目の当たりにしているようで、ちょっと震えますね。

書籍紹介

 私が読んだ本です。偕成社って昔よく読んだ記憶がありますが、数十年ぶりに手にした気がします(それこそ40年ぶりとか、そんなレベルで)。懐かしい。
これ以外にも原典版からの完訳を謳った本や、他の方による翻訳などもあるようですが、「セレンディピティの源流」を求める身としては、同じくこの言葉の源流に関心を持って訳出された本書をイチオシとしたいところであります。 これが800円で楽しめるのだから、安いもんだと思いませんか。


 なお、当初、数十ページの絵本みたいなもんだろうと思って書籍を注文したのですが、200ページ近くある、しっかりした読み物でした。原書(チェットウッド版)の発刊は 1722年。将軍吉宗の享保の改革の時期です。

ゼンリンミュージアムへ2度目の訪問~「北海道」を知る

 FOSS4G KYUSHU に参加した帰り道に、ゼンリンミュージアムへ寄ってきました。企画展は「これって北海道!? 蝦夷地のカタチをたどる」。
 前回は1年半ほど前の訪問で「忠敬と赤水」をやっていました。
sakaik.hateblo.jp

慌ただしい訪問

 前日まで福岡で開催されていたFOSS4Gイベントから一夜あけて、アサイチで新幹線で小倉へ。お盆時期なのでのぞみ号には自由席はありませんが、それ以外の新幹線には自由席があるので、2000円程度で移動することができます。線状降水帯による大雨が続く中ではありますが、ミュージアムへの道の半分くらいは屋根付きのアーケード街の中を通っていけるのは助かりました。 10時のオープンとほぼ同時に受付。そういえば前回は受付も14階にあったのですが、いまは受付を4階で、その後エレベータで14階へ、という流れに変更されていました。今年6月6日にリニューアルされたとのことで、その時に変わったのでしょうか。
 帰りは12時台の新幹線を予約していたので、そこまで2時間強の時間がありましたが、ゆったり見て、お話を伺っていたら全然時間が足りませんでした(人によっては30分くらいでも十分かもしれませんが、ひとつひとつをじっくり見てしまったので。。。)

企画展「これって北海道!?」

 今回の企画展は北海道に関する認識の変遷を辿るものでした。国内での地図、海外から見た地図などが多く展示されています。東北地方までは認識されていても、その先の島(北海道)はよく分からなかった時代が長かったようです。 大きくなったり小さくなったり、奥のほうがよく分からないから大陸と繋がっていると考えられたり、樺太間宮海峡が明らかになるまで半島と思われていたりなど、まさに北海道に歴史ありです。 興味深いのは、江戸幕府が各藩に自領の地図などの情報を出すように通達した際、松前藩が北海道を極端に小さく申請したために、極小の北海道が存在する地図があったことです。自らのもつ権益を隠したり、上納金(税金)を少なく計算させようという、謂わば詐欺のようなものですが、それが歴史にこうやって残るのは面白いし、まるで明治の地租改正のときに顔の利く人は「たのむよ、小さく描いておいてよ」と税金を減らすために言ったか言わなかったか、現在に残る登記所備付地図上でも極端に小さな敷地が残ってしまった話とも似ていて、興味深かったです。

常設展

 ゼンリンミュージアムは、常設展第一部(地図の歴史)→企画展(北海道)→常設展第二部(海外の地図の中のニッポン)→常設展第三部(伊能図)→常設展第四部(現代の応用活用)という順路になっています。企画展の部屋を出て、第二部をぐるりと見て回って疲れたのでベンチで小休止。第二部の展示は私にとっては(このミュージアムの中では)興味の薄いところで、概ね国内から流出した何種類かの地図を元に、中国などでの話を聞きとったり想像力を膨らませたりしながら描かれたものだという理解です。いわゆる「コタツ記事」的な地図であるところが、惹かれない理由と言えるかもしれません(これはこれで経路や元情報にしたものなどを突き詰めていくと面白いのでしょうけど)。その中でも、地図に描かれている国内の地名は面白いですね。今にも残る地名が既に知られていたことに驚かされます。

伊能図

 大好物の伊能図のコーナーへ。基本的にミュージアム内撮影禁止なのですが、ここの床に描かれた伊能図は撮影可能となっています。あとたぶん前回は置いていなかったと思うのですが、タブレット端末にて Google Mapsを見るかのように伊能図を拡大縮小して見られる展示が増えていました。これはとても良いですね。家でもできないかと検索してみたら、現代地図と重ねて見ることができるものが販売(利用権)されていて、初期費用15万、年間2万といった料金がかかるものでした。「見てると楽しい」のレベルで利用できるものではありませんでした。


 ここでキュレーターさんにたくさんのお話を聞かせていただくことができました。ありがとうございます。特に響いたのが、伊能図の歴史と現存のお話。どの伊能図がどの機関が所有しているのかといった一覧の展示パネルがありました(ゼンリンさんも最近3種を入手されたそうで、重文であるその地図の大きなレプリカが展示されていました)。千葉県の佐原にある忠敬記念館がその一覧にない(=所有していないことになっている)のを不思議に思い訊ねたところ、打てば響くような説明をいただきました。これがこのミュージアムのすごいところですね! その話を元に解説すると:

  • 伊能図は完成した「原本」が幕府に納品されたが、燃えてしまってひとつも残っていない。今残っているのは「副本」と呼ばれる写し。
  • 納品物を作るまでにも、いくつかの「納品物に近い試作品または前段階品」というものがある。
  • 佐原にあるのは、この前段階品。ある意味、副本以上に本物に近い存在だとも言える。

 ・・・・知らなかった。。以前訪問した当時は、今以上に知識もなかったこともあって「伊能図っていうものが1種類あって、そのホンモノが展示されているのだなぁ」ぐらいの認識だったような気がします。これはいま改めて見に行きたくなってきました。

京都改暦所について

 伊能図では経度は京都を本初子午線として描かれています。この場所について漠然と京都だという認識しか持っていなかったのですが、改暦所があった場所だということで帰宅後に調べてみました。

  • 京都の月光稲荷さんのカドあたりだったとのこと。
  • 月光稲荷さんは、京都市中京区月光町 にある(そのまんまの名前)
  • 東西位置は、西大路千本通の間(ちょっと広い表現だけど私が知ってる通りの名前を使うとこうなる)
  • 南北位置は、おおざっぱには二条と三条のあいだ、もう少し細かくいうと姉三六角蛸錦の姉小路の通り北側に神社はある
  • おおよそ 東経135.737346度あたり(WGS84
  • 京都改暦所があった場所だという碑のようなものは特に存在しない模様

 原点好きとしては、ここまで特定できたのであれば行かざるを得ません。機会を狙っています(笑)。

時間切れ

 キュレーターさんにたくさんのことを教えていただき、また、話題を打てば響くのが嬉しくなってつい色々語ってしまい(平面直角座標原点とか)、伊能図のセクションで残り時間が危なくなってきました。最後の「応用利用活用」的な部分は、概ね最近も頻繁に触れている話題なので、さらっと(贅沢にもキュレータさんのコンパクトにしていただいた解説を聞きながら)見学しました。次回はゆったり見る!常設展示なのですぐに入れ替わることはないでしょう。 点群については「きれいですね」を超えた活用を今ひとつ見いだせていないのが今後の課題と感じています。ここでもやっぱりそう。AIを使って物体を同定したり、それを自動運転に役立てたりするところは進んでいそうですが、「データとして」「数値的な何かの処理を」というのがどうしたらいいのか、私もまだ全然わかっていません。 現状は「3Dで見ることができる Google Street View」かなぁ。

自称My伊能図

 伊能図の話をしたならば、やはりこの図を出さねばなるまい。私の移動ログ、すなわち 2018年頃からの主なGPSログをプロットしたものです(一部その少し前の、別機器でのログも含まれる)。「日本のカタチ」を認識できるようにするためになるべく沿岸付近を通るように意識しているので、その点が僭越ながら忠敬と似ているかもしれないなと思っています。

そして帰路へ

 ミュージアムにはカフェもあるので、そちらで真っ白に雨降る外の景色を眺めながらコーヒーをいただきました。このミュージアムはキュレーターさんと(タイミングが合えば)お話できるのが最高のオモテナシなのですが、それ以外にも来場者をよく見てくれているのを感じます。奥の方の部屋でお手洗いの場所を訊ねれば教えてくれたあとでフロントへもインカムで伝えてスムーズに案内してもらえたり、雑談の中で帰りの新幹線の話をしたのを受けて、インカムでバックオフィスあたりに確認をしてくれて、珈琲を飲み終わったあたりで「帰りの新幹線は今のところ動いていると言う情報」を教えてくれたり、何から何までお世話になりました。新幹線については、止まってしまうことをあまり考えていなかったのですが、実は私が乗った上りのぞみ号のちょうど1時間後に乗る予定だった知人は「終日運休」に巻き込まれて帰れなかったので、本当に間一髪だったのかもしれません。
 九州を無事に脱出(?)した私の新幹線はその後、三島付近の線状降水帯の影響で30分ほど遅れることになったのですが、それでも無事に家に帰り着けて良かったです。時間に余裕がなくて今回は地図のお店「マップデザインギャラリー」には立ち寄れなかったのですが(あと、ミュージアムから1階まで一気に降りてしまったのでミュージアムに行けない方の出口に出てしまったこともありますが)、新幹線の20分程度前には駅にたどり着き、お弁当や飲み物などを確保してホームへと向かえたので、ちょうど良い時間タイミングだったと言えるでしょう。

 興味のある企画展が開催されるタイミングで、またゼンリンミュージアムに行ってみたいと思える、楽しい時間でした。 ありがとうございました。


帰りに気づいたのですが、小倉駅にも広告看板が出されていました!