Skip navigation.
Home

1.システム概要

1.システムの概要

このシステムは住所文字列を解析して、表記方法を統一したり、住所の緯度経度を取得したりするものです。単 独のアプリケーションではなく、ライブラ リとして提供されるので、様々な用途に適用できます。またオープンソースであるので、カスタマイズや高速化がユーザ側で可能です。

1.1住所文字列の解析

一般に使われている住所は色々な表記方法があります。

例えば、「東京都千代田区丸の内一丁目2番3号」という住所は「東京都千代田区丸の内1-2-3」と簡略にしたり、「丸の内」が「丸ノ内」と表記されたりします。また全国に一つしかない市町村では都道府県名や郡名を省略したりします。

このような表記方法の違いは住所をコンピュータ処理する場合に問題となります。住所で検索する場合に検索できなかったり、住所の入力エラーと判断されたりします。そのため、何らかの方法で住所を統一する方法が必要となります。

その統一のため、このシステムでは、色々な表記方法の住所文字列を解析して、その住所が示す場所を一つに特定します。その特定した場所にコード番号を振り、システムの内部では住所をコード番号で管理します。

このシステムでは、そのコード番号を住所コードと呼びます。

1.2住所文字列の正規化

特定された場所の住所コードは番号(実際には複数の番号の集まり)であり、最終的には、その番号を通常使う住所文字列に変換する必要があります。

この変換を行う際に、統一した形式で変換する事により、元は色々な表記の住所文字列を統一した住所文字列に変換できます。このようにして、住所を統一した形式に変換する事を住所の正規化と呼びます。

ここで、統一した形式とは、何らかの既定の標準形式がある訳ではありませんので、用途に応じた統一形式という事になります。

1.3緯度経度の取得

住所文字列を住所コードに変換すると、その住所コードと結びつけられた色んなデータベースのデータを検索できます。

このシステムでは緯度経度データのデータベースを持っていますので、住所の代表点の緯度経度を取得する事ができます。

1.4ライブラリ

上記の住所文字列の解析、正規化、緯度経度の取得などの機能はこのシステムの住所解析用ライブラリ(ジオコーダライブラリ)のAPI(ApplicationPrograming Interface)を通して利用できます。

ライブラリはLinuxとWindowsの2種類のOSで利用可能で、gccやVC++などの言語から直接呼び出す事ができます。

1.5住所データベース

ジ オコーダライブラリは、住所の市区町村名、町大字名などの住所の要素文字列を格納した住所データベースを参照します。解析する住所文字列を、住所 データベースに登録されている要素文字列と比較する事で、元の住所文字列を県名、市区町村名、町大字名といった広い区域から狭い区域に順次分解していきま す。このエリアを絞っていくプロセスが解析作業そのものであり、住所データベースの出来が解析そのものを決定付けます。

当システムでは、住所データベースそのものは提供せず、ユーザが用途に応じて元データ(住所基本データ)から変換するようになっています。

1.6住所基本データ

住所データベースを構築するためのベースとなる住所基本データとして、当システムでは次の2種類が利用できます。

1)郵便番号データ+街区レベル位置参照情報

日本郵政公社から提供されている郵便番号データファイルと、国土交通省から提供されている街区レベル位置参照情報を元データとして、住所データベースを作成する事ができます。

こ の基本データは無料で利用できますが、丁目字レベル以下の情報が都市部だけになってしまいます。また、取得できる緯度経度に関しても、街区レベル までですので、配送などのピンポイントの位置情報が必要な用途には向きません。ただ、顧客の位置分布を知るなどの用途には十分利用できます。

2)市販の住所データ

有料になりますが、インクリメントP株式会社から提供されている住所データは住居番号レベルまでの詳しさでピンポイントの位置特特定ができ、都市部だけでなく地方も含めた全国の区域で利用できます。但し用途による制限もあり、ライセンス契約が必要となります。

1.7データベース作成プログラム

2種類の住所基本データは、それぞれの変換プログラムにより、検索に適した形式に変換され、検索用住所データベースが作成されます。プログラムはWindowsXPなどマイクロソフトのOS上で稼動致します。

1.8オープンソース

当ライブラリはオープンソースですので、ユーザが目的に応じてカスタマイズしたり、処理の遅い部分を高速化したりする事ができます。

ソースはライブラリ部分はC言語で、データ作成ユーティリティはVC++で書かれています。