SlideShare a Scribd company logo
DB屋が見たGTFS-JP
ファーストインプレッション
「なんじゃこりゃぁ!」
GTFS勉強会 #1
2019/04/20
(有)アートライ
坂井 恵 (@sakaik)
はじめに(おことわり)
本セッションでは、GTFSのデータフォー
マットについて、講演者が感じた事柄を率
直にお話しますが、これにはGTFS自体の
価値を毀損する意図を含んでおりません。
講演者はGTFSに対して敬意と愛情を以て
接しており、将来的な期待とともに、広く
GTFSのデータフォーマットに対する理解
が浸透することを願って本講演を行ってお
ります。
自己紹介
• 坂井 恵(さかいけい) @sakaik
• 有限会社アートライ 代表取締役
• since 1998
• いわゆる「ひとり会社ごっこ」
• 業務分析や問題解決に強み
• その根幹にあるのが「データ構造」への理解
• 日本MySQLユーザ会 副代表
• いわゆるオープンソースのボランティア活動
• データベース大好き
・GTFSについて
• この分野は素人ですが・・・(本当)(本当に本当)
自己紹介 (インタビューなど)
https://employment.en-japan.com/engineerhub/entry/2018/06/22/110000
自己紹介(私のスタンス)
動いているものは、えらい!
いくら、
「ここはこうしたほうが・・・」とか
「この部分がイケてないんだよね」とか
外野が言ったところで、
実際に目の前で動くものを提供している人が、
いちばんえらいです!
※画像はイメージ
GTFS-JP データフォーマット
注:上記引用したデータフォーマットは「初版」のものです。
ZIPファイル
このGTFS-JPファイル群
どうやって作る?
専用ツールに
手入力
変換
ツール
RDBMS
テキス
トファ
イル
GTFS
ファイ
ル群
GTFS
ファイ
ル群
GTFS
ファイ
ル群
GTFS
ファイ
ル群
Excel
ファイル
抽出・加工
ZIPファイル
このGTFS-JPファイル群
どうやって作る?
専用ツールに
手入力
変換
ツール
RDBMS
テキス
トファ
イル
GTFS
ファイ
ル群
GTFS
ファイ
ル群
GTFS
ファイ
ル群
GTFS
ファイ
ル群
Excel
ファイル
抽出・加工
GTFS-JPフォーマットをそ
のままRDBMSに格納する?
• たぶん、そうじゃないほうが良い
• GTFSは「データ受け渡し用フォーマット」
• データを「安全に格納する」考え方とは異なる
DB屋が見たGTFS-JP
ファーストインプレッション
とか 難しいタテマエは置いといて
事故発生!!!
資料作成途中に、いつの間にか、参照していた手元
の「標準的なバスフォーマット仕様書」が、
2版から 初版に入れ替わってしまっていました。
昨晩(深夜)に気づき、なるべくリカバリにつとめま
したが、参照先が混乱しているもの、2版では変更
されているものがあるかもしれません。
ご了承ください。
(1)経路は時刻とともに?
まず バス停の集合があり、
そのバス停をつないだ路線があり、
その路線に時刻が乗っかる
・・・・かと思っていたら!!→
(1)経路は時刻とともに?
• 時刻情報がないと、バス停の停車順序を記述できない!!
• これって『「大学の先生」「授業科目」が定義されているけど実
際の受講生が現れないと、どの先生がなんの授業をやるかを表せ
ない』という事例(悪い例として使われる)に似ている!
(1)経路は時刻とともに?
• 時刻情報がないと、バス停の停車順序を記述できない!!
• これって『「大学の先生」「授業科目」が定義されているけど実
際の受講生が現れないと、どの先生がなんの授業をやるかを表せ
ない』という事例(悪い例として使われる)に似ている!
結構
カルチャー
ショック!
(2)標柱とバス停
合わせて「団地前」
合わせて「○○駅」
(2)標柱とバス停
• まさか、同じテーブルに押し込むなんて・・・
←ここで見分ける(0が標柱)
stop_idにより外部から参照さ
れる際に「location_type=0の
ものしか参照してはならな
い」みたいなルールが発生し
ている。おかしい。
(3)道順(経路)のキーが…
• キー(★印)とは、ユニークキー(PK)のこと
なのですが・・・・
shape_id と sequence の複合キー
とするのが、たぶん正しい。
ひとつの shape_id について、sequence
順にバス停を示しているものなので、
shape_id ではユニークにならない。
これは、仕様書が間違っている状態(複合キーとすべき)であること
が公知(?)であると、発表中に教えていただきました!
(4)IDが文字列複合ID
• 1031_10_01 とか、イヤ!!!
• 複数のカラムの値を組み合わせることでユニー
クにする方向でひとつ。(1カラムにまとめる
必要はない)
※講演時間がたりないので、主張のみ
その他 気づいた誤植など(1)
P. 29
P. 29
「初版」
の内容
(第2版では、このサンプル
データの記述全体が廃止され
てしまいました。少し残念)
その他 気づいた誤植など(2)
P. 25
正しくは60番
「初版」
の内容
その他 気づいた課題
• 位置情報について、測地系を明示する項目がない!?
• 測地系がないとはどういうことかというと・・・
• 「80度の液体」熱い?ぬるい?
• →摂氏なら結構熱いし、華氏なら結構ぬるい
• 現在の日本で主に使われている JGD2011 なら、
米国(Googleなども)で使われている WGS84 と
実用レベルで、ほぼ差はない
• 2001年まで日本で使われていた Tokyo測地系だと、
かなり違います
GTFS-JPには書かれていないが、本家GTFSのほうには「WGS84」と明記され
ている事を、発表中に教えていただきました!(固定なんですね)
JPの仕様書にも明記してほしいところです。
Tokyo測地系での東経135度↑ ↑JGD2011での東経135度
Tokyo測地系と
JGD2011
こんなに違う
(地理院地図)
まとめと補足
• DB屋目線で、GPFSフォーマットは、ツッコミどころ
満載で楽しい
• たぶん、サンプルデータとおいしいお酒とともに、語
り明かせそう
• GTFSは、転送用フォーマットなので、データを受け
取って利用する側に使いやすいことを考えているのか
なとも思うので、これ自体が悪いとは思わない
• 格納フォーマットは、実際に今、どんなデータを持っ
ているか(=データ発生源)によって変化します。今
日の話は、白紙ベースでの思考実験として参考にな
さってください
今回聞かせていただいた発表の中にも、GTFSのフォーマットのままテーブルを作って
いるという事例がありましたが、それは、手持ちのデータ(入力データ)がその形式で
用意されており、特に大きな加工もなく、そのままの形で出力に供したいという話なの
で、そのケースでは最適な判断だと思っています。
ありがとうございました
DB屋が見たGTFS-JP
ファーストインプレッション
「なんじゃこりゃぁ!」
2019/04/20
(有)アートライ
坂井 恵 (@sakaik)

