OpenStreetMap logo OpenStreetMap

addr:all, full の解体

Posted by gc27 on 25 June 2026 in Japanese (日本語).
addr:full
addr:all

大規模に解体(addr:*に階層化)した。

対象データ

1. 会津若松インポート

osm.org/node/1996645165/history/3 のように、2017年6月に取り込まれた公共系施設のデータである。 phoneが0始まりなのはさておき、speciality(現在推奨 healthcare:speciality)と、addr:allがある。 これらを、現在標準のタグ群に置き換えをした。

2. 佐久市インポート

osm.org/changeset/149638948 のように、2024年4月にPlateauインポートで珍しく住所データも取り込まれた事例である。 市域の全家屋にaddr:full形式で住所データが保有されていた。過去形である。

解体作業

使ったツールは、OverpassTurboとLevel0エディタ、そしてサクラエディタである。作業方式は以下の2パターン。

会津若松の諸データ
OverpassTurboで抽出→iDで周辺含めて精査
佐久の住所データ
OverpassTurboで抽出→Level0に流し込んでテキストデータ化→サクラエディタで正規表現によるreplace→Level0でコミット

OverpassTurboの抽出クエリは以下の通り。

会津若松作業時
nwr["addr:all"]({{bbox}});
(._;>;);
out meta;

佐久市作業時
nwr["addr:full"]({{bbox}});
out meta;

サクラエディタの正規表現replaceは以下の段階による

OverpassTurboからOSMファイルをエクスポートしLevel0にAddFileする

置換対象:addr:full = 長野県佐久市内山
置換後:addr:province = 長野県\r\n  addr:city = 佐久市\r\n  addr:neighbourhood = 内山\r\n  addr:block_number = 
※抽出クエリの時点でneighbourhoodレベルを絞って処理を容易にした

置換対象:addr:block_number = ([0-9]+)-([0-9]+)
置換後:addr:block_number = \1\r\n  addr:housenumber = \2

特に、佐久での作業に際しては、wayを構成するNode情報をあえて取得しないことで、Level0エディタの受容データサイズに対してより多くのway情報を1パッチで流すことができた。

作業後のタグ構成

- postal_code
+ addr:postcode
- addr:all
- addr:full
+ addr:province county city quarter neighbourhood block_number housenumber

- speciality
+ healthcare:speciality

- name AA薬局BB店
+ name AA薬局
+ branch BB店

リンク

TagInfo addr:full addr:all addr:block_number

OverpassTurbo Level0

サクラエディタ

Location: 三分, 佐久市, 長野県, 384-0303, 日本

Discussion

Leave a comment

Log in to leave a comment