プライマリ・コンテンツに移動
Oracle® Spatial and Graph開発者ガイド
12cリリース1 (12.1)
B72470-07
目次へ移動
目次
索引へ移動
索引

前
次

11.2 ジオコーディングのデータ型

この項では、ジオコーディングのファンクションおよびプロシージャ固有のデータ型について説明します。

11.2.1 SDO_GEO_ADDR型

SDO_GEO_ADDRオブジェクト型は、住所を記述するために使用されます。ジオコードされた住所がSDO_GCDRファンクションまたはSDO_GCDRプロシージャで出力された場合、SDO_GEO_ADDR型のオブジェクトとして格納されます。

表11-6に、SDO_GEO_ADDR型の属性を示します。属性が関連しない場合があることに注意してください。ジオコードされた住所の出力に使用される属性は、入力された住所の地理的な内容(特に国)によって異なります。

表11-6 SDO_GEO_ADDR型の属性

属性 データ型 説明

Id

NUMBER

(未使用)

AddressLines

SDO_KEYWORDARRAY

住所の行。(SDO_KEYWORDARRAY型の詳細は、「SDO_KEYWORDARRAY型」を参照。)

PlaceName

VARCHAR2(200)

対象点(POI)の名前。(たとえば、CALIFORNIA PACIFIC MEDICAL CTR)

StreetName

VARCHAR2(200)

通りの種類を含む通りの名前。(たとえば、MAIN ST)

IntersectStreet

VARCHAR2(200)

交差する通り。

SecUnit

VARCHAR2(200)

アパートやビルの番号などの補足情報。

Settlement

VARCHAR2(200)

住所が属する最低レベルの行政区域。(表11-1を参照。)

Municipality

VARCHAR2(200)

Settlementより1つ上の行政区域。(表11-1を参照。)

Region

VARCHAR2(200)

Municipality(存在する場合)より1つ上の行政区域。Municipalityが存在しない場合はSettlementより1つ上の行政区域 (表11-1を参照。)

Country

VARCHAR2(100)

国名またはISOの国コード。

PostalCode

VARCHAR2(20)

郵便番号(行政区域情報が提供されている場合はオプション)。米国では、郵便番号は5桁です。

PostalAddOnCode

VARCHAR2(20)

郵便番号に付随する文字列。米国では通常、Postal add-on codeは「5-4」形式で指定される9桁の郵便番号の末尾4桁の番号を示します。

FullPostalCode

VARCHAR2(20)

郵便番号と郵便付加番号を含む完全な郵便番号。

POBox

VARCHAR2(100)

私書箱番号。

HouseNumber

VARCHAR2(100)

家またはビルの番号。(たとえば、123 MAIN ST123)

BaseName

VARCHAR2(200)

通りのベース名。(たとえば、123 MAIN STMAIN)

StreetType

VARCHAR2(20)

通りの種類。(たとえば、123 MAIN STのST)

StreetTypeBefore

VARCHAR2(1)

(未使用)

StreetTypeAttached

VARCHAR2(1)

(未使用)

StreetPrefix

VARCHAR2(20)

通りの接頭辞。(たとえば、123 S MAIN STS)

StreetSuffix

VARCHAR2(20)

通りの接尾辞。(たとえば、123 MAIN ST NENE)

Side

VARCHAR2(1)

道路セグメントをその方向に従って(つまり、道路セグメントの開始ノードから終了ノードに向かって)移動すると想定した場合に、家が建っている通りの側(左側はL、右側はR)。住居番号は、増加していくことも、減少していくこともあります。

Percent

NUMBER

0から1の数値(パーセント値を求めるには100を掛けます)で、道路セグメントの方向に従って通りを移動した距離を示します。

EdgeID

NUMBER

道路区画の端のID。

ErrorMessage

VARCHAR2(20)

エラー・メッセージ(「出力されたジオコード済住所のエラー・メッセージ」を参照)。注意: ErrorMessage属性のかわりに、MatchVector属性を使用することをお薦めします。

MatchCode

NUMBER

一致コード(「一致コード」を参照)。

MatchMode

VARCHAR2(30)

一致モード(「一致モード」を参照)。

Longitude

NUMBER

経度値。

Latitude

NUMBER

緯度値。

MatchVector

VARCHAR2(20)

各住所の属性がジオコーディングに使用されるデータとどのように一致したかを示す文字列(「出力されたジオコード済住所の一致ベクトル」を参照)。

SDO_GEO_ADDRオブジェクト全体を戻すか、またはドット表記法を使用して属性を指定できます。例11-1に、San Francisco市庁舎の住所をジオコードする文を示します。最初の文はSDO_GEO_ADDRオブジェクト全体を戻し、残りの文はいくつかの特定の属性を戻します。