More Related Content

More from sakaik

MySQL8.0.20リリースノートをみてわいわい言う勉強会
MySQL8.0.20リリースノートをみてわいわい言う勉強会MySQL8.0.20リリースノートをみてわいわい言う勉強会
MySQL8.0.20リリースノートをみてわいわい言う勉強会
sakaik
 
MySQLと空間データ(GIS)
MySQLと空間データ(GIS)MySQLと空間データ(GIS)
MySQLと空間データ(GIS)
sakaik
 
令和元年のMySQL元年的話題~ニフクラミートアップ
令和元年のMySQL元年的話題~ニフクラミートアップ令和元年のMySQL元年的話題~ニフクラミートアップ
令和元年のMySQL元年的話題~ニフクラミートアップ
sakaik
 
MySQLで扱う空間情報のきほん~MySQL Cafe #6
MySQLで扱う空間情報のきほん~MySQL Cafe #6MySQLで扱う空間情報のきほん~MySQL Cafe #6
MySQLで扱う空間情報のきほん~MySQL Cafe #6
sakaik
 
LOVE三角点~FOSS4G Niigata(2019) ライトニングトーク
LOVE三角点~FOSS4G Niigata(2019) ライトニングトークLOVE三角点~FOSS4G Niigata(2019) ライトニングトーク
LOVE三角点~FOSS4G Niigata(2019) ライトニングトーク
sakaik
 
