はじめに
定期券
交通費精算(定期区間控除)
通勤費管理(定期代支給)
探索
運賃
探索結果
探索条件
地点
路線
路線図

探索結果から前後のダイヤを取得する

ダイヤによる探索での経路探索結果を用いて、前後のダイヤを取得します。

※ API利用時のイメージ図 駅すぱあと for web

関連URL

操作手順

行いたい内容により、手順が異なります。

経路全体の前後のダイヤを取得したい場合の手順

1. 経路探索を行う

ダイヤによる探索を行います。 下記に示す2つの値を取得します。

リクエスト例では、2020年10月01日の午前9時出発、自由が丘駅(駅コード:22755) -> 高円寺(駅コード:22671)という条件で、ダイヤによる探索を行います。

リクエスト例では、経路探索 /search/course/extreme を利用していますが、
ダイヤでの探索を行うことができる他のAPI(経路簡易探索 /search/course)でも利用することができます。

GET /v1/xml/search/course/extreme?key=アクセスキーを入力してください&viaList=22755:22671&date=20201001&time=0900&answerCount=1&searchType=departure
<ResultSet apiVersion="1.27.0.0" engineVersion="202010_05a">
  <Course searchType="departure" dataType="onTimetable">
    <Price kind="FareSummary">
        :
    </Price>
    <Route index="1" transferCount="2" ...>
      <Point index="1">
        <Station code="22755">
          <Name>自由が丘</Name>
          <Type>train</Type>
          <Yomi>じゆうがおか</Yomi>
        </Station>
        :
      </Point>
      <!-- 区間インデックス(1区間目) -->
      <Line stopStationCount="5" track="railway" index="1" ...>
        <!-- 列車名 -->
        <Name>東急東横線・渋谷行</Name>
        <Type>train</Type>
        <ArrivalState>
          <Type>normal</Type>
          <!-- 区間の到着時刻 -->
          <Datetime operation="today">2020-10-01T09:16:00+09:00</Datetime>
        </ArrivalState>
        <Destination>渋谷</Destination>
        <TimeReliability>onTimetable</TimeReliability>
        <DepartureState no="5・6">
          <Type>normal</Type>
          <!-- 区間の出発時刻 -->
          <Datetime operation="today">2020-10-01T09:01:00+09:00</Datetime>
        </DepartureState>
        :
      </Line>
      <Point index="2">
        <Station code="22715">
          <Name>渋谷</Name>
          <Type>train</Type>
          <Yomi>しぶや</Yomi>
        </Station>
        :
      </Point>
      <!-- 区間インデックス(2区間目) -->
      <Line stopStationCount="2"  track="railway" index="2" ...>
        <!-- 列車名 -->
        <Name>JR山手線外回り・新宿・池袋方面</Name>
        <Type>train</Type>
        <ArrivalState no="15">
          <Type>normal</Type>
          <!-- 区間の到着時刻 -->
          <Datetime operation="today">2020-10-01T09:31:00+09:00</Datetime>
        </ArrivalState>
        <Destination>大崎</Destination>
        <TimeReliability>onTimetable</TimeReliability>
        <DepartureState no="1">
          <Type>normal</Type>
          <!-- 区間の出発時刻 -->
          <Datetime operation="today">2020-10-01T09:24:00+09:00</Datetime>
        </DepartureState>
        :
      </Line>
      <Point index="3">
        <Station code="22741">
          <Name>新宿</Name>
          <Type>train</Type>
          <Yomi>しんじゅく</Yomi>
        </Station>
        :
      </Point>
      <!-- 区間インデックス(3区間目) -->
      <Line track="railway" index="3" ...>
        <!-- 列車名 -->
        <Name>JR中央・青梅線快速・青梅行</Name>
        <Type>train</Type>
        <ArrivalState no="3">
          <Type>normal</Type>
          <!-- 区間の到着時刻 -->
          <Datetime operation="today">2020-10-01T09:42:00+09:00</Datetime>
        </ArrivalState>
        <Destination>青梅</Destination>
        <TimeReliability>onTimetable</TimeReliability>
        <DepartureState no="11">
          <Type>normal</Type>
          <!-- 区間の出発時刻 -->
          <Datetime operation="today">2020-10-01T09:35:00+09:00</Datetime>
        </DepartureState>
        :
      </Line>
      <Point index="4">
        <Station code="22671">
          <Name>高円寺</Name>
          <Type>train</Type>
          <Yomi>こうえんじ</Yomi>
        </Station>
        :
      </Point>
    </Route>
    <!-- 経路シリアライズデータ -->
    <SerializeData>VkV4QaECpwzIAsMCpgE0Pi0DpgE0PiwEkcIBQwAAAAKmATQ|LAPJAQECAQMBBAEHAQgBCgIPQv9_EKX_9wWYwQKlWOPBAqVYu8ECpVjVwQKlWI_BAqVzK8ECpVgfwQKlWBjBAqVZLAaTwwEBAgEDxgGmAAGLsAIUAxoFpHkHBAgBwwEBAgEDxwGlC7ICIwMmBaR5BkQ5MzFHBwUIBcMBAQIBA8cBpZoIAgUDBwUDBkQ5NjlUBwcIBgeTxQGmATQ|KQOlAh0EpQIsBQAIAMYBpgE0PikCAQOlAjQEpQI7BQAIAMYBpgE0PikCAgOlAj8EpQJGBQAIAAiTxAQBBQEHpQE6CAHGAgEEAgUBBgEHpQLNCALGAgIEAwUBBgEHpG0IAwmSwQMBwwEBAgIDAQ|RxQGUAAECAwKTwwEAAgADAMMBAQIBAwHDAQICAgMCA5PDAQACAAMAwwEBAgEDAcMBAgICAwIEkgABBZIAAA**--T3221233232319:F332112212000:A23121141:--dce776ff3f76c13e6279e17a06c737968d9a44fc--0--0--0--364</SerializeData>
    :
  </Course>
