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
-
ルーティング・プリファレンス。
サポートされる値は、
shortest
、fastest
およびtraffic
です。 - time_unit
-
時間の単位。
サポートされる値は、
hour
、minute
および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_longitude
、start_latitude
、end_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"
}
}
親トピック: SDO_GCDRパッケージ(ジオコーディング)