札幌の人に知ってもらいたい三角点の話~FOSS4G2019 Hokkaido LT
札幌の人に知ってもらいたい三角点の話~FOSS4G2019 Hokkaido LT札幌の人に知ってもらいたい三角点の話~FOSS4G2019 Hokkaido LT
札幌の人に知ってもらいたい三角点の話~FOSS4G2019 Hokkaido LT
sakaik
 
OSC2019-Hamanko LT 浜松の[三角点の]紹介
OSC2019-Hamanko LT 浜松の[三角点の]紹介OSC2019-Hamanko LT 浜松の[三角点の]紹介
OSC2019-Hamanko LT 浜松の[三角点の]紹介
sakaik
 
MySQLとGISと私・この1年~MySQL Innovation Day LT
MySQLとGISと私・この1年~MySQL Innovation Day LTMySQLとGISと私・この1年~MySQL Innovation Day LT
MySQLとGISと私・この1年~MySQL Innovation Day LT
sakaik
 
MySQL 8.0 にGIS機能がやってきた~ライトニングトーク~
MySQL 8.0 にGIS機能がやってきた~ライトニングトーク~MySQL 8.0 にGIS機能がやってきた~ライトニングトーク~
MySQL 8.0 にGIS機能がやってきた~ライトニングトーク~
sakaik
 
MySQL 8.0 で強化されたGIS機能のご紹介 @ FOSS4G Okayama
MySQL 8.0 で強化されたGIS機能のご紹介 @ FOSS4G Okayama MySQL 8.0 で強化されたGIS機能のご紹介 @ FOSS4G Okayama
MySQL 8.0 で強化されたGIS機能のご紹介 @ FOSS4G Okayama
sakaik
 
MySQL8.0の「地理情報」を理解しよう入門~いまからはじめるGIS
MySQL8.0の「地理情報」を理解しよう入門~いまからはじめるGISMySQL8.0の「地理情報」を理解しよう入門~いまからはじめるGIS
MySQL8.0の「地理情報」を理解しよう入門~いまからはじめるGIS
sakaik
 
2018夏ClubDb2呑み会@ノムノ~ClubMySQLの紹介とか~
2018夏ClubDb2呑み会@ノムノ~ClubMySQLの紹介とか~2018夏ClubDb2呑み会@ノムノ~ClubMySQLの紹介とか~
2018夏ClubDb2呑み会@ノムノ~ClubMySQLの紹介とか~
sakaik
 
周辺知識から理解するMySQL の GIS機能 ~ClubMySQL #4
周辺知識から理解するMySQL の GIS機能 ~ClubMySQL #4周辺知識から理解するMySQL の GIS機能 ~ClubMySQL #4
周辺知識から理解するMySQL の GIS機能 ~ClubMySQL #4
sakaik
 
MySQLのGIS機能とか超入門 ~MyNA会2018年7月
MySQLのGIS機能とか超入門 ~MyNA会2018年7月MySQLのGIS機能とか超入門 ~MyNA会2018年7月
MySQLのGIS機能とか超入門 ~MyNA会2018年7月
sakaik
 
追加参考資料:MySQLにGIS機能がやってきた@OSC2018北海道
追加参考資料:MySQLにGIS機能がやってきた@OSC2018北海道追加参考資料:MySQLにGIS機能がやってきた@OSC2018北海道
追加参考資料:MySQLにGIS機能がやってきた@OSC2018北海道
sakaik
 
MySQLに本格GIS機能がやってきた~MySQL8.0最新情報~@OSC2018北海道
MySQLに本格GIS機能がやってきた~MySQL8.0最新情報~@OSC2018北海道MySQLに本格GIS機能がやってきた~MySQL8.0最新情報~@OSC2018北海道
MySQLに本格GIS機能がやってきた~MySQL8.0最新情報~@OSC2018北海道
sakaik
 
OSC2017 Hokkaido. MySQL今こそインストールを極めよう~改めて考える環境構築~
OSC2017 Hokkaido. MySQL今こそインストールを極めよう~改めて考える環境構築~OSC2017 Hokkaido. MySQL今こそインストールを極めよう~改めて考える環境構築~
OSC2017 Hokkaido. MySQL今こそインストールを極めよう~改めて考える環境構築~
sakaik
 