</ResultSet>

例の場合、「自由が丘--東急東横線--渋谷--JR山手線外回り--新宿--JR中央線快速--高円寺」の経路となっており、
区間インデックス1:自由が丘(9:01) -- 東急東横線 -- 渋谷(9:16)
区間インデックス2:渋谷(9:24) -- JR山手線外回り -- 新宿(9:31)
区間インデックス3:新宿(9:35) -- JR中央快速 -- 高円寺(9:42)
となっています。

2. 前後のダイヤの取得

1の経路探索結果を利用して、前後のダイヤ探索から前後のダイヤを取得します。
例として、1の経路探索結果に対し、区間インデックス2に対し、前後のダイヤを取得します。

1で取得した経路探索結果を以下のパラメータに代入して、リクエストを送信します。

GET /search/course/pattern?key=アクセスキーを入力してください&sectionIndex=2&serializeData=VkV4QaECpwzIAsMCpgE0Pi0DpgE0PiwEkcIBQwAAAAKmATQ|LAPJAQECAQMBBAEHAQgBCgIPQv9_EKX_9wWYwQKlWOPBAqVYu8ECpVjVwQKlWI_BAqVzK8ECpVgfwQKlWBjBAqVZLAaTwwEBAgEDxgGmAAGLsAIUAxoFpHkHBAgBwwEBAgEDxwGlC7ICIwMmBaR5BkQ5MzFHBwUIBcMBAQIBA8cBpZoIAgUDBwUDBkQ5NjlUBwcIBgeTxQGmATQ|KQOlAh0EpQIsBQAIAMYBpgE0PikCAQOlAjQEpQI7BQAIAMYBpgE0PikCAgOlAj8EpQJGBQAIAAiTxAQBBQEHpQE6CAHGAgEEAgUBBgEHpQLNCALGAgIEAwUBBgEHpG0IAwmSwQMBwwEBAgIDAQ|RxQGUAAECAwKTwwEAAgADAMMBAQIBAwHDAQICAgMCA5PDAQACAAMAwwEBAgEDAcMBAgICAwIEkgABBZIAAA**--T3221233232319:F332112212000:A23121141:--dce776ff3f76c13e6279e17a06c737968d9a44fc--0--0--0--364

上記をリクエストすると、5つの経路が取得できます。
例として、一番最後の5番目の経路を確認します。

