メインメニュー
昨日の利用数
アドレスマッチング
ユーザ数75
変換件数103798
月毎 統計(CSV形式)
ジオコーディング実験
変換件数63659
トップ  >  C++ API

C++ API

本ソフトウェアは、リンクライブラリの提供を目的としており、実行用プログラムはサンプルを除き含んでいません。必要に応じて独自プログラムを作成する必要があります。

基本的な使い方は src/dams.cpp を参照してください。ここではAPIについて簡単に説明します。

void damswrapper::init([dic])

辞書ファイルを開き、ジオコーダを初期化します。ジオコーダを利用する前に必ず一度だけ実行してください。

パラメータ string dic(省略可能)
バイナリ辞書ファイルのフルパスから拡張子を除いた文字列。デフォルトの設定のままインストールした場合には空欄にするか、/usr/local/lib/geonlp/dams を与えてください。

void damswrapper::retrieve(score, tail, candidates, query)

ジオコーディングを実行します。

パラメータ int& score
ジオコーディングがどの程度成功したかを表すスコアを返します。5が最高で、2レベル以上の住所要素が一致する候補が一つだけ得られたことを意味します(「東京都千代田区」など)。4の場合、2レベル以上の住所要素が一致する候補が複数得られたことを意味します(「駒場4丁目」など)。3の場合、1レベルのみ一致する住所要素が一つだけ得られたことを意味します(「東京都」など)。2の場合、1レベルのみ一致する住所要素が複数得られたことを意味します(「港区」など)。1の場合、前方部分一致する住所要素のみ得られたことを意味します。
パラメータ std::string& tail
クエリ文字列を先頭から住所として解析した結果、残った部分文字列を返します。
パラメータ std::vector<damswrapper::Candidate>& candidates
ジオコーディングの結果として得られた住所要素リスト(damswrapper::Candidate)を返します。複数の候補が存在する場合には set_limit() で指定した件数分の結果を返します。
パラメータ std::string query
ジオコーディングしたい住所文字列を渡します。

void damswrapper::set_limit(limit)

ジオコーディング結果の取得件数上限を設定します。いつでも変更可能です。

パラメータ int limit
ジオコーディング結果を取得する件数の上限を指定します。デフォルトは10です。

const char* damswrapper::default_dic_path(void)

辞書ファイルが配置されるデフォルトディレクトリを取得します。アプリケーション側で辞書ファイルを探す場合に利用します。

パラメータ なし
この関数にはパラメータは必要ありません。

Candidate型

Candidateはジオコーディング結果を保持するクラスで、std::vector<AddressElement>をtypedefしています。AddressElementは住所要素を表し、都道府県レベルから市区町村レベル、街区レベルという順番に配列として格納されます。

AddressElement型

AddressElementは住所要素を保持するクラスです。以下のクラスメソッドが利用可能です。

std::string get_name()
住所要素の名称を取得します。
int get_level()
住所レベルを返します。1:都道府県、2:郡・支庁・島、3:市町村:23特別区、4:政令市の区、5:大字、6:字・丁目、7:街区を表します。実際には位置参照データに含まれている数値を返すだけです。
float get_x()
x値(経緯度データの場合には経度)を返します。
float get_y()
y値(経緯度データの場合には緯度)を返します。
プリンタ用画面
前
クイックスタート
カテゴリートップ
TOP
次
サンプルプログラム解説(C++)

Powered by XOOPS Cube 2.1© 2001-2006 XOOPS Cube Project
Base Theme Designed by OCEAN-NET