はじめに
Tips一覧
定期券
探索(運賃)
探索(探索結果)
探索(探索条件)
探索(地点)
探索(路線)
路線図

経路探索結果の停車駅一覧を取得する


 Attention!

経路探索のaddStopパラメータ追加に伴い、より少ないステップ数で停車駅一覧を取得するtipsを公開しました。
これから開発を始められる方は経路探索で停車駅と発着時刻を取得するをご利用いただくことを推奨します。

経路探索結果の停車駅一覧を取得します。 通過駅は含みません。

※イメージ図 (駅すぱあと for iPhone)

関連URL

手順

1. 経路探索を行う

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

※リクエスト例では日本語で記述しておりますが、リクエストパラメータに日本語が含まれる場合には、日本語の部分をUTF8でURLエンコード(パーセントエンコード)してください。

GET /v1/xml/search/course/extreme?key=アクセスキーを入力してください&viaList=高円寺:池袋
<ResultSet apiVersion="1.27.0.0" engineVersion="201701_02a">
:
<Course searchType="departure" dataType="onTimetable">
<Route timeOther="5" timeOnBoard="17" exhaustCO2="233" index="3" exhaustCO2atPassengerCar="1780" distance="106" timeWalk="0" transferCount="1">
<Point index="1">
<Station code="22671">
<Name>高円寺</Name>
<Type>train</Type>
<Yomi>こうえんじ</Yomi>
</Station>
<Prefecture code="13">
<Name>東京都</Name>
</Prefecture>
<GeoPoint longi="139.39.10.89" lati="35.42.7.59" longi_d="139.653027" gcs="tokyo" lati_d="35.70211"/>
</Point>
<Line stopStationCount="1" teiki3Index="1" teiki6Index="1" timeOnBoard="8" track="railway" exhaustCO2="127" fareIndex="1" index="1" exhaustCO2atPassengerCar="974" distance="58" teiki1Index="1">
<Name>JR中央線快速・東京行</Name>
<Type>train</Type>
<ArrivalState no="8">
<Type>normal</Type>
<Datetime operation="today">2017-01-10T17:51:00+09:00</Datetime>
</ArrivalState>
<Destination>東京</Destination>
<TimeReliability>onTimetable</TimeReliability>
<DepartureState no="4">
<Type>normal</Type>
<Datetime operation="today">2017-01-10T17:43:00+09:00</Datetime>
</DepartureState>
<Color>250060002</Color>
</Line>
<Point index="2">
<Station code="22741">
<Name>新宿</Name>
<Type>train</Type>
<Yomi>しんじゅく</Yomi>
</Station>
<Prefecture code="13">
<Name>東京都</Name>
</Prefecture>
<GeoPoint longi="139.42.11.0" lati="35.41.15.0" longi_d="139.703056" gcs="tokyo" lati_d="35.6875"/>
</Point>
<Line stopStationCount="3" teiki3Index="1" teiki6Index="1" timeOnBoard="9" track="railway" exhaustCO2="105" fareIndex="1" index="2" exhaustCO2atPassengerCar="806" distance="48" teiki1Index="1">
<Name>JR山手線外回り・池袋・上野方面</Name>
<Type>train</Type>
<ArrivalState no="7">
<Type>normal</Type>
<Datetime operation="today">2017-01-10T18:05:00+09:00</Datetime>
</ArrivalState>
<Destination>大崎</Destination>
<TimeReliability>onTimetable</TimeReliability>
<DepartureState no="15">
<Type>normal</Type>
<Datetime operation="today">2017-01-10T17:56:00+09:00</Datetime>
</DepartureState>
:
<Color>045232013</Color>
</Line>
<Point index="3">
<Station code="22513">
<Name>池袋</Name>
<Type>train</Type>
<Yomi>いけぶくろ</Yomi>
</Station>
<Prefecture code="13">
<Name>東京都</Name>
</Prefecture>
<GeoPoint longi="139.42.51.69" lati="35.43.36.9" longi_d="139.714361" gcs="tokyo" lati_d="35.726694"/>
</Point>
:
<SerializeData>経路シリアライズデータ</SerializeData>
:

以下の経路について、停車駅を取得してみようと思います。

高円寺
↓JR中央線快速・東京行
新宿
↓JR山手線外回り・池袋・上野方面
池袋

この経路の区間は、高円寺―新宿と、新宿―池袋の二つとなります。

区間インデックス ResultSet/Course/Route/Line/indexを見ると、高円寺―新宿に1、新宿―池袋に2という区間インデックスが振られています。

2. 停車駅一覧を取得する

1のレスポンスで経路シリアライズデータと、区間インデックス ResultSet/Course/Route/Line/index を取得できるので、それらを用いて停車駅一覧を取得します。

経路に一つ以上の区間が存在する場合、一度のリクエストで経路全体の停車駅を取得することはできません。 例で用いている経路は、高円寺―新宿新宿―池袋という二つの区間が存在するので、 経路全体の停車駅を取得するには、区間の駅情報に2回リクエストを送る必要があります。

まず、高円寺―新宿の停車駅一覧を取得してみます。 sectionIndexパラメータに、高円寺―新宿区間インデックスである1を指定します。

