この項では、Spatial and Graphのジオコーディング機能を使用する前に理解しておく必要がある概念について説明します。
ジオコードする住所は、形式化された住所または形式化されていない住所のいずれかとして表現できます。
形式化された住所は、住所の様々な部分に対する一連の属性で記述されます(住所には、表11-1に示す属性の一部またはすべてを含めることができます)。
表11-1 正式な住所表現の属性
住所の属性 | 説明 |
---|---|
Name |
場所の名前(オプション)。 |
Intersecting street |
交差する通りの名前(オプション)。 |
Street |
通りの住所(家やビルの番号を含む)、通りの名前、通りの種類(Street、Road、Blvdなど)および他の情報。 今回のリリースでは、通り名の最初の4文字がジオコーディング・データ内の通り名と一致しないと、一致する可能性がある通り名として認識されません。 |
Settlement |
住所が属する最低レベルの行政区域。ほとんどの場合、これは市です。ヨーロッパの一部の国では、Settlementが大都市の一部の区域である可能性があります。この場合、その大都市はMunicipalityになります。 |
Municipality |
Settlementより1つ上の行政区域。Municipalityは米国の住所には使用されません。ヨーロッパの国では、市にSettlementが含まれ、その市がMunicipalityになります。 |
Region |
Municipality(存在する場合)より1つ上の行政区域、Municipalityが存在しない場合はSettlementより1つ上の行政区域。米国ではRegionは州ですが、他の一部の国ではRegionは県です。 |
Postal code |
郵便番号(行政区域情報が提供されている場合はオプション)。米国では、郵便番号は5桁です。 |
Postal add-on code |
郵便番号に付随する文字列。米国では通常、Postal add-on codeは「5-4」形式で指定される9桁の郵便番号の末尾4桁の番号を示します。 |
Country |
国名またはISOの国コード。 |
形式化された住所は、SDO_GEO_ADDRデータ型を使用して指定されます(「SDO_GEO_ADDR型」を参照)。
形式化されていない住所は、該当する国の住所形式に情報が含まれる行で記述されます。住所の行には、ジオコーディングに必要な情報を含める必要があります。また、ジオコーディングに必要ない情報(処理されていない住所内の一般的な情報)が含まれる場合もあります。形式化されていない住所は、文字列の配列として格納されます。たとえば、住所が「22 Monument Square」や「Concord, MA 01742」などの文字列で構成される場合があります。
形式化されていない住所は、SDO_KEYWORDARRAYデータ型を使用して指定されます(「SDO_KEYWORDARRAY型」を参照)。
ジオコーディング操作の一致モードは、入力された住所の属性が、ジオコーディングに使用されているデータとどの程度一致する必要があるかを決定します。入力された住所では、同じものが異なる方法で表現されていてもかまいません(Streetと短縮形のStなど)。また、小さい間違いが含まれてもかまいません(通りの住所と市の名前が正しく、その市にその通りの住所が1つしか存在しない場合に、郵便番号を間違えるなど)。
入力された住所とジオコーディングに使用されるデータが完全に一致しないと、ジオコーディングが実行されないように要求できます。または、一部の属性に対して、入力された住所にある程度の不一致または誤りが含まれている場合でもジオコーディングが実行されるように、要件を緩和することもできます。表11-2に、一致モードとその意味を示します。SDO_GEO_ADDRデータ型(「SDO_GEO_ADDR型」を参照)のMatchMode
属性と、ジオコーディング・ファンクションまたはプロシージャのmatch_mode
パラメータには、この表の値を使用してください。
表11-2 ジオコーディング操作の一致モード
一致モード | 説明 |
---|---|
EXACT |
入力された住所のすべての属性が、ジオコーディングに使用されるデータと一致する必要があります。ただし、家やビルの番号、通りのベース名、通りの種類、通りの接頭辞および通りの接尾辞のいずれもジオコーディング・データと一致しない場合、郵便番号、市や町の名前(Settlement)、州の名前の順で最初に一致した位置が戻されます。たとえば、通りの名前が正しくない場合でも有効な郵便番号が指定されている場合は、その郵便番号の位置が戻されます。 |
RELAX_STREET_TYPE |
通りの種類が、ジオコーディングに使用されるデータと異なっていてもかまいません。たとえば、ジオコーディングに使用されるデータにMain Stが含まれている場合、Main Streetも一致します。同様に、該当する区域にMain BlvdおよびMainという名前の他の通りが存在しない場合は、Main Blvdも一致します。 |
RELAX_POI_NAME |
対象点の名前が、ジオコーディングに使用されるデータと一致する必要がありません。たとえば、Jones State Park がジオコーディングに使用されるデータに含まれる場合、そのデータに類似した名前または他に一致する名前がなければ、Jones State Pk およびJones Park も一致します。 |
RELAX_HOUSE_NUMBER |
家やビルの番号および通りの種類が、ジオコーディングに使用されるデータと異なっていてもかまいません。たとえば、123 Main St がジオコーディングに使用されるデータに含まれている場合、データに類似した名前または他に一致する名前がなければ、123 Main Lane および124 Main St も一致します。 |
RELAX_BASE_NAME |
通りのベース名、家やビルの番号および通りの種類が、ジオコーディングに使用されるデータと異なっていてもかまいません。たとえば、Pleasant Valley という通りのベース名が、ジオコーディングに使用されるデータに含まれている場合、データに類似した名前または他に一致する名前がなければ、Pleasant Vale も一致します。 |
RELAX_POSTAL_CODE |
郵便番号(提供されている場合)、通りのベース名、家やビルの番号および通りの種類が、ジオコーディングで使用されるデータと異なっていてもかまいません。 |
RELAX_BUILTUP_AREA |
住所が、同じ郡内であれば、指定された市の外側であってもかまいません。このモードには、RELAX_POSTAL_CODEの説明も当てはまります。 |
RELAX_ALL |
RELAX_BUILTUP_AREAと同じです。 |
DEFAULT |
RELAX_POSTAL_CODEと同じです。 |
一致コードは、入力された住所のどの属性がジオコーディングに使用されるデータと一致したかを示す番号です。一致コードは、出力されるSDO_GEO_ADDRオブジェクトのMatchCode
属性に格納されます(「SDO_GEO_ADDR型」を参照)。
表11-3に、一致コードのすべての値を示します。
表11-3 ジオコーディング操作の一致コード
一致コード | 説明 |
---|---|
1 |
完全に一致しています。市の名前、郵便番号、通りのベース名、通りの種類(該当する場合は、接尾辞または接頭辞(あるいはその両方)も含む)および家またはビルの番号が、ジオコーディングに使用されるデータと一致しています。 |
2 |
市の名前、郵便番号、通りのベース名、および家またはビルの番号がジオコーディングに使用されるデータと一致していますが、通りの種類、接尾辞または接頭辞が一致していません。 |
3 |
市の名前、郵便番号および通りのベース名がジオコーディングに使用されるデータと一致していますが、家またはビルの番号が一致していません。 |
4 |
市の名前および郵便番号がジオコーディングに使用されるデータと一致していますが、通りの住所が一致していません。 |
10 |
市の名前がジオコーディングに使用されるデータと一致していますが、郵便番号が一致していません。 |
11 |
郵便番号がジオコーディングに使用されているデータと一致していますが、市の名前が一致していません。 |
12 |
地域はジオコーダ・スキーマのデータと一致しますが、都市名および郵便番号は一致しません。 |
注意:
ErrorMessage
属性(この項を参照)のかわりに、MatchVector
属性(「出力されたジオコード済住所の一致ベクトル」を参照)を使用することをお薦めします。
出力されたジオコード済住所では、SDO_GEO_ADDRオブジェクトのErrorMessage
属性(「SDO_GEO_ADDR型」を参照)に、ジオコーディングに使用されるデータと一致した住所の属性を示す文字列が含まれます。ジオコーディング操作の開始前、その文字列は値???????????281C??
に設定されており、属性が一致すると、それを反映してその値が変更されます。
表11-4に、文字列内の文字位置、および各位置に対応する住所属性を示します。また、属性が一致した場合にその位置に設定される文字値も示します。
表11-4 ジオコードされた住所のエラー・メッセージの解釈
位置 | 属性 | 一致した場合の値 |
---|---|---|
1-2 |
(今後使用予定) |
?? |
3 |
住所地点 |
X |
4 |
POI名 |
O |
5 |
家またはビルの番号 |
# |
6 |
通りの接頭辞 |
E |
7 |
通りのベース名 |
N |
8 |
通りの接尾辞 |
U |
9 |
通りの種類 |
T |
10 |
補足情報 |
S |
11 |
市街地または市 |
B |
12-13 |
(予約済) |
(これらの位置にある値はすべて無視されます。) |
14 |
Region |
1 |
15 |
Country |
C |
16 |
Postal code |
P |
17 |
Postal add-on code |
A |
出力されたジオコード済住所では、SDO_GEO_ADDRオブジェクトのMatchVector
属性(「SDO_GEO_ADDR型」を参照)に、各住所の属性がジオコーディングに使用されるデータとどのように一致したかを示す文字列が含まれます。この属性では、ErrorMessage
属性(「出力されたジオコード済住所のエラー・メッセージ」を参照)に比べて、各住所の属性の一致ステータスに関して、より正確で詳細な情報が提供されます。ジオコーディング操作の開始前、その文字列は値?????????????????
に設定されています。この文字列の各文字は、住所属性の一致ステータスを示しています。
表11-5に、文字列内の文字位置、および各位置に対応する住所属性を示します。次の表では、それぞれの文字位置の値が示す内容について説明します。
表11-5 ジオコードされた住所の一致ベクトルの解釈
位置 | 属性 |
---|---|
1-2 |
(今後使用予定) |
3 |
住所地点 |
4 |
POI名 |
5 |
家またはビルの番号 |
6 |
通りの接頭辞 |
7 |
通りのベース名 |
8 |
通りの接尾辞 |
9 |
通りの種類 |
10 |
補足情報 |
11 |
市街地または市 |
14 |
Region |
15 |
Country |
16 |
Postal code |
17 |
Postal add-on code |
表11-5の各文字位置には、次の可能な数値のいずれかを含めることができます。
0: 入力属性がNULL以外で、NULL以外の値に一致します。
1: 入力属性がNULLで、NULL値に一致します。
2: 入力属性がNULL以外で、異なるNULL以外の値に置き換えられます。
3: 入力属性がNULL以外で、NULL値に置き換えられます。
4: 入力属性がNULLで、NULL以外の値に置き換えられます。