<ResultSet apiVersion="1.27.0.0" engineVersion="202010_05a">
  <Course dataType="onTimetable">
  <!-- 取得できた1つ目の経路 -->
    :
  </Course>
  <Course dataType="onTimetable">
  <!-- 取得できた2つ目の経路 -->
    :
  </Course>
  <Course dataType="onTimetable">
  <!-- 取得できた3つ目の経路 -->
    :
  </Course>
  <Course dataType="onTimetable">
  <!-- 取得できた4つ目の経路 -->
    :
  </Course>
  <Course dataType="onTimetable">
  <!-- 取得できた5つ目の経路 -->
    <Price kind="FareSummary">
        :
    </Price>
    <Route index="5" transferCount="2" ...>
      <Point index="1">
        <Station code="22755">
          <Name>自由が丘</Name>
          <Type>train</Type>
          <Yomi>じゆうがおか</Yomi>
        </Station>
        :
      </Point>
      <!-- 区間インデックス(1区間目) -->
      <Line stopStationCount="5" track="railway" index="1" ...>
        <!-- 列車名 -->
        <Name>東急東横線・渋谷行</Name>
        <Type>train</Type>
        <ArrivalState>
          <Type>normal</Type>
          <!-- 区間の到着時刻 -->
          <Datetime operation="today">2020-10-01T09:16:00+09:00</Datetime>
        </ArrivalState>
        <Destination>渋谷</Destination>
        <TimeReliability>onTimetable</TimeReliability>
        <DepartureState no="5・6">
          <Type>normal</Type>
          <!-- 区間の出発時刻 -->
          <Datetime operation="today">2020-10-01T09:01:00+09:00</Datetime>
        </DepartureState>
        :
      </Line>
      <Point index="2">
        <Station code="22715">
          <Name>渋谷</Name>
          <Type>train</Type>
          <Yomi>しぶや</Yomi>
        </Station>
      </Point>
      <!-- 区間インデックス(2区間目) -->
      <Line stopStationCount="2" track="railway" index="2" ...>
        <!-- 列車名 -->
        <Name>JR山手線外回り・新宿・池袋方面</Name>
        <Type>train</Type>
        <ArrivalState no="15">
          <Type>normal</Type>
          <!-- 区間の到着時刻 -->
          <Datetime operation="today">2020-10-01T09:40:00+09:00</Datetime>
        </ArrivalState>
        <Destination>大崎</Destination>
        <TimeReliability>onTimetable</TimeReliability>
        <DepartureState no="1">
          <Type>normal</Type>
          <!-- 区間の出発時刻 -->
          <Datetime operation="today">2020-10-01T09:32:00+09:00</Datetime>
        </DepartureState>
        :
      </Line>
      <Point index="3">
        <Station code="22741">
          <Name>新宿</Name>
          <Type>train</Type>
          <Yomi>しんじゅく</Yomi>
        </Station>
      </Point>
      <!-- 区間インデックス(3区間目) -->
      <Line stopStationCount="3" track="railway" index="3" ...>
        <!-- 列車名 -->
        <Name>JR総武線・三鷹行</Name>
        <Type>train</Type>
        <ArrivalState no="1">
          <Type>normal</Type>
          <!-- 区間の到着時刻 -->
          <Datetime operation="today">2020-10-01T09:53:00+09:00</Datetime>
        </ArrivalState>
        <Destination>三鷹</Destination>
        <TimeReliability>onTimetable</TimeReliability>
        <DepartureState no="16">
          <Type>normal</Type>
          <!-- 区間の出発時刻 -->
          <Datetime operation="today">2020-10-01T09:42:00+09:00</Datetime>
        </DepartureState>
        :
      </Line>
      <Point index="4">
        <Station code="22671">
          <Name>高円寺</Name>
          <Type>train</Type>
          <Yomi>こうえんじ</Yomi>
        </Station>
        :
      </Point>
    </Route>
    <SerializeData>VkV4QaECpwbIAsMCpgE0Pi0DpgE0PiwEkcIBQwAAAAKmATQ|LAPJAQECAQMBBAEHAQgBCgIPQv9_EKX_9wWYwQKlWOPBAqVYu8ECpVjVwQKlWI_BAqVzK8ECpVgfwQKlWcrBAqVXWQaTwwEBAgEDxgGmAAGLsAIUAxoFpHkHBAgBwwEBAgEDxwGlC9gCBQMIBaR5BkQ5MTVHBwUIBcMBAQIBA8cBpZgpAh4DIgWkeQZEODI1QgcHCAYHk8UBpgE0PikDpQIdBKUCLAUACADGAaYBND4pAgEDpQI8BKUCRAUACADGAaYBND4pAgIDpQJGBKUCUQUACAAIk8QEAQUBB6UBOggBxgIBBAIFAQYBB6UCzQgCxgICBAMFAQYBB6RuCAMJksEDAcMBAQICAwEPkcUBlAABAgMCk8MBAAIAAwDDAQECAQMBwwECAgIDAgOTwwEAAgADAMMBAQIBAwHDAQICAgMCBJIAAQWSAAA*--T3221233232319:F332112212000:A23121141:--0801d1217336f33835a0d72ac8d67add4d833d47--0--0--0--365</SerializeData>
    :
  </Course>