GET /v1/xml/course/station?key=アクセスキーを入力してください&sectionIndex=1&serializeData=1で取得できる経路シリアライズデータを入れてください
<ResultSet apiVersion="1.27.0.0" engineVersion="201701_02a">
  <Point index="1">
    <Station code="22671">
      <Name>高円寺</Name>
      <Type>train</Type>
      <Yomi>こうえんじ</Yomi>
    </Station>
    <Prefecture code="13">
      <Name>東京都</Name>
    </Prefecture>
    <GeoPoint longi="139.39.10.89" lati="35.42.7.59" longi_d="139.653027" gcs="tokyo" lati_d="35.70211"/>
  </Point>
  <Line index="1">
    <ArrivalState>
      <Datetime operation="today">17:45:00+09:00</Datetime>
    </ArrivalState>
    <DepartureState>
      <Datetime operation="today">17:43:00+09:00</Datetime>
    </DepartureState>
  </Line>
  <Point index="2">
    <Station code="22849">
      <Name>中野(東京都)</Name>
      <Type>train</Type>
      <Yomi>なかの</Yomi>
    </Station>
    <Prefecture code="13">
      <Name>東京都</Name>
    </Prefecture>
    <GeoPoint longi="139.40.9.0" lati="35.42.9.29" longi_d="139.669167" gcs="tokyo" lati_d="35.702582"/>
  </Point>
  <Line index="2">
    <ArrivalState>
      <Datetime operation="today">17:51:00+09:00</Datetime>
    </ArrivalState>
    <DepartureState>
      <Datetime operation="today">17:45:00+09:00</Datetime>
    </DepartureState>
  </Line>
  <Point index="3">
    <Station code="22741">
      <Name>新宿</Name>
      <Type>train</Type>
      <Yomi>しんじゅく</Yomi>
    </Station>
    <Prefecture code="13">
      <Name>東京都</Name>
    </Prefecture>
    <GeoPoint longi="139.42.11.0" lati="35.41.15.0" longi_d="139.703056" gcs="tokyo" lati_d="35.6875"/>
  </Point>
</ResultSet>

次に、新宿―池袋の停車駅一覧を取得してみます。 sectionIndexパラメータに、新宿―池袋区間インデックスである2を指定します。

GET /v1/xml/course/station?key=アクセスキーを入力してください&sectionIndex=2&serializeData=1で取得できる経路シリアライズデータを入れてください
<ResultSet apiVersion="1.27.0.0" engineVersion="201701_02a">
  <Point index="1">
    <Station code="22741">
      <Name>新宿</Name>
      <Type>train</Type>
      <Yomi>しんじゅく</Yomi>
    </Station>
    <Prefecture code="13">
      <Name>東京都</Name>
    </Prefecture>
    <GeoPoint longi="139.42.11.0" lati="35.41.15.0" longi_d="139.703056" gcs="tokyo" lati_d="35.6875"/>
  </Point>
  <Line index="1">
    <ArrivalState>
      <Datetime operation="today">17:58:00+09:00</Datetime>
    </ArrivalState>
    <DepartureState>
      <Datetime operation="today">17:56:00+09:00</Datetime>
    </DepartureState>
  </Line>
  <Point index="2">
    <Station code="22730">
      <Name>新大久保</Name>
      <Type>train</Type>
      <Yomi>しんおおくぼ</Yomi>
    </Station>
    <Prefecture code="13">
      <Name>東京都</Name>
    </Prefecture>
    <GeoPoint longi="139.42.12.29" lati="35.41.52.9" longi_d="139.703416" gcs="tokyo" lati_d="35.697805"/>
  </Point>
  <Line index="2">
    <ArrivalState>
      <Datetime operation="today">18:00:00+09:00</Datetime>
    </ArrivalState>
    <DepartureState>
      <Datetime operation="today">17:58:00+09:00</Datetime>
    </DepartureState>
  </Line>
  <Point index="3">
    <Station code="22790">
      <Name>高田馬場</Name>
      <Type>train</Type>
      <Yomi>たかだのばば</Yomi>
    </Station>
    <Prefecture code="13">
      <Name>東京都</Name>
    </Prefecture>
    <GeoPoint longi="139.42.27.0" lati="35.42.36.39" longi_d="139.7075" gcs="tokyo" lati_d="35.710111"/>
  </Point>
  <Line index="3">
    <ArrivalState>
      <Datetime operation="today">18:02:00+09:00</Datetime>
    </ArrivalState>
    <DepartureState>
      <Datetime operation="today">18:00:00+09:00</Datetime>
    </DepartureState>
  </Line>
  <Point index="4">
    <Station code="23019">
      <Name>目白</Name>
      <Type>train</Type>
      <Yomi>めじろ</Yomi>
    </Station>
    <Prefecture code="13">
      <Name>東京都</Name>
    </Prefecture>
    <GeoPoint longi="139.42.35.29" lati="35.43.4.69" longi_d="139.709805" gcs="tokyo" lati_d="35.717972"/>
  </Point>
  <Line index="4">
    <ArrivalState>
      <Datetime operation="today">18:05:00+09:00</Datetime>
    </ArrivalState>
    <DepartureState>
      <Datetime operation="today">18:02:00+09:00</Datetime>
    </DepartureState>
  </Line>
  <Point index="5">
    <Station code="22513">
      <Name>池袋</Name>
      <Type>train</Type>
      <Yomi>いけぶくろ</Yomi>
    </Station>
    <Prefecture code="13">
      <Name>東京都</Name>
    </Prefecture>
    <GeoPoint longi="139.42.51.69" lati="35.43.36.9" longi_d="139.714361" gcs="tokyo" lati_d="35.726694"/>
  </Point>
</ResultSet>