ふれっしゅのーと

ふれっしゅのーと

趣味に生きる30代エンジニアが心に移りゆくよしなし事をそこはかとなく書きつくるブログ

GASでAPIを叩いてPocketの未読数をGoogleスプレッドシートに連携する

あとで読みたいWebサイトの管理に「Pocket」を愛用してます。かれこれ8年目。

ついつい「あとで読む」を溜めすぎてしまうので、どれぐらいのペースで「あとで読む」を消化できているか可視化するために、以前、下記の記事を書きました。

fffw2.hateblo.jp

1年半ぐらい問題なく動作していたのですが、突然2022年8月10日から未読数を取得できなくなってしまいました。自分でAPIを叩くのが面倒で第三者のサービスに依存していたのですが、こういうときに手も足も出なくなってしまうのが弱いところ。

やむを得ませんね。自分でAPIを叩いてみますか(重い腰を上げる)

Pocket APIを叩いて未読数を取得するまでの道のり

開発者用ページでアプリケーションを作成

https://getpocket.com/developer/ にログインして「Create a New App」からアプリケーションを作成します。作成後に「CONSUMER KEY」(コンシューマーキー)が表示されるのでメモしておきましょう。

<作成例>

curlでアクセストークンを取得

アクセストークンを取得するまでがちょっと大変でしたが、下記の記事を参考にしたらうまくいきました。

ikeyu0806.hatenablog.com

自分の環境で実行したコマンドを載せておきます。…といっても参考記事とほぼ同じ内容です。ローカルサーバーをpythonで起動してる点が違うぐらい。

# リクエストトークン取得
curl -X POST -H "Content-Type: application/json" -H "X-Accept: application/json" -d '{"consumer_key":"{コンシューマーキー}", "redirect_uri":"http://localhost:8080"}' https://getpocket.com/v3/oauth/request

# リダイレクト先のローカルサーバーを起動
python -m http.server 8080

# 認可
open -a '/Applications/Google Chrome.app' https://getpocket.com/auth/authorize?request_token={リクエストトークン}&redirect_uri=http://localhost:8080

# アクセストークン取得
curl -X POST -H "Content-Type: application/json" -H "X-Accept: application/json" -d '{"consumer_key":"{コンシューマーキー}", "code":"{リクエストトークン}"}' https://getpocket.com/v3/oauth/authorize

<認可時の画面>

APIテスト

正常にアクセストークンを発行できていれば、下記コマンドで未読記事リストをJSON形式で取得できます。(膨大なのでhead -n 100で先頭100行のみ表示してます)

curl -X POST -H "Content-Type: application/json" -H "X-Accept: application/json" -d '{"consumer_key":"{コンシューマーキー}", "access_token":"{アクセストークン}"}' https://getpocket.com/v3/get | jq | head -n 100

jq がないよ!って怒られたら brew install jq してください。

Google Apps Script(GAS) でAPIを叩く

Googleスプレッドシートを開き、A1セルに「date」、B1セルに「count」と入力します。そして 拡張機能>Apps Script から Google Apps Script(GAS) のエディターを起動して、下記のソースコードをコピペしてください。日時と未読数を取得して、Googleスプレッドシートの最終行の次の行に書き込むスクリプトです。

function countPocketUnreadArticles() {
  var date = Utilities.formatDate(new Date(), 'Asia/Tokyo', 'yyyy-MM-dd HH:mm:ss');
  var count = countItems();

  Logger.log(date + ' ' + count);

  var spreadsheet = SpreadsheetApp.openById('{GoogleスプレッドシートのID}');
  var sheet = spreadsheet.getSheetByName('シート1');
  var lastrow = sheet.getLastRow();
  var recordrow = lastrow + 1;
  sheet.getRange("A" + recordrow).setValue(date);
  sheet.getRange("B" + recordrow).setValue(count);
}

function countItems() {
  const url = "https://getpocket.com/v3/get";
  const consumer_key = "{コンシューマーキー}";
  const access_token = "{アクセストークン}";
  const data = {
    "consumer_key":consumer_key,
    "access_token":access_token
  };
  const options = {
    "method" : "POST",
    "contentType" : "application/json",
    "payload" : JSON.stringify(data)
  };
  const response = UrlFetchApp.fetch(url, options);
  const pocketItems = JSON.parse(response).list;
  const itemIds = Object.keys(pocketItems);
  return itemIds.length;
}
  • {コンシューマーキー}{アクセストークン}には先述のAPIテストで使った値を入力してください。
  • {GoogleスプレッドシートのID}には、GoogleスプレッドシートのURLのhttps://docs.google.com/spreadsheets/d/の後ろの文字列を入力してください。

試しに「実行」ボタンを押してみて、うまくGoogleスプレッドシートに書き込まれたら成功です。

仕上げに、自動実行されるようにトリガーを設定しておきましょう。これで完成です!

<トリガーの設定例>

完成

最終的にはGoogleスプレッドシートにこんな感じで「あとで読む」の未読数が時系列順に蓄積されていきます。グラフは後付けでGoogleスプレッドシートの標準機能を使って描画しました。

これで再び「あとで読む」がどれだけ残っているか視覚的に把握できるようになりました。あとはひたすら「あとで読む」を消化するだけですね……(遠い目)

大津城縄張推定復元図片手に幻の大津城を歩く

塞王の楯』を読んだ勢いで、Googleマイマップで「大津城縄張推定復元図」を作りました。大津城跡の散策のお供にどうぞ。

大津城縄張推定復元図(Googleマイマップ)

『図説 大津の歴史(上)』(大津市歴史博物館市史編纂会, 1999)の大津城縄張推定復元図をベースに、後述の関連資料を参考にして橋や天守を補筆して作成。

  • 内側から順に「奥二の丸」「二の丸」「三の丸(浜町口側は香集丸)」
  • 琵琶湖に突き出しているのが左から順に「伊予丸」「本丸」
  • 入口は「尾花川口」「三井寺口」「浜町口」の3箇所
  • 外堀の南半分の空堀部分は茶色で図示。ここは琵琶湖より標高が高いので水が入らない。(たとえサイフォンの原理で導水しようとしても物理学的に無理)