OSC2017 Nagoya これからデータベースmysqlを始める人のため
OSC2017 Nagoya これからデータベースmysqlを始める人のためOSC2017 Nagoya これからデータベースmysqlを始める人のため
OSC2017 Nagoya これからデータベースmysqlを始める人のため
sakaik
 
いまいまMySQL@OSC2016福岡
いまいまMySQL@OSC2016福岡いまいまMySQL@OSC2016福岡
いまいまMySQL@OSC2016福岡
sakaik
 
いまいまMySQL@OSC2016長岡
いまいまMySQL@OSC2016長岡いまいまMySQL@OSC2016長岡
いまいまMySQL@OSC2016長岡
sakaik
 

More from sakaik (20)

MySQL8.0.20リリースノートをみてわいわい言う勉強会
MySQL8.0.20リリースノートをみてわいわい言う勉強会MySQL8.0.20リリースノートをみてわいわい言う勉強会
MySQL8.0.20リリースノートをみてわいわい言う勉強会
 
MySQLと空間データ(GIS)
MySQLと空間データ(GIS)MySQLと空間データ(GIS)
MySQLと空間データ(GIS)
 
令和元年のMySQL元年的話題~ニフクラミートアップ
令和元年のMySQL元年的話題~ニフクラミートアップ令和元年のMySQL元年的話題~ニフクラミートアップ
令和元年のMySQL元年的話題~ニフクラミートアップ
 
MySQLで扱う空間情報のきほん~MySQL Cafe #6
MySQLで扱う空間情報のきほん~MySQL Cafe #6MySQLで扱う空間情報のきほん~MySQL Cafe #6
MySQLで扱う空間情報のきほん~MySQL Cafe #6
 
LOVE三角点~FOSS4G Niigata(2019) ライトニングトーク
LOVE三角点~FOSS4G Niigata(2019) ライトニングトークLOVE三角点~FOSS4G Niigata(2019) ライトニングトーク
LOVE三角点~FOSS4G Niigata(2019) ライトニングトーク
 
札幌の人に知ってもらいたい三角点の話~FOSS4G2019 Hokkaido LT
札幌の人に知ってもらいたい三角点の話~FOSS4G2019 Hokkaido LT札幌の人に知ってもらいたい三角点の話~FOSS4G2019 Hokkaido LT
札幌の人に知ってもらいたい三角点の話~FOSS4G2019 Hokkaido LT
 
OSC2019-Hamanko LT 浜松の[三角点の]紹介
OSC2019-Hamanko LT 浜松の[三角点の]紹介OSC2019-Hamanko LT 浜松の[三角点の]紹介
OSC2019-Hamanko LT 浜松の[三角点の]紹介
 
MySQLとGISと私・この1年~MySQL Innovation Day LT
MySQLとGISと私・この1年~MySQL Innovation Day LTMySQLとGISと私・この1年~MySQL Innovation Day LT
MySQLとGISと私・この1年~MySQL Innovation Day LT
 
MySQL 8.0 にGIS機能がやってきた~ライトニングトーク~
MySQL 8.0 にGIS機能がやってきた~ライトニングトーク~MySQL 8.0 にGIS機能がやってきた~ライトニングトーク~
MySQL 8.0 にGIS機能がやってきた~ライトニングトーク~
 
MySQL 8.0 で強化されたGIS機能のご紹介 @ FOSS4G Okayama
MySQL 8.0 で強化されたGIS機能のご紹介 @ FOSS4G Okayama MySQL 8.0 で強化されたGIS機能のご紹介 @ FOSS4G Okayama
MySQL 8.0 で強化されたGIS機能のご紹介 @ FOSS4G Okayama
 
MySQL8.0の「地理情報」を理解しよう入門~いまからはじめるGIS
MySQL8.0の「地理情報」を理解しよう入門~いまからはじめるGISMySQL8.0の「地理情報」を理解しよう入門~いまからはじめるGIS
MySQL8.0の「地理情報」を理解しよう入門~いまからはじめるGIS
 
2018夏ClubDb2呑み会@ノムノ~ClubMySQLの紹介とか~
2018夏ClubDb2呑み会@ノムノ~ClubMySQLの紹介とか~2018夏ClubDb2呑み会@ノムノ~ClubMySQLの紹介とか~
2018夏ClubDb2呑み会@ノムノ~ClubMySQLの紹介とか~
 
