24.4 SDO_GCDR.ELOC_GEOCODE
書式
SDO_GCDR.ELOC_GEOCODE(
street IN VARCHAR2,
city IN VARCHAR2,
region IN VARCHAR2,
postal_code IN VARCHAR2,
cc2 IN VARCHAR2,
match_mode IN VARCHAR2 default 'DEFAULT'
) RETURN VARCHAR2;
または
SDO_GCDR.ELOC_GEOCODE(
address IN VARCHAR2
) RETURN VARCHAR2;
または
SDO_GCDR.ELOC_GEOCODE(
longitude IN NUMBER,
latitude IN NUMBER
) RETURN VARCHAR2;
説明
形式化された(別々のフィールドの住所部分)または形式化されていない(単一の文字列フィールドの完全な住所)住所をジオコードし、地理座標およびジオコーディング・メタデータを含む標準化された住所をJSON形式で戻します。
経度および緯度の入力の場合、ファンクションは位置を逆にジオコードし、JSON形式で住所を戻します。
パラメータ
- street
-
通りの名前。
- city
-
市区町村の名前。
- region
-
リージョンの名前。
- postal_code
-
郵便番号。
- cc2
-
ISOの2文字の国コード。サポートされているコードのリストを表示するには、ISO Online Browsing Platform (OBP)のCountry codesを参照してください。
- match_mode
-
ジオコーディング操作の一致モードを指定します。一致モードの詳細は、「一致モード」を参照してください。
- address
-
完全な住所(別々のフィールドに形式化されていません)。
- longitude
-
逆ジオコーディング操作の経度値。
- latitude
-
逆ジオコーディング操作の緯度値。
使用上のノート
ノート:
SDO_GCDR.ELOC_GEOCODE
ファンクションは、Oracle Autonomous Databaseでのみサポートされています。Autonomous Databaseインスタンスでこのファンクションを使用するには、必要な権限が付与されていることを確認してください。詳細は、SDO_GCDR.ELOC_GRANT_ACCESSを参照してください。
このファンクションは、入力パラメータに応じて次の操作を実行します。各パラメータ入力には、表またはビューの列、または明示的な文字列または数値を指定できます。
- 形式化された住所のジオコーディング: ファンクションのパラメータ(
street
、city
、region
、postal_code
、cc2
など)に対応する住所フィールドを指定します。このファンクションでは、ジオコーディング操作のデフォルトの一致モードとして
'DEFAULT'
が使用されることに注意してください。詳細は、「一致モード」を参照してください。例-1を参照してください。
- 形式化されていない住所のジオコーディング: 完全な住所が単一のフィールドに格納されている(つまり、形式化されていない)場合、完全な住所に対応する
address
フィールドを指定します。例-2を参照してください。
- 位置の逆ジオコーディング: 経度および緯度の座標を指定する必要があり、ファンクションはJSON形式で住所を戻します。
例-3を参照してください。
例
次の例では、デフォルトの一致モードを使用して、形式化された住所をジオコードします。この場合、この住所の経度と緯度の座標が、それぞれ-71.07355166666666および42.355174166666664として戻されます。
SELECT SDO_GCDR.ELOC_GEOCODE('123 Beacon St', 'Boston', 'MA', '02116' , 'US') FROM DUAL;
[{"id":"0","matchCount":"1","matches":[{"sequence":"0","x":-71.07355166666666,"y":42.355174166666664,
"houseNumber":"123","street":"Beacon St","settlement":"Boston","municipality":"Suffolk","region":"MA",
"postalCode":"02116","country":"US","language":"ENG","name":"","edgeId":946710796,
"percent":0.08333333333333333,"side":"R","matchCode":1,"matchVector":"???10101010??000?"}]}]
次の例では、形式化されていない住所をジオコードします。この場合、この住所の経度と緯度の座標が、それぞれ-71.07355166666666および42.355174166666664として戻されます。
SELECT SDO_GCDR.ELOC_GEOCODE('123 Beacon St, Boston MA, 02116, US') FROM DUAL;
[{"id":"0","matchCount":"1","matches":[{"sequence":"0","x":-71.07355166666666,"y":42.355174166666664,
"houseNumber":"123","street":"Beacon St","settlement":"Boston","municipality":"Suffolk","region":"MA",
"postalCode":"02116","country":"US","language":"ENG","name":"","edgeId":946710796,
"percent":0.08333333333333333,"side":"R","matchCode":1,"matchVector":"???10101010??000?"}]}]
次の例では、地理的位置を逆にジオコードします。経度(-71.073551
)および緯度(42.355174
)の座標の住所を戻します。
SELECT SDO_GCDR.ELOC_GEOCODE(-71.073551, 42.355174) FROM DUAL;
[{"id":"0","matchCount":"1","matches":[{"sequence":"0","x":-71.07355109772594,"y":42.35517433341787,
"houseNumber":"123","street":"Beacon St","settlement":"Boston","municipality":"Suffolk","region":"MA",
"postalCode":"02116","country":"US","language":"ENG","name":"","edgeId":946710796,
"percent":0.08431426223078922,"side":"R","matchCode":1,"matchVector":"???14141414??404?"}]}]
親トピック: SDO_GCDRパッケージ(ジオコーディング)