• 検索結果がありません。

住所クレンジングの場合

第4章 Java APIを利用したアプリケーション開発

4.2 利用方法

4.2.6 各クレンジング機能固有の利用方法

4.2.6.1 住所クレンジングの場合

■文字列からの住所特定の場合-JAddressCleanser#getAddress()

以下のサンプルでは、文字列から住所を特定します。

public class Sample {

public static void main(String[] _args) { JAddressCleanser cleanser = null;

try { …

// (2) クレンジング実行...4.2.2参照 //// (A) オプションの準備

JAddressCleansingOption opt = new JAddressCleansingOption();

opt.setCorrect(true);

opt.setChoubanchiFormatType(JAddressCleansingOption.ChoubanchiFormatType.BANCHI_ABBREVIATED);

opt.setUptodate(true);

//// (B) クレンジング実行

JAddressCleansingResult result = cleanser.getAddress("川崎市中原区上小田中4丁目1-1", opt);

// (3) クレンジング結果確認...4.2.3参照 System.out.println("結果={"

+ ((null != result.getResult()) ? convertToString(result.getResult()) : "失敗!")+ "}");

System.out.println("ステータス=" + result.getStatusMap());

} … }

// (C) 住所オブジェクトを文字列化

private static String convertToString(JAddress _address) { StringBuffer buf = new StringBuffer();

buf.append("ChimeiCode=").append(_address.getChimeiCode());

buf.append(", PostalCodes=").append(Arrays.toString(_address.getPostalCodes()));

buf.append(", Todoufuken=").append(_address.getTodoufuken());

buf.append(", Gun=").append(_address.getGun());

buf.append(", Shichouson=").append(_address.getShichouson());

buf.append(", Seireiku=").append(_address.getSeireiku());

buf.append(", Toorina=").append(_address.getToorina());

buf.append(", Ooazachou=").append(_address.getOoazachou());

buf.append(", Azachoume=").append(_address.getAzachoume());

buf.append(", Banchi=").append(_address.getBanchi());

buf.append(", Others=").append(_address.getOthers());

buf.append(", TodoufukenKana=").append(_address.getTodoufukenKana());

buf.append(", GunKana=").append(_address.getGunKana());

buf.append(", ShichousonKana=").append(_address.getShichousonKana());

buf.append(", SeireikuKana=").append(_address.getSeireikuKana());

buf.append(", ToorinaKana=").append(_address.getToorinaKana());

buf.append(", OoazachouKana=").append(_address.getOoazachouKana());

buf.append(", AzachoumeKana=").append(_address.getAzachoumeKana());

buf.append(", CompleteForm=").append(_address.isCompleteForm());

buf.append(", Uptodate=").append(_address.isUptodate());

return buf.tostring();

}

… }

(2)(3)の部分が以下のような流れになります。

(2) クレンジング実行 (A) オプションの準備

住所クレンジング処理のオプションを設定します。

(B) クレンジング実行

住所クレンジング処理を実行します。

(3) クレンジング結果確認

(C) 住所オブジェクトを文字列化

クレンジング処理結果の住所オブジェクトから、郵便番号や都道府県等の情報を取り出して、利用します。

■文字列からの住所類推の場合-JAddressCleanser#getAddressCandidates()

以下のサンプルでは、文字列から住所を類推します。

public class Sample {

public static void main(String[] _args) { JAddressCleanser cleanser = null;

try {

// (2) クレンジング実行...4.2.2参照 //// (A) オプションの準備

JAddressCleansingOption opt = new JAddressCleansingOption();

…4.1の(A)と同じ

//// (B) クレンジング実行

JAddressCleansingCandidatesResult result = cleanser.getAddressCandidates(

"神奈川県川崎市中原区小田中4丁目1-1", opt, 0, 10);

// (3) クレンジング結果確認...4.2.3参照 for(int i = 0; i < result.getResult().length; i++) {

JAddressCleansingResult innerResult = result.getResult()[i];

//// (C) 結果配列要素の住所オブジェクトを利用

System.out.println("結果[" + i + "]={" + ((null != innerResult.getResult()) ? convertToString(innerResult.getResult()) : "失敗!")+ "}");

//// (D) 結果配列要素のステータスを利用

System.out.println("ステータス[" + i + "]=" + innerResult.getStatusMap());

}

//// (E) 結果全体のステータスを利用

System.out.println("ステータス=" + result.getStatusMap());

} … }

// (F) 住所オブジェクトを文字列化

private static String convertToString(JAddress _address) { …4.1の(C)と同じ

}

… }

(2)、(3)の部分が以下のような流れになります。

(2) クレンジング実行 (A) オプションの準備

住所クレンジング処理のオプションを設定します。

(B) クレンジング実行

住所クレンジング処理を実行します。ここでは、0番目から10個の住所類推候補の返却を求めています。

(3) クレンジング結果確認

結果配列要素に対する処理と、結果全体に対する処理とに分けられます。

(C) 結果配列要素の住所オブジェクトを利用

結果配列要素に対する住所オブジェクトを利用します。

(F) 住所オブジェクトを文字列化

クレンジング処理結果の住所オブジェクトから、郵便番号や都道府県等の情報を取り出して、利用します。

(D) 結果配列要素のステータスを利用

結果配列要素それぞれに対するステータスを利用します。

参照すべきJAddressCleansingStatusCategory値は、以下の値になります。("*"はワイルドカード)

- ALTERNATE_CHAR

- EFFECT

- OPERATE*

- UNOPERATE_CAUSE

- UPTODATE_*

(E) 結果全体のステータスを利用

結果全体に対するステータスを利用します。

参照すべきJAddressCleansingStatusCategory値は、以下の値になります。("*"はワイルドカード)

- CLEANSECAND_*

ステータスについての詳細は、「8.4 ステータス情報」を参照してください。

■地名コードからの住所特定-JAddressCleanser#getAddressByChimeiCode()

「■文字列からの住所特定の場合-JAddressCleanser#getAddress()」を参考にしてください。

■郵便番号からの住所特定-JAddressCleanser#getAddressesByPostalCode

郵 便 番 号 か ら の 住 所 特 定 は 、 ク レ ン ジ ン グ 結 果 と し て 複 数 の 住 所 を 返 し ま す 。 「■ 文 字 列 か ら の 住 所 類 推 の 場 合 - JAddressCleanser#getAddressCandidates()」を参考にしてください。