大津城とは

現地の説明板より大津市観光振興課の文章を引用しておきます。

 戦国時代の終わり、豊臣秀吉坂本城を廃し、この付近一帯に大津城を築きました。築城年代は天正14(1586)年頃とされ、初代城主は坂本城主であった浅野長吉(長政)、その後、増田長盛、新庄直頼を経て、文禄4(1595)年に京極高次が就任しています。
 高次の妻は浅井三姉妹の次女「お初」でしたが、慶長5(1600)年の天下分け目の関ヶ原の合戦においては、東軍についたため、西軍の大軍が大津城に押し寄せ、奮闘の末、関ヶ原の合戦の当日、開城しています。高次は西軍の大軍を引き付け、結果として関ヶ原の勝敗を大きく左右したとしてその後、加増のうえ小浜藩主に転封しています。
 大津城は合戦の翌年に廃城。徳川家康は、新たに膳所の地に天下普請第1号として膳所城を築いています。なお、大津城の天守は、落城しなかったという縁起をかついで彦根城に移されています。

大津城跡散策

本丸跡

本丸の場所はびわ湖浜大津駅前でアクセスもよいので、目立つ場所に「大津城跡」と刻まれた石碑が立っています。


大津城跡


大津城縄張推定復元図(元ネタ)


本丸から二の丸を望む

外堀の石垣遺構(?)

大津祭曳山展示館(中央1丁目)の隣の駐車場に外堀の遺構だと言われる石垣が残っています。


駐車場の奥に一部だけ残るいかにもな石垣


穴太衆積み?……には見えないが……


縄張推定復元図と照らし合わせると外堀の端ではなく中央に位置している……

大津城の復元石垣

京都信用金庫大津支店(浜大津1丁目)の前に大津城の石垣が復元されています。

ちなみにこのあたりの旧地名は「坂本町」といい、豊臣秀吉坂本城を廃して大津城を築いた際に、坂本城の城下町の人々が移住したことに由来します。

おわりに

大津城は戦国時代の近江を代表する湖城でしたが、廃城時期が早く、現地に遺構がほとんど残っていないこともあり、知名度自体もそんなに高くありません。

しかし、現地調査ではわかりづらくても地図で見ると見えてくるものもあります。大津城の縄張図を現在の地図と重ねてじっくり観察してみると、堀の外郭が現在の道路・宅地・溝渠などの土地区画と一致している箇所がちらほら見つかり、わずかですが往時の大津城の威容が目に浮かんできます。

今昔比較から得られるこの感動をより多くの人々に味わっていただけるように、今回大津城縄張推定復元図をGoogleマイマップで公開しました。ぜひ地図を眺めて戦国の風を感じてみてください。

参考資料

湾曲した資料の写真を ScanTailor で真っ直ぐにする

概要

スマホやデジカメで分厚い資料の写真を撮ると、どうしてもページの見開きのノド部分が湾曲してしまいますよね。ScanTailor というソフトを使えば、湾曲した資料の写真を簡単に真っ直ぐに補正できます。

経緯

スマホの高画質化が進み、スキャナーアプリでいつでも手軽に資料をスキャンできる時代になりました。

ほとんどのスキャナーアプリには台形補正(射影変換)機能が備わっていて、斜めに撮影した画像を正面から撮影した画像に変換できます。しかし、紙が膨らんでぐねっと湾曲している画像を真っ直ぐに補正する機能はなかなかありません。

パソコンを使えばなんとかなるのではないかと、まずは画像編集ソフト GIMP の「ケージ変形」や「interactive warp filter」プラグインあたりを使って試行錯誤してみたのですが、たくさんのマーカーを手動で微調整しなくてはならず骨が折れました。しかも、手間が掛かる割には期待したクオリティーにならず、とても残念な感じ。

そこで何か良いソフトはないものかと海外サイトであれこれ調べていたら Best way to flatten a curled photographed book photograph? - Graphic Design Stack Exchange

「ScanTailor の湾曲補正が最高すぎる!」

といった記述を発見(訳は適当です)。試してみたところ確かに最高でした。

ScanTailor

インストール方法

Windows の場合

https://github.com/scantailor/scantailor/releases/tag/RELEASE_0_9_11_1 から exe ファイルをダウンロードするだけ。

Mac の場合

本家では Mac 用のバイナリファイルが配布されてないので、派生版の scantailor-advanced-osx を使います。事前に homebrew をインストールした上で、下記のコマンドを実行すれば OK です。

git clone "https://github.com/yb85/scantailor-advanced-osx.git"
cd ./scantailor-advanced-osx
brew install --formula ./scantailor.rb
scantailor

操作方法

YouTube に素晴らしい解説動画がありました。これを見れば大体わかります。

自炊スキャン画像の後処理に使うScanTailor(フリー)の使い方 - YouTube

解説動画が削除された場合に備えて、一応簡単に説明しておきます。

  1. Fix Orientation(向き修正)
    回転ボタンを押して向きを修正します。

  2. Split Pages(ページ分割)
    自動でページが分割されます。正しくない場合は手動で境界を修正してください。

  3. Deskew(傾き除去)
    自動で傾きが除去されます。正しくない場合は縦のラインが真っ直ぐになるように調整してください。

  4. Select Content(版面選択)
    文字や画像があるエリアを選択してください。

  5. Margins(余白)
    デフォルトのままで OK です。

  6. Output(出力)→ Dewarping(湾曲除去)
    Mode で「Color/Grayscale」を選び、Options のチェックをすべて外しておきます。 右側の下から 2 番目にある「Dewarping」タブを押すと、青い格子が表示されるので、この格子を湾曲に合わせてください。四隅のマーカーの他に、上辺と下辺の任意の場所にマーカーを追加できます。あまりマーカーを追加しすぎると調整が大変なので、必要最小限の数に留めておきましょう。

  7. 完成
    青い格子の位置が決まったら再び「Output」タブを押してください。 補正後の画像が表示されます。このとき裏で出力フォルダに補正後の画像が保存されています。(特に出力ボタンはありません)

