24.11 SDO_GCDR.ELOC_ROUTE_TIME

書式

SDO_GCDR.ELOC_ROUTE_TIME(
  route_preference        IN  VARCHAR2,    
  time_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_TIME(
  route_preference        IN  VARCHAR2,    
  time_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です。

time_unit

時間の単位。

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

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_TIMEファンクションは、Oracle Autonomous Databaseでのみサポートされています。

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

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

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

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

次の例では、地理座標によって決定された2つの場所間で自動車によって取得された最速ルートの移動時間(分)を計算します。

SELECT SDO_GCDR.ELOC_ROUTE_TIME('fastest', 'minute', -122.39436, 37.79579, -122.40459, 37.74211, 'auto') route_time FROM DUAL;

ROUTE_TIME 
---------- 
      8.02

次の例では、2つの住所の間でトラックによって取得された最速ルートの移動時間(分)を計算します。また、print_request_responseパラメータがTRUEに設定されているため、問合せによってリクエストおよびレスポンスの出力が生成されることに注意してください。

SELECT SDO_GCDR.ELOC_ROUTE_TIME('fastest', 'minute', '1 Oracle Dr, Nashua, NH', '45 Middlesex road, Tyngborough, MA', 'US', 'truck', 'TRUE') route_time FROM DUAL;

ROUTE_TIME
----------
     11.24

1 row selected.

REQUEST: xml_request=<route_request id="1" route_preference="fastest"
time_unit="minute" vehicle_type="truck"> <start_location> <input_location
id="1"> <input_address><unformatted country="US" > <address_line value="1 Oracle
Dr, Nashua, NH"/> </unformatted></input_address>
</input_location></start_location> <end_location> <input_location id="2">
<input_address><unformatted country="US" > <address_line value="45 Middlesex
road, Tyngborough, MA"/> </unformatted></input_address>
</input_location></end_location> </route_request>

RESPONSE: {
  "type" : "Feature",
  "geometry" :
{"type":"Polygon","coordinates":[]},
  "properties" : {
    "requestType" :
"route",
    "featureType" : "route",
    "stepCount" : "0",
    "dist" :
"6.3",
    "distUnit" : "mile",
    "time" : "11.24",
    "timeUnit" : "minute"

}
}