公共団体コードと丁目レベルのジオコーディングモジュールを使って、IMIコンポーネントツールの目玉、住所変換モジュールをESモジュール化しています。 内部構造をガラッと変えて、必要なデータのみを適宜ダウンロードするブラウザ上でも動作する軽量なESモジュールとして使えるようになりました!

IMIコンポーネントツール ESモジュール版」住所変換コンポーネントのβ版追加!
現在は、都道府県名からの住所表記に対応、緯度経度は丁目レベルまでなのはオリジナルと同様です。番地、号にも対応してほしいところですね。

使用は簡単!Denoで下記、実行するだけでOKです!

import IMIEnrichmentAddress from "https://code4sabae.github.io/imi-enrichment-address-es/IMIEnrichmentAddress.mjs"; console.log(await IMIEnrichmentAddress("福井県鯖江市新横江2-3-4"));

ネットアクセスするので --allow-net または -A 付きで、エラーがでた場合 geocode.mjs をアップデートするために -r も一度付けてください。

$ deno run -A -r main.mjs Download https://code4sabae.github.io/imi-enrichment-address-es/IMIEnrichmentAddress.mjs Download https://code4sabae.github.io/imi-enrichment-address-es/lib/find.mjs Download https://code4sabae.github.io/imi-enrichment-address-es/lib/bangou.mjs Download https://code4sabae.github.io/imi-enrichment-address-es/lib/util.mjs Download https://code4sabae.github.io/lgcode/lgcode.mjs Download https://code4sabae.github.io/geocode/geocode.mjs Download https://code4sabae.github.io/lgcode/lgcodemap.mjs [ { @context: "https://imi.go.jp/ns/core/context.jsonld", @type: "場所型", 住所: { @type: "住所型", 表記: "福井県鯖江市新横江2-3-4", 都道府県: "福井県", 都道府県コード: "http://data.e-stat.go.jp/lod/sac/C18000", 市区町村: "鯖江市", 市区町村コード: "http://data.e-stat.go.jp/lod/sac/C18207", 町名: "新横江", 丁目: "2", 番地: "3", 号: "4" }, 地理座標: { @type: "座標型", 緯度: "35.941043", 経度: "136.199640" } } ]

緯度経度、使えます!


住所変換コンポーネント (ES module ver.) on GitHub
データを扱う、公共団体コードや、ジオコードは別モジュールで管理しているので、住所の正規化に特化できたのでJavaScriptのプログラムとしては、下記4ファイルのみとシンプル!

IMIEnrichmentAddress.mjs メイン、文字列やJSON-LDを入力として、find.mjsを使って変換
lib/find.mjs - 住所表記を分解し、緯度経度を付加するコード、find.jsを大幅改定
lib/bangou.mjs - bangou.jsをESモジュール化、漢数字などの番地と号を正規化する
lib/util.mjs - util.js をESモジュール化、漢数字との変換などの便利関数群

施設や、店舗の住所からの変換など、web上の様々な住所表記に対応できるよう、使いながら育てていきたいと思います。 一緒に使ってみる方、バグや要望を送ってくれる方、精度アップのプログラムを書く方、大募集!
imi-enrichement-address src on GitHub by Code for Sabae

Tweet
クリエイティブ・コモンズ・ライセンス
この作品は「Creative Commons — CC BY 4.0」の下に提供されています。
CC BY / @taisukef / アイコン画像 / プロフィール画像 / RSS