M1 MacBook Air を快適に使うための初期設定メモ

my new gear...

MacBook Air (Apple M1 Chip / 13inch / 8GB RAM / 256GB SSD / Silver) を買いました。

8年間 MacBook Air (Early 2014) を愛用してきたのですが、メモリ不足&バッテリー寿命で生産性低下を顕著に感じ始めたので、思い切って買い替えました。今は快適です。

初期設定メモ

基本方針

  • Mac からゴミを持ち込みたくないので自動移行機能は使わない
  • Mac でイチから環境構築して、必要なファイルだけ旧 Mac からコピーしてくる。

初回起動

  • 指示に従ってぽちぽち進めていくだけ。ややこしそうな設定は保留してもOK。
  • FireVault ディスク暗号化は迷ったが「有効にしない」にした
    • 万一のデータサルベージ時に詰みそうなので……

Mac の設定

  • ディスプレイ:解像度はとりあえずデフォルト (1440x900) のまま
  • Dock:不要なアプリを削除、サイズを小さくする、自動的に非表示
  • Finder
    • サイドバーにホームディレクトリを追加
    • パスバーを表示
  • トラックパッド
    • 「アプリケーションExpose(3本指で下にスワイプ)」を有効化
  • Mission Control
    • 「ウインドウをアプリケーションごとにグループ化」を有効化
    • ホットコーナーで左下に「ディスプレイをスリープさせる」を設定
  • スクリーンセーバー
    • 語彙力が上がるので「今日の一言」一択。美しい日本語が流れてくる。
  • Dock とメニューバー
    • バッテリー:「割合(%)を表示」
    • 時計:「秒を表示」
  • スクリーンショットの保存先変更(ターミナルで実行)

      mkdir ~/Desktop/ScreenShots
      defaults write com.apple.screencapture location ~/Desktop/ScreenShots
      killall SystemUIServer
    

ブラウザ

  • Microsoft Edge
    • 垂直タブが便利なのでメインブラウザは Chrome ではなく Edge を使っている
    • Microsoft アカウントでログインしたら旧 Mac の設定が自動同期される
    • Mac の システム環境設定>一般 で「デフォルトのブラウザ」を Edge に変更
    • 「アドレス バーで使用する検索エンジン」を Google に変更
    • 「URL のコピー & ペーストの形式の規定値」を プレーンテキスト に変更
    • ダウンロードのたびに右上にダウンロードファイル一覧がいちいち表示されると邪魔なので、設定画面で「ダウンロードの開始時にダウンロードメニューを表示」をオフ
    • 拡張機能 CLUT: Cycle Last Used Tabs をインストール
      • タブ移動がやりやすくなる
  • Google Chrome
    • Chrome でしかできないこともある(特に拡張機能)ので一応入れておく
    • Google アカウントでログインしたら旧 Mac の設定が自動同期される

アプリケーション

  • Google 日本語入力
    • キーボードの環境設定
      • キーボード:「F1、F2などのキーを標準のファンクションキーとして使用」を選択
      • ユーザ辞書:余計なお節介はしないでほしいので「英字入力中にスペルを自動変換」「文頭を自動的に大文字にする」「スペースバーを2回押してピリオドを入力」「スマート引用符とスマートダッシュを使用」を選択解除
      • 入力ソース:ひらがな(Google) と ABC 以外を全部削除
    • Google 日本語入力の環境設定
      • キー設定:MS-IME に変更
    • 辞書ツール
      • Mac の辞書ツールでエクスポート → 新 Mac に転送してインポート
  • Visual Studio Code
  • Spectacle
    • 画面分割と最大化のショートカットを非常によく使う
    • Launch Spectacle at login にチェック
  • Clipy
  • あとは必要になったときに必要なアプリを都度入れていく

ターミナル

  • 完成イメージ
  • iTerm2
    • Preferences > Profiles > Window
      • Transparency: 20(背景を透過)
    • Preferences > Profiles > Terminal
      • Unlimited scrollback にチェック(無限にスクロール可能になる)
    • Preferences > Profiles > Colors
    • Preferences > Profiles > Text
      • フォントサイズを 16 にする
  • homebrew
  • zsh
    • brew install zsh-completions
      • コマンドを途中まで入力して Tab キーを押すと候補が出てくる
    • brew install zsh-autosuggestions
      • コマンドを途中まで入力すると履歴に基づいてサジェストしてくれる(右矢印キーで確定)
    • brew install zsh-syntax-highlighting
    • .zshrcsetopt +o nomatch とおまじないを書いておく
    • プロンプトを変更
      • .zshrcPROMPT='%F{cyan}%c%f %# ' と書く
      • カレントディレクトリだけのシンプルな表示になる。色はシアン。
      • おすすめの一例に過ぎないので各自のお好みで
    • タイトルを変更

ファイルのコピー

  • Mac 側作業:システム環境設定>共有>ファイルの共有 を ON にする
  • 移動>サーバーへ接続 で新 Mac から旧 Mac にアクセス
  • 必要なファイルだけ取捨選択して新 Mac にコピーする

周辺機器

追記

Python のインストール(2022-06-10追記)

  • M1 Mac では pyenv で python をインストールできないので miniforge を使うべきといった記事が検索上位に来る。2021年の混乱期はそうだったのかもしれないが、今は M1 Mac でも pyenv で python をインストールできる。
  • 最新のインストール方法は pyenv の README を参考にするのがよい https://github.com/pyenv/pyenv
