CONCEPTS要確認
地番の指紋(fingerprint)
階・部屋・表記が違っても同じ地番に同じ値を付ける、16桁の指紋の仕組みと使いどころ、できないことを説明します。
更新: 2026年10月14日
この内容は確認中です(要確認)仕様が確定していない部分を含みます。実装や運用の前に、内容を確認してください。
地番の指紋 は、住所が指す土地(地番)から求める、16桁の16進数です。住所の書き方や、階・部屋の違いに左右されず、同じ地番には同じ値が付きます。重複の洗い出しや、別のシステムとの突き合わせに使います。
要確認 API の応答での項目名・提供するプラン・専用のエンドポイントの有無は、公開前に確定します。
何から求めるか
指紋は、地番を表す次の要素をつなげて、SHA-256 から求めます。
都道府県 | 市区町村 | 区 | 大字 | 街区 | 番
住所は、先に正規化されます。そのため、全角・半角や漢数字、「丁目」「番」「号」の書き方の違いは、計算の前にそろえられます。
変わるもの、変わらないもの
| 住所の違い | 指紋 |
|---|---|
| 階・部屋番号・建物名が違う | 変わりません |
| 郵便番号がある・ない | 変わりません |
| 全角と半角、漢数字、「2丁目2番20号」と「2-2-20」 | 変わりません |
| 番地が 1つ違う | 変わります |
| 同じ名前の別の市(東京都府中市と広島県府中市) | 変わります |
同じ建物の別の部屋は、同じ指紋になります。部屋まで区別したい場合は、階や部屋番号を別の列として使ってください。
使いどころ
- 重複の洗い出し 書き方の違う行を、同じ地番として束ねます。
- 突き合わせ 別々のシステムが持つ住所に、同じ鍵を付けて照合します。
- 確認の絞り込み 同じ指紋の行を、まとめて目で確かめます。
バッチの結果を CSV に保存したあとは、手元で次のように束ねられます。列名 fingerprint は、保存した CSV の例です。
import pandas as pd
df = pd.read_csv("batch-result.csv", dtype=str)
dup = df[df["fingerprint"].notna()].groupby("fingerprint").filter(lambda g: len(g) > 1)
print(dup.sort_values("fingerprint"))
できないこと
- 人や世帯は、指しません。 指紋は、土地を指す鍵です。名寄せ(同一人物・同一世帯の判定)は、お客さまの側で行います。
- 地番まで特定できない住所には、付かない場合があります。 町名や番地が足りない住所は、指紋を求められないことがあります(要確認)。
- 16桁のため、別の地番が同じ値になる可能性は、ゼロではありません。 全国の地番を扱う規模でも、衝突はきわめて少ない見込みです。厳密な一意性が必要な場合は、指紋と地番の要素をあわせて照合してください。
コンソールで試す
コンソールの地番の指紋で、住所を入力して、同じ指紋になる行を確かめられます。ブラウザの中で動くデモで、実際の API の値とは一致しません。
この内容に誤りや不足があれば、お知らせください。