</ResultSet>

5つ目の経路の場合、「自由が丘--東急東横線--渋谷--JR山手線外回り--新宿--JR中央・総武線各駅停車--高円寺」の経路となっており、
区間インデックス1:自由が丘(9:01) -- 東急東横線 -- 渋谷(9:16)
区間インデックス2:渋谷(9:32) -- JR山手線外回り -- 新宿(9:40)
区間インデックス3:新宿(9:42) -- JR中央・総武線各駅停車 -- 高円寺(9:53)
となっています。

リクエストで指定した区間インデックスは2であるため、
最初に取得した経路と比べ、区間インデックス2以降の経路が異なっていることが分かります。

経路の1つの区間に対して前後のダイヤを取得したい場合の手順

京都(駅コード:25647) -> 大阪(駅コード:25853)の1区間目の前後ダイヤ取得を例に解説します。

1. 経路探索を行う

ダイヤによる探索を行います。 下記に示す4つの値を取得します。

  • 列車名        : ResultSet / Course / Route / Line / Name
  • 区間の出発時刻    : ResultSet / Course / Route / Line / DepartureState / Datetime
  • 区間の到着時刻    : ResultSet / Course / Route / Line / ArrivalState / Datetime
  • 区間インデックス   : ResultSet / Course / Route / Line / index
  • 経路シリアライズデータ: ResultSet / Course / SerializeData

リクエスト例では、2018年6月1日午前9時出発、京都駅(駅コード: 25647)-> 大阪駅(駅コード: 25853)という条件で、ダイヤによる探索を行います。

リクエスト例では、経路探索 /search/course/extreme を利用していますが、 ダイヤでの探索を行うことができる他のAPI(経路簡易探索 /search/course)でも利用することができます。

GET /v1/xml/search/course/extreme?key=アクセスキーを入力してください&viaList=25647:25853&date=20180601&time=0900&answerCount=1&searchType=departure
<ResultSet apiVersion="1.27.0.0" engineVersion="201805_02a">
  <Course searchType="departure" dataType="onTimetable">
    <Route index="1" transferCount="1">
      <Point index="1">
        <Station code="25647">
          <Name>京都</Name>
          <Type>train</Type>
          <Yomi>きょうと</Yomi>
        </Station>
          :
      </Point>
      <!-- 区間インデックス(1区間目。今回の例ではこちらを利用) -->
      <Line stopStationCount="0" track="railway" index="1" ...>
        <!-- 列車名 -->
        <Name>JR新幹線のぞみ</Name>
        <Type detail="shinkansen">train</Type>
        <ArrivalState no="22">
          <Type>normal</Type>
          <!-- 区間の到着時刻 -->
          <Datetime operation="today">2018-06-01T09:13:00+09:00</Datetime>
        </ArrivalState>
        <Destination>新大阪</Destination>
        <Number>201</Number>
        <TimeReliability>onTimetable</TimeReliability>
        <DepartureState no="13">
          <Type>normal</Type>
          <!-- 区間の出発時刻 -->
          <Datetime operation="today">2018-06-01T09:00:00+09:00</Datetime>
        </DepartureState>
        <Color>051102255</Color>
      </Line>
      <Point index="2">
        <Station code="25978">
          <Name>新大阪</Name>
          <Type>train</Type>
          <Yomi>しんおおさか</Yomi>
        </Station>
          :
      </Point>
      <!-- 区間インデックス(2区間目。今回の例ではこちらは利用しません) -->
      <Line stopStationCount="0" track="railway" index="2" ...>
        :
      </Line>
        :
    </Route>
      :
    <!-- 経路シリアライズデータ -->
    <SerializeData>VkV4QaEByALDAqYBM|4WA6YBM|4WBJHCAUMAAAACpgEz7hYDyQEBAgEDAQQBBwEIAQoCD0L_fxCl__cFlsECpWQvwQKlZXrBAqVk_cECpVkswQKlZ27BAqVj3QaSwwEBAgEDyQGlK|ICBQMGBKTJBQ8GRDIwMUEHAwgBCQbDAQECAQPHAaUbAgIdAx4FAwZENzM1VAcFCAQHksYBpgEz7nkDpQIcBKUCKQUABgIIAMYBpgEz7nkCAQOlAi8EpQIzBQAIAAiSxQQBBQEGAQekhggBxgIBBAIFAQYBB6SxCAIJkcICAQMBD5HFAZMAAQICksMBAAIAAwDDAQECAQMBA5LDAQACAAMAwwEBAgEDAQSRAAWRAA**--T3221233232319:F332112212000:A23121141:--24580c099d679f9421ade5ce2300dd28070eebbb--0--0--0--277</SerializeData>
  </Course>
