第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()」を参考にしてください。