書式
SDO_GCDR.GEOCODE_ADDR( gc_username IN VARCHAR2, address IN SDO_GEO_ADDR ) RETURN SDO_GEO_ADDR;
説明
SDO_GEO_ADDRオブジェクトの属性を使用して、入力された住所をジオコードし、最初に一致した住所をSDO_GEO_ADDRオブジェクトとして戻します。
パラメータ
ジオコーディングを行うデータを含む表を所有するユーザー名を指定します。
1つ以上の属性セットを持つSDO_GEO_ADDRオブジェクトです。SDO_GEO_ADDR型の詳細は、「SDO_GEO_ADDR表」を参照してください。
使用上の注意
このファンクションでは、入力SDO_GEO_ADDRオブジェクトで設定可能な属性を必要に応じて指定できます。このファンクションは最初に一致する住所を検索し、可能な属性セットをすべて持つSDO_GEO_ADDRオブジェクトを戻します。
形式化されていない住所行で指定した入力住所をジオコードするSDO_GCDR.GEOCODEファンクションとは異なり、SDO_GCDR.GEOCODE_ADDRファンクションは、SDO_GEO_ADDRオブジェクトで定義した個々の住所フィールドで指定した入力住所をジオコードします。形式化されていない住所行を使用する場合、入力された住所を解析して個々の住所フィールドに分解するために、ジオコーディング・ソフトウェアを使用する必要があります。通常、この処理は問題なく実行されますが、入力された住所が十分に形式化されていない場合は、不適切な結果が生成されることがあります。これに対し、入力された住所の一部をSDO_GEO_ADDRオブジェクトの属性として指定すると、ジオコーディング・エラーの発生を減少させ、適切な結果を生成することができます。
SDO_GCDR.GEOCODE_ADDRファンクションの例については、「場所名からのジオコーディング」の例11-2および例11-3を参照してください。
SDO_GCDR.GEOCODE_ADDR_ALLファンクションも参照してください(実行する操作はこのファンクションと同じですが、複数の住所を戻すことができます)。
例
次の例では、CALIFORNIA PACIFIC MEDICAL CTR
という名前の対象点のジオコード結果を戻します。ここでは、create_addr_from_placename
という名前のユーザー定義ファンクション(「場所名からのジオコーディング」の例11-2で定義)を使用して入力SDO_GEO_ADDRオブジェクトを作成します。
SELECT sdo_gcdr.geocode_addr('SCOTT', create_addr_from_placename('CALIFORNIA PACIFIC MEDICAL CTR', 'US')) FROM DUAL; SDO_GCDR.GEOCODE_ADDR('SCOTT',CREATE_ADDR_FROM_PLACENAME('CALIFORNIAPACIFICME -------------------------------------------------------------------------------- SDO_GEO_ADDR(0, SDO_KEYWORDARRAY(), 'CALIFORNIA PACIFIC MEDICAL CTR-SF', 'BUCHAN AN ST', NULL, NULL, 'SAN FRANCISCO', NULL, 'CA', 'US', '94115', NULL, '94115', N ULL, '2333', NULL, NULL, 'F', 'F', NULL, NULL, 'L', 0, 23599031, '??????????B281 CP?', 4, 'DEFAULT', -122.43097, 37.79138, '????4141114??404?')