24.9 SDO_GCDR.ELOC_ROUTE_DISTANCE

書式

SDO_GCDR.ELOC_ROUTE_DISTANCE(
  route_preference        IN  VARCHAR2,   
  distance_unit           IN  VARCHAR2,    
  start_address           IN  VARCHAR2,    
  end_address             IN  VARCHAR2,    
  country                 IN  VARCHAR2,    
  vehicle_type            IN  VARCHAR2,    
  print_request_response  IN  VARCHAR2 DEFAULT 'FALSE'
) RETURN NUMBER;

または

SDO_GCDR.ELOC_ROUTE_DISTANCE(
  route_preference        IN  VARCHAR2,    
  distance_unit           IN  VARCHAR2,
  start_longitude         IN  NUMBER,
  start_latitude          IN  NUMBER,  
  end_longitude           IN  NUMBER,    
  end_latitude            IN  NUMBER,
  vehicle_type            IN  VARCHAR2,    
  print_request_response  IN  VARCHAR2 DEFAULT 'FALSE'
) RETURN NUMBER;

説明

2つの場所の間のルート距離を計算します。

入力場所は、単一行アドレスにすることも、地理座標で指定することもできます。

パラメータ

route_preference

ルーティング・プリファレンス。

サポートされる値は、shortestfastestおよびtrafficです。

distance_unit

距離の単位。

サポートされる値は、milekilometerkmおよびmeterです。

start_address

完全な開始住所(別々のフィールドに形式化されていません)。

end_address

完全な終了住所(別々のフィールドに形式化されていません)。

country

ISOの2文字の国コード。サポートされているコードのリストを表示するには、ISO Online Browsing Platform (OBP)Country codesを参照してください。

start_longitude

開始点の経度値。

start_latitude

開始点の緯度値。

end_longitude

終了点の経度値。

end_latitude

終了点の緯度値。

vehicle_type

距離の計算に考慮される車両のタイプ。

サポートされる値は、autoおよびtruckです

print_request_response

送信されたリクエストおよび受信したレスポンスを印刷するかどうかを決定します。

デフォルトでは、パラメータ値はFALSEです。

使用上のノート

ノート:

SDO_GCDR.ELOC_ROUTE_DISTANCEファンクションは、Oracle Autonomous Databaseでのみサポートされています。

Autonomous Databaseインスタンスでこのファンクションを使用するには、必要な権限が付与されていることを確認してください。詳細は、SDO_GCDR.ELOC_GRANT_ACCESSを参照してください。

SDO_GCDR.ELOC_ROUTE_DISTANCEファンクションは、次のパラメータ・セットのいずれかを受け入れて、2点の間の距離を計算できます:

  • 形式化されていない住所の使用: 完全な住所が単一のフィールドに格納されている(つまり、形式化されていない)場合、start_addressおよびend_addressパラメータを指定します。
  • 地理座標の使用: start_longitudestart_latitudeend_longitudeおよびend_latitudeパラメータを指定して、出発地と目的地を決定します。

各パラメータ入力には、表またはビューの列、または明示的な文字列または数値を指定できます。

次の例では、2つの住所位置間のトラックの最短ルート距離(マイル)を計算します。

SELECT SDO_GCDR.ELOC_ROUTE_DISTANCE('shortest', 'mile', '1 Oracle Dr, Nashua, NH', '77 Massachusetts Ave, Cambridge, MA', 'US', 'truck') route_dist FROM DUAL;

ROUTE_DIST
----------
     33.22

次の例では、経度座標と緯度座標を使用して、2点間の自動車の最速ルート距離(マイル)を計算します。

SELECT SDO_GCDR.ELOC_ROUTE_DISTANCE('fastest', 'mile', -122.39436, 37.79579, -122.40459, 37.74211,'auto') route_dist FROM DUAL;

ROUTE_DIST 
---------- 
      4.51