探索結果を元に迂回経路探索する
一度経路探索した結果に対し、特定の路線を迂回して再探索を行います。
利用しない路線は、運行路線コードまたは平均路線名で指定します。
interruptCorporationList
パラメータ(不通会社リスト)を利用することで、特定の会社を利用しない経路探索も可能です。
手順
運行路線コードで指定する場合
関連URL
1. 運行路線パターンを結果に付加するようにして1回目の経路探索を行う
addOperationLinePattern
パラメータにtrue
を指定して、経路探索 /search/coruse/extreme
を行います。
なお、addOperationLinePattern
パラメータは、ダイヤによる探索でのみ利用することができます。
※リクエスト例では日本語で記述しておりますが、リクエストパラメータに日本語が含まれる場合には、日本語の部分をUTF8でURLエンコード(パーセントエンコード)してください。
GET /v1/xml/search/course/extreme?key=アクセスキーを入力してください&viaList=渋谷:新宿&time=1000&addOperationLinePattern=true
<?xml version="1.0" encoding="UTF-8"?>
<ResultSet apiVersion="1.27.0.0" engineVersion="201808_05a">
<Course searchType="departure" dataType="onTimetable">
<Route index="1" ...>
<Point index="1">
<Station code="22715">
<Name>渋谷</Name>
:
<Line index="1" ...>
<Name>JR埼京線・池袋行</Name>
<Type>train</Type>
<Destination>池袋</Destination>
:
<Point index="2">
<Station code="22741">
<Name>新宿</Name>
:
</Route>
<OperationLinePattern routeLineIndex="1">
<Point index="1">
<Station code="22715">
<Name>渋谷</Name>
:
<Line direction="Down" toStationPos="170" index="1" fromStationPos="140" code="106" ...>
<Name>JR埼京線</Name>
:
<Point index="2">
<Station code="22741">
<Name>新宿</Name>
:
</OperationLinePattern>
:
<Price kind="FareSummary">
:
<SerializeData>...</SerializeData>
<Teiki>
<SerializeData>...</SerializeData>
<DisplayRoute>渋谷--JR埼京線--新宿</DisplayRoute>
</Teiki>
</Course>
:
</ResultSet>
addOperationLinePattern
パラメータにtrue
を指定したことで、
結果にResultSet/Course/Route/Line
(経路の区間)と紐づくResultSet/Course/OperationLinePattern
(運行路線パターン)が返ります。
2. 経路の区間に紐づく運行路線パターンから運行路線のコードを取得する
1のレスポンスのResultSet/Course/Route/Line/index
とResultSet/Course/OperationLinePattern/routeLineIndex
が紐づいています。
なお、運行路線は、鉄道事業者の運行系統をベースにしているため、
途中で区間が分かれる場合は、ResultSet/Course/Route/Line
とそれに紐づくResultSet/Course/OperationLinePattern/Line
の区間数は、1対多になります。
ResultSet/Course/OperationLinePattern/Line/code
(運行路線コード)を取得します。
なお、路線全体ではなく、路線の一部の駅間のみ迂回したい場合は、区間の発駅と着駅それぞれのResultSet/Course/OperationLinePattern/Point/Station/code
(駅コード)も取得します。
3. 利用しない路線を指定して2回目の経路探索を行う
interruptOperationLineCodeList
パラメータ(不通運行路線コードリスト)に、2で取得した運行路線コードを指定して、2回目の経路探索 /search/coruse/extreme
を行います。
路線全体ではなく、路線の一部の駅間のみ迂回したい場合は、運行路線コードに加えて、2で取得した2つの駅コードも指定します。
以下の例の場合、利用しない路線区間として、「JR埼京線の渋谷〜新宿の区間」の運行路線コードおよび駅コードを指定しています。
※リクエスト例では日本語で記述しておりますが、リクエストパラメータに日本語が含まれる場合には、日本語の部分をUTF8でURLエンコード(パーセントエンコード)してください。
GET /v1/xml/search/course/extreme?key=アクセスキーを入力してください&viaList=渋谷:新宿&time=1000&interruptOperationLineCodeList=106,22715,22741
<?xml version="1.0" encoding="UTF-8"?>
<ResultSet apiVersion="1.27.0.0" engineVersion="202009_01a">
<Course searchType="departure" dataType="onTimetable">
<Route index="1" ...>
<Point index="1">
<Station code="22715">
<Name>渋谷</Name>
:
<Line index="1" ...>
<Name>JR山手線外回り・新宿・池袋方面</Name>
<Type>train</Type>
<Destination>大崎</Destination>
:
<Point index="2">
<Station code="22741">
<Name>新宿</Name>
:
</Route>
<Price kind="Fare" ...>
:
<SerializeData>...</SerializeData>
<Teiki>
<SerializeData>...</SerializeData>
<DisplayRoute>渋谷--JR山手線外回り--新宿</DisplayRoute>
</Teiki>
</Course>
:
</ResultSet>
制限のない通常の探索の場合、「JR埼京線」を利用する経路が1番目に返りますが、「JR埼京線の渋谷〜新宿の区間」を利用しない設定のため、 「JR山手線外回り」を利用する経路が返ります。
※返却される経路は、2020年9月1版時点のサンプルデータとなります。
平均路線名で指定する場合
関連URL
- 経路探索 /search/course/extreme
1. 1回目の経路探索を行う
searchType
パラメータ(探索種別)にplain
(平均待ち時間による探索)を指定して、経路探索 /search/coruse/extreme
を行います。
※リクエスト例では日本語で記述しておりますが、リクエストパラメータに日本語が含まれる場合には、日本語の部分をUTF8でURLエンコード(パーセントエンコード)してください。
GET /v1/xml/search/course/extreme?key=アクセスキーを入力してください&viaList=渋谷:新宿&searchType=plain
<?xml version="1.0" encoding="UTF-8"?>
<ResultSet apiVersion="1.27.0.0" engineVersion="201808_05a">
<Course searchType="plain" dataType="plain">
<Route index="1" ...>
<Point index="1">
<Station code="22715">
<Name>渋谷</Name>
:
<Line direction="Down" index="1" ...>
<Name>JR山手線外回り</Name>
<Type>train</Type>
:
<Point index="2">
<Station code="22741">
<Name>新宿</Name>
:
</Route>
<Price kind="FareSummary">
:
<SerializeData>...</SerializeData>
<Teiki>
<SerializeData>...</SerializeData>
<DetailRoute>渋谷:JR山手線外回り:Down:新宿</DetailRoute>
<DisplayRoute>渋谷--JR山手線外回り--新宿</DisplayRoute>
</Teiki>
</Course>
:
</ResultSet>
ResultSet/Course/Route/Line/Name
(平均路線名)を取得します。
2. 利用しない路線を指定して2回目の経路探索を行う
interruptRailList
パラメータ(不通平均路線リスト)に、1で取得した平均路線名を指定して、2回目の経路探索 /search/coruse/extreme
を行います。
なお、interruptRailList
パラメータは、平均待ち時間による探索でのみ利用することができます。
以下の例の場合、利用しない路線として、「JR山手線外回り」の平均路線名を指定しています。
※リクエスト例では日本語で記述しておりますが、リクエストパラメータに日本語が含まれる場合には、日本語の部分をUTF8でURLエンコード(パーセントエンコード)してください。
GET /v1/xml/search/course/extreme?key=アクセスキーを入力してください&viaList=渋谷:新宿&searchType=plain&interruptRailList=JR山手線外回り
<?xml version="1.0" encoding="UTF-8"?>
<ResultSet apiVersion="1.27.0.0" engineVersion="201808_05a">
<Course searchType="plain" dataType="plain">
<Route index="1" ...>
<Point index="1">
<Station code="22715">
<Name>渋谷</Name>
:
<Line direction="Down" index="1" ...>
<Name>JR埼京線快速</Name>
<Type>train</Type>
:
<Point index="2">
<Station code="22741">
<Name>新宿</Name>
:
</Route>
<Price kind="FareSummary">
:
<SerializeData>...</SerializeData>
<Teiki>
<SerializeData>...</SerializeData>
<DetailRoute>渋谷:JR埼京線快速:Down:新宿</DetailRoute>
<DisplayRoute>渋谷--JR埼京線--新宿</DisplayRoute>
</Teiki>
</Course>
:
</ResultSet>
制限のない通常の探索の場合、「JR山手線外回り」を利用する経路が1番目に返りますが、「JR山手線外回り」を利用しない設定のため、 「JR埼京線快速」を利用する経路が返ります。
※返却される経路は、2018年8月5版時点のサンプルデータとなります。