brew install pyenv
pyenv install --list
pyenv install 3.10.4
pyenv global 3.10.4
echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.zshrc
echo 'command -v pyenv >/dev/null || export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.zshrc
echo 'eval "$(pyenv init -)"' >> ~/.zshrc

スクリーンショットに影を含む設定を無効化(2022-06-12追記)

Command + Shift + 4 → Space で、選択したウインドウのスクリーンショットを撮ることができるが、デフォルトではウインドウの影を含んでしまう。影をスクリーンショットに含みたいことはまずないので、ターミナルで無効化しておく。

defaults write com.apple.screencapture disable-shadow -boolean true
killall SystemUIServer

フォルダのデフォルト設定を変更(2022-09-11追記)

フォルダ内で右クリックして「表示オプションを表示」からファイルの表示順とアイコンサイズの設定を変更できる。「デフォルトとして使用」ボタンで確定すると、すべてのフォルダに対して適用される。

  • アイコンサイズ:大きめが好きなので 128px に変更
  • グリッド間隔:下から2番目(ファイル名が全角27文字まで省略されない)
  • 表示順:「種類」に変更

Microsoft ICE でバラバラの地図画像をつなぎ合わせて巨大地図にする

概要

バラバラの地図画像を……

↓ ↓ ↓

自動合成して巨大地図にします!

経緯

京大総合博物館の「埋もれた古道を探る」展に行き、十年前から見たかった『山城国吉田村古図』を拝むことができました。京大周辺の江戸時代の姿を記録した貴重な地図です。


山城国吉田村古図(京大総合博物館蔵)

ありがたいことに撮影可。これでもかと撮影しまくりました。

しかし巨大な地図なので全体を1枚の写真に収めると、文字が読めません。そこで適当に何枚かに分割して撮影しました。


▲ 全部で18枚撮影しました

これをなんとかしてつなぎ合わせて1枚の画像にしたいです。

Microsoft ICE で自動合成

画像をつなぎ合わせると言っても、写真の傾きや歪みがあるので、そのままペタペタくっつけてもうまくいきません。

傾きや歪みを自動補正して、写真同士の重なり部分(オーバーラップ)を自動検知して、良い感じにくっつけてくれるソフトがあればよいのになあ(欲を言えば無料だと嬉しい)

いくらなんでもそんな都合の良いソフトあるわけ……

 

Microsoft「あるぞ」

www.microsoft.com

Microsoft Image Composite Editor、略して ICE です。

公式ページに行くと

Please note that the Image Composite Editor download is no longer available. This project has been retired.(訳:もうダウンロードできません。このプロジェクトは終了しました。)

と書いてあって、非常に惜しいことに2020年頃から新規ダウンロードできなくなってしまっているのですが、Microsoft Q&A に裏技が載っていました。

How to download Image Composite Editor 2.0 - Microsoft Q&A

The links in Archives work
For example :
ICE-2.0.3-for-64-bit-Windows.msi
ICE-2.0.3-for-32-bit-Windows.msi

WebArchive から過去時点のダウンロードリンクを踏むという裏技です。これで2021年4月現在も Microsoft ICE を使えます。ただしゾンビを墓から暴いて仕事させるようなものなので、何が起きても公式のサポート対象外である点はご留意ください。

さて Microsoft ICE の使い方はとても簡単です。わずか4ステップで見事なパノラマ合成画像が完成します。

1. IMPORT(画像を追加する)

ドラッグ・アンド・ドロップで画像を投入します。特に設定はいじらず、そのまま次に進みます。

2. STITCH(つなぎ合わせる)

1分ぐらい待つと、つなぎ合わせた画像が生成されます。見事な仕上がりに「おぉ!」と声が出ました。

画像の中心位置がずれている場合はマウスで動かせば OK です。

右側の「Projection(投影)」から、円柱投影、メルカトル図法、球面投影、正射投影、透視投影、など様々な投影図法を選択できるので、適切な図法を選択しましょう。(僕はあまり理解できていないので、プレビューを見ながら適当に良さげな投影図法を選択しました)

3. CROP(切り取る)

つなぎ合わせた画像をトリミングします。きれいな長方形にこだわりがなく、端に黒いエリアができても別に構わなければ「No crop(切り取らない)」を選んで次に進めばよいです。

「Auto complete(自動補完)」という機能が非常に面白く、端の黒いエリアを AI が推測して自動で埋めてくれます。風景写真とかだとこれを使ってもよいのですが、地図でこれを使うと架空の家や道路が描かれてしまうのでやめておくのが無難です。

4. EXPORT(出力する)

最後に「Export to disk...(ディスクに出力)」を押して、ファイルに保存したら作業完了です。

今回は古地図の合成に使いましたが、風景写真や連続写真の合成にも使える(むしろこっちがメイン)ので、ぜひいろいろ遊んでみてください。

小字の調べ方 〜地図に載らない地名の探求〜

はじめに

以前、地図に載らない「小字」という地名について紹介しました。

fffw2.hateblo.jp

地域の歴史を現在に伝える魅力的な小地名なのですが、普通の地図に載っていないどころか、市町村によっては完全に廃止されていることもあるので、調べるには相応のテクニックが必要です。

長年の小字研究で「こうやれば小字にめぐりあえる」という手法がいくつかわかってきたので、今回はそのテクニックをあますことなく紹介していきます。1万文字超の大ボリューム記事ですが「ちょっと自宅の小字名を知りたいだけ」という小字ビギナーの方もぜひ序盤とまとめだけでも読んでいただけると幸いです。

インターネットで調べる

まずは手軽にインターネットで調べる方法を紹介します。

Google 検索

「○○市 小字」のような検索ワードで調べても、小字にたどり着けることは少ないです。熱心な郷土史家がいない限り、誰もわざわざ小字目的で資料をまとめようとしませんので。