例11-1 ジオコーディング、および住所オブジェクトと特定の属性の取得

SELECT SDO_GCDR.GEOCODE('SCOTT', 
  SDO_KEYWORDARRAY('1 Carlton B Goodlett Pl', 'San Francisco, CA  94102'), 
    'US', 'RELAX_BASE_NAME') FROM DUAL;
 
SDO_GCDR.GEOCODE('SCOTT',SDO_KEYWORDARRAY('1CARLTONBGOODLETTPL','SANFRANCISCO
--------------------------------------------------------------------------------
SDO_GEO_ADDR(0, SDO_KEYWORDARRAY(), NULL, 'CARLTON B GOODLETT PL', NULL, NULL, '
SAN FRANCISCO', NULL, 'CA', 'US', '94102', NULL, '94102', NULL, '1', 'CARLTON B
GOODLETT', 'PL', 'F', 'F', NULL, NULL, 'L', .01, 23614360, '????#ENUT?B281CP?',
1, 'RELAX_BASE_NAME', -122.41815, 37.7784183, '????0101010??000?')

SELECT SDO_GCDR.GEOCODE('SCOTT',
  SDO_KEYWORDARRAY('1 Carlton B Goodlett Pl', 'San Francisco, CA  94102'),
  'US', 'RELAX_BASE_NAME').StreetType  FROM DUAL;
 
SDO_GCDR.GEOCODE('SCOTT',SDO_KEYWORDARRAY('1CARLTONBGOODLETTPL','SANFRANCISCO
--------------------------------------------------------------------------------
PL                                                                              
 
SELECT SDO_GCDR.GEOCODE('SCOTT',
  SDO_KEYWORDARRAY('1 Carlton B Goodlett Pl', 'San Francisco, CA  94102'),
  'US', 'RELAX_BASE_NAME').Side  RROM DUAL;
 
S                                                                               
-                                                                               
L                                                                               
 
SELECT SDO_GCDR.GEOCODE('SCOTT',
  SDO_KEYWORDARRAY('1 Carlton B Goodlett Pl', 'San Francisco, CA  94102'),
  'US', 'RELAX_BASE_NAME').Percent  FROM DUAL;
 
SDO_GCDR.GEOCODE('SCOTT',SDO_KEYWORDARRAY('1CARLTONBGOODLETTPL','SANFRANCISCO
--------------------------------------------------------------------------------
                                                                             .01
 
SELECT SDO_GCDR.GEOCODE('SCOTT',
  SDO_KEYWORDARRAY('1 Carlton B Goodlett Pl', 'San Francisco, CA  94102'),
  'US', 'RELAX_BASE_NAME').EdgeID  FROM DUAL;
 
SDO_GCDR.GEOCODE('SCOTT',SDO_KEYWORDARRAY('1CARLTONBGOODLETTPL','SANFRANCISCO
--------------------------------------------------------------------------------
                                                                        23614360
 
SELECT SDO_GCDR.GEOCODE('SCOTT',
  SDO_KEYWORDARRAY('1 Carlton B Goodlett Pl', 'San Francisco, CA  94102'),
  'US', 'RELAX_BASE_NAME').MatchCode  FROM DUAL;
 
SDO_GCDR.GEOCODE('SCOTT',SDO_KEYWORDARRAY('1CARLTONBGOODLETTPL','SANFRANCISCO
--------------------------------------------------------------------------------
                                                                               1

SELECT SDO_GCDR.GEOCODE('SCOTT',
  SDO_KEYWORDARRAY('1 Carlton B Goodlett Pl', 'San Francisco, CA  94102'),
  'US', 'RELAX_BASE_NAME').MatchVector  FROM DUAL;
 
SDO_GCDR.GEOCODE('SC
--------------------
????0101010??000?

11.2.2 SDO_ADDR_ARRAY型

SDO_ADDR_ARRAY型は、住所のジオコード結果を格納するために使用されるSDO_GEO_ADDRオブジェクト(「SDO_GEO_ADDR型」を参照)のVARRAYです。ジオコーディング操作の結果、複数の住所アドレスが一致すると、複数の住所オブジェクトが戻される可能性があります。

SDO_ADDR_ARRAY型は、次のとおり定義されます。

CREATE TYPE sdo_addr_array AS VARRAY(1000) OF sdo_geo_addr;

11.2.3 SDO_KEYWORDARRAY型

SDO_KEYWORDARRAY型は、形式化されていない住所の住所行を格納するために使用されるVARCHAR2文字列のVARRAYです。(形式化された住所と形式化されていない住所については、「住所の表現」を参照してください。)

SDO_KEYWORDARRAY型は、次のとおり定義されます。

CREATE TYPE sdo_keywordarray AS VARRAY(10000) OF VARCHAR2(9000);