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を参照してください。

このファンクションは、入力パラメータに応じて次の操作を実行します。各パラメータ入力には、表またはビューの列、または明示的な文字列または数値を指定できます。

  • 形式化された住所のジオコーディング: ファンクションのパラメータ(streetcityregionpostal_codecc2など)に対応する住所フィールドを指定します。

    このファンクションでは、ジオコーディング操作のデフォルトの一致モードとして'DEFAULT'が使用されることに注意してください。詳細は、「一致モード」を参照してください。

    例-1を参照してください。

  • 形式化されていない住所のジオコーディング: 完全な住所が単一のフィールドに格納されている(つまり、形式化されていない)場合、完全な住所に対応するaddressフィールドを指定します。

    例-2を参照してください。

  • 位置の逆ジオコーディング: 経度および緯度の座標を指定する必要があり、ファンクションはJSON形式で住所を戻します。

    例-3を参照してください。

例-1

次の例では、デフォルトの一致モードを使用して、形式化された住所をジオコードします。この場合、この住所の経度と緯度の座標が、それぞれ-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?"}]}]
例-2

次の例では、形式化されていない住所をジオコードします。この場合、この住所の経度と緯度の座標が、それぞれ-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?"}]}]
例-3

次の例では、地理的位置を逆にジオコードします。経度(-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?"}]}]