おすすめ検索ワードは「"○○市XXXX字"」です。

大字 XXXX の後ろに「字」という漢字1文字を付けた上でダブルクォーテーションで囲んで検索です。これだけで小字ヒット率がぐっと上がります。

f:id:fffw2:20220313090136p:plain
▲「"草津市大路1丁目字"」の検索結果。もうこれだけで心躍る。

  • 不動産の登記上所在地
  • 公報(道路工事、水道工事、行政区域変更告示など)
  • 遺跡の発掘調査記録書
  • 児童公園の所在地

などがヒットしがちです。

法務局の登記簿に記載されている小字の一部が土地関連の何らかの必要性によってインターネットの世界に出てきているのです。

いつの間にか閲覧できなくなってることも多いので、これぞというサイトを見つけたらスクリーンショットを取得しておくことを推奨します。

全国農地ナビ

全国農地ナビ」は全国の農地台帳のデータをWeb上で閲覧できるようにしたシステムで、農林水産省が138億円*1 かけて整備しました。

農業委員会の実務であまり活用されず税金の無駄遣いと叩かれていますが、農地1筆ごとの小字と地番がわかる夢のようなシステムなので、少なくとも小字愛好家界隈では非常に重宝しています。

f:id:fffw2:20220313092102p:plain
▲ 全国農地ナビ。全国規模で地図上に小字を表示できる唯一無二のシステム。

「ラベルの設定」を「所在・地番」にすると地図上のマーカーにカーソルを乗せるだけで小字が表示されるので便利です。

最大のデメリットは「農地」の小字しかわからない点です。宅地開発が進み、田んぼや畑が減れば減るほど、全国農地ナビでは小字を特定できなくなります。やむを得ませんね。

あと、残念ながら小字が省略されている地域も割と多いです。

国立国会図書館デジタルコレクション

