Anúncio
Anúncio

Mais conteúdo relacionado

Similar a 駅すぱあとWebサービスで魔法使いになったお客さんの話(20)

Anúncio

Mais de 英明 伊藤(19)

Último(20)

Anúncio

駅すぱあとWebサービスで魔法使いになったお客さんの話

  1. 駅すぱあとWebサービスで 魔法使いになったお客さんの話 株式会社ヴァル研究所 マーケティングテクノロジー部 システムソリューション開発チーム 伊藤英明
  2. 1 ・名前:伊藤英明 ・⼊社年:2014年 (Valは2社⽬、社会⼈歴は15年⽬) ・趣味:娘(4歳)と遊ぶ、ミニ四駆 ・認定、資格:⼈間中⼼設計専⾨家 認定プロダクトオーナー 認定スクラムマスター ⾃⼰紹介
  3. 「RODEM」のプロダクトオーナー 2 ⾃⼰紹介
  4. コンカーさんに導⼊いただいています 3
  5. RODEMの精算データ連携先の⼀つでもあります 4 カレンダー&RODEM
  6. 5 コンカーの担当者様が 米国本社に対してデモを 実施した時の話
  7. コンカージャパンの担当者が本国の上司から 「Youはいつから魔法使いになったんだ?」 と⾔われる ああああああああああ コンカージャパンさんが本国のコンカーにデモした 時の話 6 ※イメージです (……すごい!)
  8. 7 Youはいつから 魔法使いに なったんだ !? ※イメージです
  9. 8 “十分に発達した科学技術は、 魔法と見分けがつかない” アーサー・C・クラーク(SF作家)
  10. Concur Japan Partner Award 受賞 9
  11. RODEMの中で駅すぱあとwebサービスはどう動いているか 10
  12. 11 1.カレンダーからの訪問先指定 2.経路探索時の定期区間割当 3.算出した経路の変更 RODEMの中で駅すぱあとwebサービスはどう動いているか
  13. 1.カレンダーからの訪問先指定 12
  14. 13 ・カレンダーに⾏き先名が登録される ・⾏き先検索ロジックにより曖昧さを吸収し、DBを検索 ・企業名を正規化 --- ここまで、RODEMオリジナルの処理 --- ・企業名のみでは⾏き先として不⼗分なため、経路探索に必要な情報へ適切に変換 ・法⼈番号データベースより、企業の住所を抜き出す ・住所から周辺の出発駅候補、到着駅候補への変換は「住所情報からの周辺駅検索」で処理 http://docs.ekispert.com/v1/api/address/station.html 1.カレンダーからの訪問先指定
  15. 14 ただ、ここで取得できるDistanceは指定した住所と駅までの直線距離となるため、徒歩区 間の所要時間を正しく算出できない。 そのため、下記の処理に変更 1.GeOAPを利⽤して住所を緯度経度に変換 2.「緯度経度からの周辺駅検索」で http://docs.ekispert.com/v1/api/geo/station.html 1.カレンダーからの訪問先指定
  16. 15 3.GeOAPで取得した緯度経度と駅までの徒歩距離を取得 4.歩くスピードにより徒歩時間を算出 5.地点⽣成を利⽤して探索出来る地点データに変換 http://docs.ekispert.com/v1/api/toolbox/course/point.html 6.経路探索へ 1.カレンダーからの訪問先指定
  17. 16 1.カレンダーからの訪問先指定 ⾃社 (出発地) 顧客 (到着地) ⼀定範囲内の 出発駅候補 ⼀定範囲内の 到着駅候補
  18. 2.経路探索時の定期区間割当 17
  19. 2.経路探索時の定期区間割当 18 経路探索はもちろん「経路探索」を利⽤。 http://docs.ekispert.com/v1/api/search/course/extreme.html ただ、ここで定期区間の割当のため、ちょっとチューニングを⾏っています。
  20. 2.経路探索時の定期区間割当 19 定期区間の割当は「経路検索」のassignDetailRouteを使えば簡単に実装できます。 ただ、これだと複数⼈で移動する場合、かつ、持っている定期区間が異なっていた場合、 こんなことにもなりかねません。 メンバー1:A駅〜B駅〜C駅(定期持っていない) メンバー2:A駅〜D駅〜C駅(A駅〜D駅の定期を持っているので) やはり、持っている定期を使ったほうが安くなることもあるので、「わざと遠回り」 したり「同じ⾏き先なのに乗る電⾞が違う」という問題が発⽣し、「予定に間に合わ なかった」という問題が発⽣することも考えられます。
  21. 2.経路探索時の定期区間割当 20 そのため、RODEMでは下記のように定期を割り当てています。 1.assignDetailRouteを指定せずに経路探索をし、その経路再現情報(シリアライズ データ)を取得 2.「経路の再現/定期券・指定列⾞利⽤」に取得したシリアライズデータと assignDetailRouteを渡す http://docs.ekispert.com/v1/api/course/edit.html 3.定期区間控除後の運賃が取得できた場合は、この経路を採⽤する
  22. 3.算出した経路の変更 21
  23. 3.算出した経路の変更 22 RODEMでは⾃動でカレンダーに移動予定を反映する関係上、まずは単⼀の経路のみ出⼒ しています。 これは「⼀番早くつく経路」もしくは「⼀番安い経路」の2つなのですが、場合によって は異なる経路を使ったり、時間をずらしたりしたいこともある。 この経路変更についてはWebサービスの「HTML5 インターフェースサンプル」を利⽤し ています。 https://github.com/EkispertWebService/GUI/
  24. 3.算出した経路の変更 23 サンプルのメリットはやはり「経路表⽰に関するコードを書かなくて良くなる」という ことです。 単純な発着駅のみを表⽰するだけであれば簡単なのですが、それだけではありません。 1.JRと私鉄のように運賃の切れ⽬は1区間ではなく複数区間にまたがっていることが ある 2.ICカードと普通のきっぷで⾦額が異なるが、切り替える機能がほしい 3.特急券を購⼊する場合、座席を指定する必要があるが、切り替える機能がほしい 4.乗り⼊れ路線など、「下⾞しないけど運賃上は別れている区間」みたいな複雑な ルールが有る 5.前のダイヤ、次のダイヤなど複数の追加機能がほしい 6.スマートフォンとPCでちょうど良い表⽰にしたい 7.その他いっぱい
  25. 24 RODEMでは基本的にサンプルをそのまま使っていますが、「徒歩だけで移動」、「⾞で の移動」を表現したいため、カスタマイズしました。 「HTML5 インターフェースサンプル」を直接編集するのではなく、別のJavaScriptを作 成し、上書きする形でカスタマイズしています。 3.算出した経路の変更
  26. 25 下記はRODEMでカスタマイズした例です。まずはWebサービスのレスポンスを参考に 徒歩⽤のJSONを作ります。 { "ResultSet": { "Course": { "Route": { "distance": "35", "timeWalk": "45", "Line": { "timeOnBoard": "45", "distance": "35", "Name": "徒歩", "Type": "walk", } }, "Point": [ { "Name": "出発地" }, { "Name": "⽬的地" } ] } } } } ※⼀部わかりやすいように加⼯しています 3.算出した経路の変更
  27. 26 setResult関数を利⽤してJSONを流し込みます。 ※setResult関数については下記のGitHubに説明があります。 https://github.com/EkispertWebService/GUI/wiki/html5_reference_Course すると、こんな感じで簡単に徒歩経路が表⽰できます。 3.算出した経路の変更
  28. RODEMの中で駅すぱあとwebサービスはどう動いているか 27 「RODEM powered by 駅すぱあと」と⾔って差し⽀えないサービス
  29. 28 ところで
  30. 29 Youも魔法使いに なりたくないか?
  31. 30 RODEMを契約して 魔(以下略)
  32. 31 この際、契約 しなくてもいいです
  33. 無料トライアルあります 32 RODEM 検索
  34. ご清聴ありがとうございました
Anúncio