대중교통 데이터 GTFS - RT 만져봐!
공중 교통
대중교통 개방 데이터 협의회에 참석한 경영자들이 보유한 데이터를 모아 대중에게 공개하는 서비스다.
철도를 필두로 버스, 비행기, 선박 등 정적, 동적 데이터를 이용할 수 있다.
도쿄도 교통국의 API를 사용해 보도록 하겠습니다.
사전 준비물
사전 준비물
액세스 토큰을 가져오는 방법
① 개발자 사이트 방문
② 계정 표시줄에서 액세스 영패 확인, 추가 페이지 열기 (이미지가 추가된 빨간색 상자)
③ 기본 응용 프로그램 표시줄의 접근 영패 복사 (추가 이미지의 검은 테이프 부분)
환경 구축
① GTFS Smart 도구 복제
단말
$ git clone https://github.com/Kaas59/GTFS-Python
② 액세스 토큰을 환경 변수로 설정단말
# 作業ディレクトリに入る
$ cd GTFS-Python
# .envファイルを作成
$ cp .env.sample .env
# .envファイルにアクセストークンをペースト
$ nano .env
.envtoken=ここにアクセストークンをペースト
② Docker 이미지 구축단말
# makeコマンド環境がある人
$ make build
# makeコマンド環境が無い人
$ docker-compose build
③ 컨테이너 가동단말
# makeコマンド環境がある人
$ make up
# makeコマンド環境が無い人
$ docker-compose up
④ 컨테이너 방문단말
# makeコマンド環境がある人
$ make exec
# makeコマンド環境が無い人
$ docker-compose exec python3 bash
시험적으로 사용하다
이번에 사용한 데이터는'도쿄도 교통국 버스의 위치 정보'다.
이 데이터는 GTFS-RT 형식으로 제공됩니다.또 데이터의 형식은 구글이 규정한'Protocol Buffers'의 형식으로 2진법으로 발송됐다.따라서 원형을 유지하면 사람이 읽을 수 없기 때문에 디코딩을 해서 이해할 수 있는 상태로 만들어야 한다.
실제 위치 정보 얻기
터미널 (컨테이너에서)
# makeコマンド環境がある人
$ make gtfs
# makeコマンド環境が無い人
$ python3 main.py
마지막
이번에 사용하는 대중교통 개방 데이터센터 외에도 다양한 데이터를 제공하는 곳이 있으니 꼭 사용하세요.
또한 "이번에 사용된 프로토콜에 대한 Buffers"
Protocol Buffers는 API를 통해 데이터를 보내기 전에 특정한 형식에 따라 인코딩되며, 통상적으로 이 형식을 모르면 디코딩이 상당히 어렵다.그러나 그 상세한 형식은 대중교통 오프 데이터 센터에서 공개되지 않았다.그러나 GTFS-JP와 국토교통성은 일본 형식의 샘플(구글이 나눠준 것과 동일)을 나눠주고 그곳을 이용해 장식할 수 있다.
Reference
이 문제에 관하여(대중교통 데이터 GTFS - RT 만져봐!), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/Kaas59/items/c2ee377a3fa5bad77fd3
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
Protocol Buffers는 API를 통해 데이터를 보내기 전에 특정한 형식에 따라 인코딩되며, 통상적으로 이 형식을 모르면 디코딩이 상당히 어렵다.그러나 그 상세한 형식은 대중교통 오프 데이터 센터에서 공개되지 않았다.그러나 GTFS-JP와 국토교통성은 일본 형식의 샘플(구글이 나눠준 것과 동일)을 나눠주고 그곳을 이용해 장식할 수 있다.
Reference
이 문제에 관하여(대중교통 데이터 GTFS - RT 만져봐!), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/Kaas59/items/c2ee377a3fa5bad77fd3텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)