周辺知識から理解するMySQL の GIS機能 ~ClubMySQL #4
周辺知識から理解するMySQL の GIS機能 ~ClubMySQL #4周辺知識から理解するMySQL の GIS機能 ~ClubMySQL #4
周辺知識から理解するMySQL の GIS機能 ~ClubMySQL #4
 
MySQLのGIS機能とか超入門 ~MyNA会2018年7月
MySQLのGIS機能とか超入門 ~MyNA会2018年7月MySQLのGIS機能とか超入門 ~MyNA会2018年7月
MySQLのGIS機能とか超入門 ~MyNA会2018年7月
 
追加参考資料:MySQLにGIS機能がやってきた@OSC2018北海道
追加参考資料:MySQLにGIS機能がやってきた@OSC2018北海道追加参考資料:MySQLにGIS機能がやってきた@OSC2018北海道
追加参考資料:MySQLにGIS機能がやってきた@OSC2018北海道
 
MySQLに本格GIS機能がやってきた~MySQL8.0最新情報~@OSC2018北海道
MySQLに本格GIS機能がやってきた~MySQL8.0最新情報~@OSC2018北海道MySQLに本格GIS機能がやってきた~MySQL8.0最新情報~@OSC2018北海道
MySQLに本格GIS機能がやってきた~MySQL8.0最新情報~@OSC2018北海道
 
OSC2017 Hokkaido. MySQL今こそインストールを極めよう~改めて考える環境構築~
OSC2017 Hokkaido. MySQL今こそインストールを極めよう~改めて考える環境構築~OSC2017 Hokkaido. MySQL今こそインストールを極めよう~改めて考える環境構築~
OSC2017 Hokkaido. MySQL今こそインストールを極めよう~改めて考える環境構築~
 
OSC2017 Nagoya これからデータベースmysqlを始める人のため
OSC2017 Nagoya これからデータベースmysqlを始める人のためOSC2017 Nagoya これからデータベースmysqlを始める人のため
OSC2017 Nagoya これからデータベースmysqlを始める人のため
 
いまいまMySQL@OSC2016福岡
いまいまMySQL@OSC2016福岡いまいまMySQL@OSC2016福岡
いまいまMySQL@OSC2016福岡
 
いまいまMySQL@OSC2016長岡
いまいまMySQL@OSC2016長岡いまいまMySQL@OSC2016長岡
いまいまMySQL@OSC2016長岡
 

Recently uploaded

ハイブリッドクラウド研究会_Hyper-VとSystem Center Virtual Machine Manager セッションMM
ハイブリッドクラウド研究会_Hyper-VとSystem Center Virtual Machine Manager セッションMMハイブリッドクラウド研究会_Hyper-VとSystem Center Virtual Machine Manager セッションMM
ハイブリッドクラウド研究会_Hyper-VとSystem Center Virtual Machine Manager セッションMM
osamut
 
Generating Automatic Feedback on UI Mockups with Large Language Models
Generating Automatic Feedback on UI Mockups with Large Language ModelsGenerating Automatic Feedback on UI Mockups with Large Language Models
Generating Automatic Feedback on UI Mockups with Large Language Models
harmonylab
 
「進化するアプリ イマ×ミライ ~生成AIアプリへ続く道と新時代のアプリとは~」Interop24Tokyo APPS JAPAN B1-01講演
「進化するアプリ イマ×ミライ ~生成AIアプリへ続く道と新時代のアプリとは~」Interop24Tokyo APPS JAPAN B1-01講演「進化するアプリ イマ×ミライ ~生成AIアプリへ続く道と新時代のアプリとは~」Interop24Tokyo APPS JAPAN B1-01講演
「進化するアプリ イマ×ミライ ~生成AIアプリへ続く道と新時代のアプリとは~」Interop24Tokyo APPS JAPAN B1-01講演
嶋 是一 (Yoshikazu SHIMA)
 