国立国会図書館デジタルコレクション」を使えば、国立国会図書館が誇る汗牛充棟の蔵書に自宅から瞬時にアクセスできます。小字を調べたい場合は

  • 地籍図(地籍地図*2
  • 土地宝典
  • 市町村史

あたりを探してみるとよいです。

調べたい地域の地籍図や土地宝典があり、かつ、小字が収録されていれば、ほぼ小字マップが手に入ったようなものなので、非常にラッキーです。

f:id:fffw2:20220313165747p:plain
大正元年京都市及接続町村地籍図』(国立国会図書館蔵)より

国立国会図書館デジタルコレクションにない場合は、諦めずに当該地域の図書館・文書館のサイトにデジタル資料がないかも調べてみましょう。

f:id:fffw2:20220313171412p:plain
京都府立京都学・歴彩館デジタルアーカイブの検索画面(検索ワード「官有地籍図」)

登記・供託オンライン申請システム

小字を本気で調べようと思ったら法務局に行かないといけません。しかし「登記・供託オンラインシステム」を使えば、法務局に行かずとも自宅から簡単に小字一覧にアクセスできます。

f:id:fffw2:20220314091307p:plain
登記・供託オンラインシステムの不動産登記情報検索画面。小字一覧を閲覧できる。

「かんたん証明書請求」>「登記事項証明書 (土地・建物)/地図・図面証明書」>「オンライン物件検索」 で小字一覧に辿り着けます。

現在あるWebシステムの中では最大の小字量を誇りますが、いくつかデメリットがあるのでご注意ください。

  • 事前に申請者情報登録をして郵送でログイン情報をもらっておかないと使えない
  • 平日午前8時30分〜午後9時しか使えない
  • 無料で使えるのは小字名の閲覧まで(小字の所在を調べるには図面請求が必要で有料)

小字マップが表示できるわけではないのが実に惜しいです。せめて小字の地番範囲がわかれば嬉しいのですが。(小字調査用のシステムではないのでやむを得ませんね)

図書館で調べる

インターネットで小字の位置まで特定できるのはレアケースです。まだまだ紙媒体が強いので、次は図書館に足を運びましょう。

角川日本地名大辞典

巻末に膨大な量の小字一覧が載っています。

f:id:fffw2:20220315131850p:plain
▲ 圧倒的な小字量。ずっと読んでいられる。(『角川日本地名大辞典 (25) 滋賀県』より)

小字初心者が最初に手に取るべき本です。ほとんどの図書館で他の都道府県の分まで所蔵しているので、比較的容易に小字一覧にアクセスできるのが最大のメリットです。

デメリットは誤字脱字や収録漏れが非常に多いことです。角川小字一覧を見て「え!?こんな読み方するの?激レア地名だ!!」と小躍りする前に落ち着いて他の資料を絶対に確認しましょう。

例えば滋賀県の巻に「鎌拼*3」という小字が載っていて、読み仮名が「カマカケラ」になっていますが、正しくは「カマカラゲ」です。*4

北海道、新潟、愛知、大阪、兵庫、奈良、福岡は、巻末に小字一覧が収録されていないのでご注意ください*5。また、上記以外の都府県でも、必ずしも全市町村の小字が収録されているとは限りません。

中古本だと2000円ぐらいで買えるので、よく使う場合は個人で購入してもよいと思います。

f:id:fffw2:20220320155951j:plain:w480
▲ 自宅で好きなだけ角川日本地名大辞典を堪能できるのは最高の贅沢

明治前期全国村名小字調査書

まだ読んだことがないのですが、これも良さげです。アツジン氏のツイートで知りました。

明治時代の皇国地誌編纂に伴う全国規模の調査(その後小字の全国調査は一度も行われていない)により小字の一覧が国に提出されたのですが、関東大震災により大半が焼失してしまいました。その残稿をもとに出版された本のようです。

災禍をまぬがれた小字一覧は、青森、秋田、宮城、福岡、熊本、大分、佐賀、鹿児島、だけなので、おそらく小字名まで収録されているのはこれらの県だけでしょう(未確認)

市町村史などの小字地図

小字の名前だけではなく位置も知りたいという場合は『XXXX市史』のような市町村史や、さらに細かい『○○(大字)史』『XX学区の歴史』『△△ニュータウンのあゆみ』などの郷土資料を片っ端から紐解いてみましょう。小字地図が載っていることがあります。

f:id:fffw2:20220314111900p:plain:w480
▲ 昭和61年『科戸之風』(草津市常盤学区の郷土資料)より

目次に「小字」の文字が見つからなくても、とりあえず全巻全ページ確認してみましょう。巻末の袋に付図が入っている場合もあるので確認を忘れずに。

本が多すぎて何を見たらよいかわからない場合や、遠方の図書館で直接調査に行けない場合など、困ったときは「レファレンスサービス」や「遠隔複写サービス」の利用がおすすめです。図書館は全力で調査をサポートしてくれます。*6

文書館や歴史博物館で調べる

小字に関する資料は文書館(公文書館)や歴史博物館に所蔵されている場合もあります。図書館にない場合は別の施設を探してみるとよいでしょう。

f:id:fffw2:20220314113619p:plain:w480
明治14年『市町村行政土地字取調書』(滋賀県公文書館蔵)

法務局で調べる

明治前期、地租改正などの複数の国家事業を契機に全国の土地の状況が調べられ、このとき小字も記録されました。その流れを汲んだ資料が現在は各地の地方法務局に「旧土地台帳」や「公図」として備え付けられています。

このあたりの歴史を紐解くと大変面白いので、さらに詳しく知りたい人は国土交通省の明治150年企画『明治以降の地籍と地図の歴史』をご覧ください。

f:id:fffw2:20220315100706p:plain
▲ 『明治以降の地籍と地図の歴史』(国土交通省地籍整備課)p.17 より引用

旧土地台帳

「旧土地台帳」は明治22年昭和35年に使われていた土地情報を管理するための台帳です。現在の「登記簿」の前身にあたり、明治中期以降の土地の変遷が事細かに記されています。

f:id:fffw2:20220320161813j:plain:w480
▲ 旧土地台帳のコピー

注目すべきは旧土地台帳の右上です。ほぼ確実に小字が載っています。

f:id:fffw2:20220320162508j:plain:w480

法務局で旧土地台帳閲覧申請*7をすれば、分厚い簿冊を持ってきてもらえ、法務局内のテーブルで自由に閲覧できます。量が多い場合は台車で運ばれてきます。費用は無料です(←ここ大事!)

f:id:fffw2:20220320163124j:plain:w480
▲ 簿冊は撮影禁止なので表紙だけコピーしてもらった

撮影は禁止ですがコピーはできますし、郵送請求もできるので、小字調査の他に先祖調査でもよく利用させていただいてます。*8

ちなみに現行の登記簿にも小字が載っていることはあるのですが、下記の理由から旧土地台帳のほうをおすすめします。

  • 新しい登記簿では小字が省略・廃止されていることがある
  • 登記簿は旧土地台帳と違って請求にお金がかかる

ブルーマップ

旧土地台帳では小字の地番範囲まではわかりますが、その地番がどこにあるのかはわかりません。地番の位置を調べるためには法務局に備え付けられている「ブルーマップ」を使います。

f:id:fffw2:20220315111038p:plain:w320
▲ ブルーマップ(ゼンリン製品紹介ページより引用)

通常の地図の上に地番図が重なっている特殊な地図です。市販本なので図書館や市役所に所蔵されていることも多いです。見に行けない場合は法務局に電話で問い合わせるとよいです。

旧土地台帳とブルーマップの2つを使えば、地道な作業にはなりますが、小字地図を自作することも理論上は可能です。

公図(旧土地台帳付属地図)

大規模な都市開発が行われている場合、分合筆や換地により、地番が変わっていて、旧土地台帳の地番がブルーマップで見つからないことがあります。

旧土地台帳→閉鎖登記簿→現行の登記簿→ブルーマップ というように、登記簿経由で地番の変化を現代まで追いかけるのもアリですが、手間もお金も掛かります。

このような場合、法務局に備え付けられている古い公図(旧土地台帳付属地図)を見せてもらうのが手っ取り早いでしょう。

f:id:fffw2:20220315115114p:plain:w480
▲ 和紙公図の例(『滋賀の地籍』p.155 より引用)

…と言っても、私は法務局備え付けの古い公図を用いた小字調査をしたことがないので、ごめんなさい、あまり多くは語れません。土地家屋調査士の人によると「和紙公図やマイラー公図を見たい」と言ったら見せてもらえるらしいです。*9

目的を詳しく説明せずに「公図を見たい」とだけ言ってしまうと、電子化された最新の公図が出てきてしまうのでご注意ください。

f:id:fffw2:20220315120341p:plain:w320
▲ 電子化された公図(地図に準ずる図面)の例(公図共有サイト「公図アサイラム」より)

市町村役場で調べる

役所での小字調査に対する対応は自治体によってバラバラです。小字の所管部署が曖昧でたらい回しになることもよくあるので、あらかじめメールで問い合わせておくとスムーズに案内してもらえるかもしれません。

税務課

もともと地租の徴収目的で土地の調査が行われたので、歴史的な流れを考えると、税務課に小字資料がある可能性が最も高いです。

  • 地番図(地番参考図)*10
  • 固定資産(土地)路線価図

などに小字が載っていることがあります。複写は禁止されていることが多いので、転記用の白地図や筆記具を持っていくのを忘れないようにしましょう。

教育委員会

小字が地域の歴史資料として教育委員会で管理されているケースもあるようです。私も一度は教育委員会に問い合わせてみなくては、と思ってはいるのですが、まだチャレンジできていません。

現地で調べる

正直、小字に関して言えば現地調査で得られる情報は少ないです。何も得られず手ぶらで帰ることもよくあるのですが、たまに奇跡的に小字が残っていることがあり、それを発見できると「お前、こんなところで生き残っていたのか……」と胸が熱くなります。これだから現地調査はやめられません。

  • 農地整備事業の看板
    f:id:fffw2:20220320144307p:plain:w320
    草津市北山田町字高砂。農地整備事業の朽ちた看板に残る小字。*11

  • 田んぼの管理用看板
    f:id:fffw2:20220320144703p:plain:w320
    野洲市野洲字流。田んぼでは小字は現役で使われがち。*12

  • 工事現場の看板
    f:id:fffw2:20220320151140p:plain:w320
    草津市上笠一丁目字骨コボス。開発工事のときにだけ現れる小字は貴重なので、見つけたらすぐに撮影しておこう。*13

  • 神社の石碑
    f:id:fffw2:20220320142635p:plain:w320
    草津市志那中町字吹気。神社の説明板は小字残存率高め。鳥居、灯籠、玉垣、手水鉢の裏も要チェックだ。*14

  • 歴史説明板
    f:id:fffw2:20220320143013p:plain:w320
    野洲市五条の兵主大社前の説明板。小字地図を載せていて有能。*15

他にも、電柱標、バス停、公民館、橋梁、墓地、アパート、踏切、公園、溜池、コンビニのレシート、個人宅の表札、等々、様々な所で小字は人知れず生き残っています。ありとあらゆる文字に目を凝らし、ぜひとも小字を見つけてあげてください。

現地調査ならではのメリットとして住民に話を聞けるという点もあります。古地図片手に熱心な感じで「地域の歴史を調べています」と声をかければ、不審者と思われずに、親切に小字のことや開発前の地域の様子について事細かに教えてもらえます。

生の声は大変貴重で、資料に載っていない興味深い情報が得られることが多いですので、頑張ってチャレンジしてみましょう。昭和後期まで農地が広がっていた地域では50〜60代ぐらいの方でも小字をご存じの方が多いので話が早いです。(あまりに古老すぎるとうまく話が通じないこともあるので人選にはご注意を)

まとめ

小字資料の関係性

本記事では小字の調べ方について数々の方法を紹介しました。要旨をまとめると下図のようになります。

f:id:fffw2:20220321024205p:plain

小字の情報源は明治前期の資料にまで遡れ*16、基本的に古い時代の資料ほど小字の残存率が高く、正確性も高いというメリットがあります。しかし古絵図は個人蔵や行方不明の場合が多く、資料にたどり着くのは容易ではありません。

明治前期の地租改正事業等によって全国的に調べられた小字は、その後、法務局の旧土地台帳や公図に引き継がれました*17。そして、小字が日常生活で使われなくなった現在も土地登記上は小字が生き残っているため、不動産取引や都市開発等の場面で小字が用いられ、その一部がWeb上で閲覧できるというわけです。

近年は古資料のWebデータベース化が進み、従来アクセシビリティの低かった地籍図にも容易にアクセスできるようになってきました。法務局の登記情報や農地台帳の情報にオンラインでアクセスできるようになったり、小字地図を収録した新たな郷土資料が編纂されたり*18、まだまだ完全というには程遠いですが、小字を調べやすい環境が少しずつ整いつつあります。

小字を調べてアウトプットしよう

小字を調べやすい環境が少しずつ整いつつあると言ってもインターネットで小字地図にまでたどり着ける地域はごくわずかです。日本全国の1%にも満たないでしょう。

もし本記事を読んで小字を調べてみたという方がいたら「XXX町に○○という小字があった」「XXXという資料に小字がまとまっていた」と一言ツイートするだけでも構いませんので、ぜひ調査結果をアウトプットしていただけないでしょうか。小字沼にはまったら小字地図作成にもチャレンジしてみてください。あなたが発信した小字情報はその地域だけに留まらず、他の地域の小字を研究する上でも大いに役立ちます。*19

戦前、かの柳田國男も人文地理学の発展のためには全国の小字研究の成果が互いに交換されなければならないと述べていました。先生の著書『地名の研究』から一節を引用して、筆を擱きます。

郷土研究ばかりは割拠では成功しない。ぜひとも全国の同志と知識の交換を企てなければならぬ。(…略…)ギロという地名も近江・美濃・伊勢にかけて多いが、何のことやら今にまだ心当りがない。それから尾参だけに数の多いヒラコとかヨラキという地名、これなどもどうかして諸君とともに早くその由来を明らかにしたいと思っている。たった一つや二つの孤立の例ならば、中には永久の不可解というものもあろうが、遠近の各地に同じ例の多い地名ならば、考えて往って判らぬということは万々あるまい。今後この知識と関心とが全国の隅々に及んだ場合を想像してみると、こういう楽しみの多い努力、多くの新発見を約束する不審というものは、他にはちょっと類がないと思う。


*1:2021年10月22日 朝日新聞デジタル138億円かけたのに…農地情報システム使われず、会計検査院指摘」より

*2:東京市及接続郡部地籍地図』『大阪地籍地図』など「地籍図」ではなく「地籍地図」で検索しないと出てこない資料があるので注意してください。

*3:角川日本地名大辞典』や『滋賀県土地字取調書』では「拼」の手偏が獣偏になっていますが、ここでは法務局の登記上の表記を採用しました。

*4:正しい読みは『角川日本地名大辞典』の小字一覧の原典である『滋賀県土地字取調書』および地元住民への聞き取りで判明しました。

*5:北海道、新潟、愛知、大阪、兵庫、奈良、福岡は『角川日本地名大辞典』に小字一覧がありませんが、代わりとなる資料がいくつかあります。ぱっと思いつくところでは、愛知は『土地宝典』、大阪は『内務省大阪実測図』、兵庫は『兵庫県小字名集』、奈良は奈良女子大学小字データベース(原典は『大和国条里復原図』等)などがあります。

*6:レファレンスサービスは本当に頼りになります。担当者にもよりますが、通常の検索では出てこない秘蔵資料を見つけてくださったり、市役所など関係機関に問い合わせてくださったりしたこともありました。

*7:旧土地台帳閲覧申請用の用紙はないので、通常の申請用紙の余白に「旧土地台帳」と自分で書く必要があります。知る人ぞ知る裏メニューみたいな感じです。

*8:戸籍(戸籍謄本・除籍謄本・改製原戸籍謄本)の郵送請求と違って、郵便小為替とかいう前時代の支払手段を使わなくて済む点が本当にありがたいです。旧土地台帳が今後も永年無料であることを祈るばかりです。

*9:ふじもと登記測量事務所さまのツイート(2020年2月26日)を参考にしました。「公図はできる限りコンピュータ化された現公図だけでなく、マイラー、和紙公図も確認する事をおすすめします。」「マイラーや和紙公図も一緒に見るには乙号の申請用紙に鉛筆で『マイラー、和紙公図もお願いします。』と書くとだしてくれるので、ご注意を。」

*10:私は2006年に草津市役所税務課で『地番図』(縮尺1/1000)を見せていただき地図上に小字が描かれていて歓喜したのですが、10年後に再訪したら縮尺1/2500の小字なし地番図だけになっていて肩を落とした、という苦い思い出があります。

*11:2017年5月14日のツイートより

*12:2019年11月3日のツイートより

*13:ふれっしゅのーと「ようこそ!地図に載らない小字地名の世界へ」より

*14:2015年4月25日のツイートより

*15:2020年5月17日のツイートより

*16:さらに言えば太閤検地時の検地帳にまで遡れますが

*17:明治前期の地籍図から法務局備え付けの公図に至るまでの流れは、佐藤甚次郎『明治前期の地籍図 ーその1:耕地絵図と壬申地券地引絵図ー』が詳しいです。一言に「明治前期の地籍図」といっても、主に壬申地券地引絵図、地租改正地引絵図、地籍編製地籍地図、地押調査更正地図の4種類があります。

*18:市町村史は昭和後期〜平成初期あたりに多く出版されましたが、近年では学区や大字といった小さな単位での郷土資料の編纂が目立ちます。定年退職後の小字現役世代による「郷土の歴史を後世に残しておきたい」という機運の高まりでしょうか。

*19:と立派なことを言ってますが、私も「草津市小字地図」を独力で作り始めて10年、まだ一般公開できていません(笑) 途中でもよいのでそろそろ公開しなくてはいけませんね。

PlantUMLでgitのブランチ図を描く方法

PlantUML の新たな可能性を見出す

git のブランチ図を自分で描きたいときってたまにありますよね。

「git-flow はもう古い」とか豪語して自分で考えた最強のブランチ運用を図示したり、最強ブランチがぶっ壊れてしまって事故状況の説明資料を作ったり(僕のことか?)


名高き git-flow(『A successful Git branching model』より引用)

今までは Draw.io で作図していたのですが、油断すると線の接続部がずれたり間隔が狂ったりして、レイアウトの微調整が必要でちょっと面倒でした。

PlantUML を使えばテキストベースで作図できて便利だなと思い、シーケンス図、ユースケース図、クラス図、オブジェクト図、アクティビティ図、コンポーネント図、ステートマシン図、マインドマップ、などなど、PlantUML で描ける図を片っ端から試してみたところ「おや?これは相性が良いのでは?」というものがありました。

シーケンス図 です。

本来はオブジェクト間のやりとりを時系列的に示す図です。ライフラインの activate と deactivate を矩形で表せるのですが、これがブランチの git checkout -bgit merge に対応づけられるのではないかと思いました。

で、できたのがこんな図です。


記事冒頭に載せた有名な git-flow の図を PlantUML のシーケンス図で再現してみました。シーケンス図の各直線(ライフライン)が git のブランチを表しています。

工夫した点

コミットの表現方法を工夫しました。

他ブランチにつながるコミットは矢印の端に丸をつける記法 o->o でなんとかなるのですが、自ブランチで閉じたコミットを表すうまい方法がありません。

自分への作用とみなして develop ->o develop のように描けば一応表せないこともないのですが、余計な線が増えてちょっと嫌です。本当はただ丸だけあればよいんです。


矢印が邪魔

試行錯誤の末、僕はついに PlantUML の矢印消滅バグ(?)を発見しました。

まず何もないところから矢印を生やします。?を始点にすることで短い矢印が描けます。ここまでは仕様どおりです。

?->o develop

この状態で ++ を付けてライフラインを activate して矩形を描きます。するとどういうわけか矢印が消滅します。

?->o develop ++

ちなみに終点に o をつけないと矢印は消滅しません。わずかに棒が残ります。

?-> develop ++

しかも不思議なことに右からの矢印ではこのバグは発生しません。謎です。*1

develop <-o? ++

改善したい点

矢印消滅バグに気づいて「これでいける!」と舞い上がったのですが、冷静に見ると、実はまだ矢尻が残ってるんですよね……

「▶○」←これはこういうマークであり、矢印ではない!

…と自分に言い聞かせてますが、やはり心の底では納得できてません。色を白にすると「○」も消えてしまうので困ったものです。うまい方法があるぞ!という方は是非コメントください。

後日談

記事投稿から数ヶ月経ちました。
あんまり手軽じゃない&美しくない ので、結局僕は PlantUML ではなく Draw.io で描いちゃってます。

誰かの需要とマッチする可能性もあるかもしれないので、記事は消さずに残しておきます。


2022-05-21:後日談を追記

*1:終点に丸をつけたいので「develop o<-?」が正しい気がするのですが、なぜか「develop <-o?」と書かないと意図通りの図を出せませんでした。右からの「?」の場合だけ始点と終点が逆になるようです。