</ResultSet>

2. 前後のダイヤの取得

1の経路探索結果を利用して、平均路線情報から区間ごとに前後のダイヤを取得します。 まず、1で取得した経路探索結果を以下のパラメータに代入して、リクエストを送信します。

前後のダイヤを取得するには、探索結果と合致する、基準のダイヤが必要となります。
平均路線情報で取得した結果から、1で取得した列車名、及び出発時刻と合致する/ResultSet/Lineを探します。

  • 出発時刻: / ResultSet / Line / DepartureState / Datetime
  • 列車名 : / ResultSet / Line / Name

例では、/ResultSet/Line/codeBoth:81となっている路線情報が合致しました。
/ResultSet/Line/codeの値のBoth以下の数値は、/ResultSet/Line/DepartureState/Datetimeの昇順となっています。
従って、前後の5つの発着時刻を取得したい場合は、以下の要素下を参照します。

  • 前のダイヤ: / ResultSet / Line / code の値がBoth:76 ~ Both:80となっている要素
  • 後のダイヤ: / ResultSet / Line / code の値がBoth:82 ~ Both:86となっている要素

以上の操作で、前後のダイヤを取得できます。 sectionIndexの値を変更することで、他の区間を指定することが可能です。

GET /rail?key=アクセスキーを入力してください&sectionIndex=1&serializeData=VkV4QaEByALDAqYBM|4WA6YBM|4WBJHCAUMAAAACpgEz7hYDyQEBAgEDAQQBBwEIAQoCD0L_fxCl__cFlsECpWQvwQKlZXrBAqVk_cECpVkswQKlZ27BAqVj3QaSwwEBAgEDyQGlK|ICBQMGBKTJBQ8GRDIwMUEHAwgBCQbDAQECAQPHAaUbAgIdAx4FAwZENzM1VAcFCAQHksYBpgEz7nkDpQIcBKUCKQUABgIIAMYBpgEz7nkCAQOlAi8EpQIzBQAIAAiSxQQBBQEGAQekhggBxgIBBAIFAQYBB6SxCAIJkcICAQMBD5HFAZMAAQICksMBAAIAAwDDAQECAQMBA5LDAQACAAMAwwEBAgEDAQSRAAWRAA**--T3221233232319:F332112212000:A23121141:--24580c099d679f9421ade5ce2300dd28070eebbb--0--0--0--277
<ResultSet apiVersion="1.27.0.0" engineVersion="201805_02a">
    :
  <Line code="Both:81">
    <!-- 列車名 -->
    <Name>JR新幹線のぞみ</Name>
    <Type detail="shinkansen">train</Type>
    <ArrivalState no="22">
      <Datetime operation="today">09:13:00+09:00</Datetime>
    </ArrivalState>
    <Number>201</Number>
    <DepartureState no="13">
      <!-- 出発時刻 -->
      <Datetime operation="today">09:00:00+09:00</Datetime>
    </DepartureState>
    <Color>051102255</Color>
  </Line>
  :
</ResultSet>
ページ上部へ