ロジックから状態を分離する技術/設計ナイト2024 by わいとん @ytnobody
ロジックから状態を分離する技術/設計ナイト2024 by わいとん @ytnobodyロジックから状態を分離する技術/設計ナイト2024 by わいとん @ytnobody
ロジックから状態を分離する技術/設計ナイト2024 by わいとん @ytnobody
azuma satoshi
 
生成AIがもたらすコンテンツ経済圏の新時代  The New Era of Content Economy Brought by Generative AI
生成AIがもたらすコンテンツ経済圏の新時代  The New Era of Content Economy Brought by Generative AI生成AIがもたらすコンテンツ経済圏の新時代  The New Era of Content Economy Brought by Generative AI
生成AIがもたらすコンテンツ経済圏の新時代  The New Era of Content Economy Brought by Generative AI
Osaka University
 
論文紹介:Deep Learning-Based Human Pose Estimation: A Survey
論文紹介:Deep Learning-Based Human Pose Estimation: A Survey論文紹介:Deep Learning-Based Human Pose Estimation: A Survey
論文紹介:Deep Learning-Based Human Pose Estimation: A Survey
Toru Tamaki
 
Humanoid Virtual Athletics Challenge2024 技術講習会 スライド
Humanoid Virtual Athletics Challenge2024 技術講習会 スライドHumanoid Virtual Athletics Challenge2024 技術講習会 スライド
Humanoid Virtual Athletics Challenge2024 技術講習会 スライド
tazaki1
 

Recently uploaded (7)

ハイブリッドクラウド研究会_Hyper-VとSystem Center Virtual Machine Manager セッションMM
ハイブリッドクラウド研究会_Hyper-VとSystem Center Virtual Machine Manager セッションMMハイブリッドクラウド研究会_Hyper-VとSystem Center Virtual Machine Manager セッションMM
ハイブリッドクラウド研究会_Hyper-VとSystem Center Virtual Machine Manager セッションMM
 
Generating Automatic Feedback on UI Mockups with Large Language Models
Generating Automatic Feedback on UI Mockups with Large Language ModelsGenerating Automatic Feedback on UI Mockups with Large Language Models
Generating Automatic Feedback on UI Mockups with Large Language Models
 
「進化するアプリ イマ×ミライ ~生成AIアプリへ続く道と新時代のアプリとは~」Interop24Tokyo APPS JAPAN B1-01講演
「進化するアプリ イマ×ミライ ~生成AIアプリへ続く道と新時代のアプリとは~」Interop24Tokyo APPS JAPAN B1-01講演「進化するアプリ イマ×ミライ ~生成AIアプリへ続く道と新時代のアプリとは~」Interop24Tokyo APPS JAPAN B1-01講演
「進化するアプリ イマ×ミライ ~生成AIアプリへ続く道と新時代のアプリとは~」Interop24Tokyo APPS JAPAN B1-01講演
 
ロジックから状態を分離する技術/設計ナイト2024 by わいとん @ytnobody
ロジックから状態を分離する技術/設計ナイト2024 by わいとん @ytnobodyロジックから状態を分離する技術/設計ナイト2024 by わいとん @ytnobody
ロジックから状態を分離する技術/設計ナイト2024 by わいとん @ytnobody
 
生成AIがもたらすコンテンツ経済圏の新時代  The New Era of Content Economy Brought by Generative AI
生成AIがもたらすコンテンツ経済圏の新時代  The New Era of Content Economy Brought by Generative AI生成AIがもたらすコンテンツ経済圏の新時代  The New Era of Content Economy Brought by Generative AI
生成AIがもたらすコンテンツ経済圏の新時代  The New Era of Content Economy Brought by Generative AI
 
論文紹介:Deep Learning-Based Human Pose Estimation: A Survey
論文紹介:Deep Learning-Based Human Pose Estimation: A Survey論文紹介:Deep Learning-Based Human Pose Estimation: A Survey
論文紹介:Deep Learning-Based Human Pose Estimation: A Survey
 
Humanoid Virtual Athletics Challenge2024 技術講習会 スライド
Humanoid Virtual Athletics Challenge2024 技術講習会 スライドHumanoid Virtual Athletics Challenge2024 技術講習会 スライド
Humanoid Virtual Athletics Challenge2024 技術講習会 スライド
 

GTFS勉強会#1 DB屋が見たGTFS-JP ファースト・インプレッション