New Research: Supply Chain Attack on Axios Pulls Malicious Dependency from npm.Details
Socket
Book a DemoSign in
Socket

japan-address-search

Package Overview
Dependencies
Maintainers
1
Versions
3
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

japan-address-search

オープンデータを使用した日本の住所検索モジュール。現在の住所と明治時代以前の地名を文字列と緯度経度で検索可能。

latest
Source
npmnpm
Version
2.1.1
Version published
Maintainers
1
Created
Source

test

日本の住所を文字列と緯度経度で検索できるNode.jsモジュールです。 現在の住所データ以外に古い地名(明治時代以前の地名)の検索にも対応しています。

このモジュールでは以下のことができます。

  • 現在の住所データ
    • 表記の正規化
    • 部分一致検索
    • 逆ジオコーディング検索(緯度経度による検索)
  • 古い地名データ
    • 部分一致検索
    • 逆ジオコーディング検索(緯度経度による検索)

モジュール内に含まれるデータベースを対象に検索が行われます。 大量の検索・正規化したい住所がある場合、外部Webサービスを使用しないため、 高速に大量のデータを検索できます。

インストール

コード内で使用する場合は以下のようにインストールしてください。

$ npm install japan-address-search

コマンドラインインタフェースで使用する場合は、-gをつけてグローバル環境にインストールしてください。

$ npm install -g japan-address-search

使い方

node.js モジュールとしてインストールすると以下のようにコード上から実行できます。

現在の住所データの正規化・部分一致検索(デフォルト10件)

const convert = require('japan-address-search');
convert("霞が関2").then(json=>{
  console.log(json);
});

現在の住所データの逆ジオコーディング検索(デフォルト10件)

const convert = require('japan-address-search');
const point = {
  lat: 35.675551,
  lng: 139.750413
}
convert(point).then(json=>{
  console.log(json);
});

古い地名データの部分一致検索(デフォルト10件)

const convert = require('japan-address-search');
convert("神保町", {type: "old"}).then(json=>{
  console.log(json);
});

古い地名データの逆ジオコーディング検索(デフォルト10件)

const convert = require('japan-address-search');
const point = {
  lat: 35.675551,
  lng: 139.750413
}
convert(point, {type: "old"}).then(json=>{
  console.log(json);
});

検索件数の上限を変更したい場合は、以下のように指定してください。

// 検索件数を5件に変更
convert(point, {type: "old", limit: 5}).then(json=>{
  console.log(json);
});

コマンドラインインターフェースでは以下のように利用できます。

# 現在の住所データの正規化・部分一致検索
$ japan-address-search -s 神保町 > output.json

# 現在の住所データの逆ジオコーディング検索
$ japan-address-search --lat 35.675551 --lng 139.750413 > output.json

# 古い地名データの部分一致検索
$ japan-address-search -s 神保町 --old > output.json

# 古い地名データの逆ジオコーディング検索
$ japan-address-search --lat 35.675551 --lng 139.750413 --old > output.json

# 検索件数の上限を変更
$ japan-address-search -s 神保町 --limit 5 > output.json

出力例

検索結果は以下のようなJSONデータとして出力されます。

検索された住所が現在の住所データか古い地名データかは住所オブジェクト内の種別の値で判別できます。

種類種別の値
現在の住所位置参照情報
古い地名歴史地名データ

現在の住所データの検索結果

{
  "@context": "https://imi.go.jp/ns/core/context.jsonld",
  "場所": [
    {
      "@type": "場所型",
      "住所": [
        {
          "@type": "住所型",
          "表記": "霞が関2",
          "都道府県": "東京都",
          "都道府県コード": "http://data.e-stat.go.jp/lod/sac/C13000",
          "市区町村": "千代田区",
          "市区町村コード": "http://data.e-stat.go.jp/lod/sac/C13101",
          "町名": "霞が関",
          "丁目": "2",
          "種別": "位置参照情報"
        }
      ],
      "地理座標": {
        "@type": "座標型",
        "緯度": "35.675551",
        "経度": "139.750413"
      }
    }
  ]
}

古い地名データの検索結果

{
  "@context": "https://imi.go.jp/ns/core/context.jsonld",
  "場所": [
    {
      "@type": "場所型",
      "住所": [
        {
          "@type": "住所型",
          "種別": "歴史地名データ",
          "ID": "10025110",
          "町名": "神保町",
          "説明": "「大日本地名辞書」6巻 352頁",
          "都道府県": "武蔵",
          "都道府県コード": "594",
          "市区町村": "神田区",
          "市区町村コード": "917"
        },
        {
          "@type": "住所型",
          "表記": "東京都千代田区神田神保町二丁目",
          "都道府県": "東京都",
          "都道府県コード": "http://data.e-stat.go.jp/lod/sac/C13000",
          "市区町村": "千代田区",
          "市区町村コード": "http://data.e-stat.go.jp/lod/sac/C13101",
          "町名": "神田神保町",
          "丁目": "2",
          "種別": "位置参照情報"
        }
      ],
      "地理座標": [
        {
          "@type": "座標型",
          "緯度": "35.695555",
          "経度": "139.757500"
        }
      ]
    },
    ...
  ]
}

使用しているデータについて

japan-address-searchで使用してる現在の住所データと古い地名データとして、以下で公開されているオープンデータを使用しています。

データデータソースバージョンライセンス
現在の住所データ国土地理院 位置参照情報令和元年度版利用規約
現在の住所データ統計LOD2020/10/06取得CC BY 4.0
古い地名データ歴史地名データ2020/09/07取得利用規約

謝辞

japan-address-search は経済産業省が公開するimi-enrichment-address(住所変換コンポーネント)を元に作成しました。 経済産業省、並びに、上記データを公開されている国土地理院、総務省統計局、人間文化研究機構、H-GIS研究会には深く感謝いたします。

Keywords

japan

FAQs

Package last updated on 30 Jun 2021

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts