Giter Site home page Giter Site logo

helldangline's Introduction

2019-01-웹/파이썬프로그래밍 Term Project 헬당선

  • 지하철 시간표상의 도착 시간과 실제 지하철 도착시간 비교

지하철 노선 코드

  • 1001 : 1호선
  • 1002 : 2호선
  • 1003 : 3호선
  • 1004 : 4호선
  • 1005 : 5호선
  • 1006 : 6호선
  • 1007 : 7호선
  • 1008 : 8호선
  • 1009 : 9호선
  • 1063 : 경의중앙선
  • 1065 : 공항철도
  • 1067 : 경춘선
  • 1071 : 수인선
  • 1075 : 분당선
  • 1077 : 신분당선

python

  • metroIds.py : 지하철 노선 코드와 역 ID, 역명 획득
  • metroCodes.py : data/metroId에 역코드, 역외부코드 추가
  • metroIdTimetable.py : 서울시 지하철 API를 바탕으로 지하철역별 시간표 획득
  • metroLocation.py : 서울시 지하철 API를 바탕으로 지하철 노선별 위치정보 획득
  • metroArrival.py : 서울시 대중교통 API를 바탕으로 지하철 역별 도착정보 획득
  • getTimesum.py : 획득한 지하철 도착정보를 바탕으로 지하철 노선별, 역별, 열차번호별로 도착시간의 합 계산
  • getTimeaverage.py : getTimesum.py를 통해 획득한 지하철 도착시간의 평균 계산
  • getDifference.py : getTimeaverage.py를 통해 획득한 지하철 도착시간의 평균값과 지하철 시간표간의 오차 계산
  • getGraph.py : getDifference.py를 통해 획득한 오차를 지하철 역별로, 지하철 노선별로 계산(평일, 토요일, 일요일 구분) 후 그래프 이미지 저장
  • fixUpdownCode.py : 시간표상의 상/하행과 서울시 대중교통 API상의 상/하행이 서로 일치하지 않는 경우가 있어, 이미 수집된 데이터에 대해서 상/하행 코드 변경
  • editSeongsu.py : 유일하게 2호선 성수역에서 열차 번호가 중복되는 현상 발생, 실제 데이터는 성수역을 기점으로 하는 경우만 수집하기 때문에, 성수역의 시간표를 변경
  • deleteDuplicated.py : 데이터 수집시 열차의 위치와 상태가 변하지 않아 데이터의 중복발생, 이를 해결하기 위해 중복된 데이터를 제거하는 기능

data

data/raw

  • 가공전 원본 데이터 저장

data/metroId

  • 지하철 노선별로 지하철 노선 코드, 역 ID, 역명, 역코드, 역외부코드 저장

data/timetable

  • (지하철 노선 코드)_(역코드)_(요일)_(상/하행).csv
  • 열차 번호, 출발 역코드, 종착 역코드, 도착 시간, 출발 시간, 급행여부 저장

data/location/(date)

  • 지하철의 도착시간 데이터 저장
  • 역 ID, 열차 번호, 종착 역명, 도착 시간, 요일, 상/하행 저장

data/timesum

  • (지하철 노선 코드)_(역 ID)_(요일)_(상/하행).csv
  • 열차 번호, 종착 역명, 도착 시간의 합, 카운트 저장

data/timeaverage

  • (지하철 노선 코드)_(역 ID)_(요일)_(상/하행).csv
  • 열차 번호, 종착 역명, 도착 시간 평균, 카운트 저장

data/result

  • (지하철 노선 코드)_(역명)_(요일)_(상/하행).csv
  • 역명, 종착역, 오차(초), 시간표상의 도착시간

data/img

  • (지하철 노선 코드)_(요일).png : 해당 노선의 역별 해당 요일의 평균 오차 비교
  • all_(요일).png : 전체 노선의 평균 오차 비교
  • except_1063_(요일).png : 경의중앙선의 오차가 월등히 높아, 다른 노선과의 비교가 힘드니, 경의중앙선을 제외한 다른 노선의 평균 오차

helldangline's People

Contributors

jjuon avatar

Stargazers

 avatar  avatar Beomgoo Kim avatar Yong woo Song avatar

Watchers

James Cloos avatar Beomgoo Kim avatar

helldangline's Issues

시간표와 도착정보 매핑 방법

※시간표(노선코드_역코드_요일_상/하행.csv)
열차번호(코레일, 서울메트로 구분), 기점 역코드, 종점 역코드, 도착시간(기점인경우 0, 24시, 25시 반영 ,string), 출발시간(종점인 경우 0), 급행 여부
※도착정보(노선코드_역ID_요일_상/하행.csv)
열차번호(코레일, 서울메트로 구분 x), 종점 역명, 도착시간(int)

  1. 열차번호에서 K, S 빼고 비교
    i) 열차번호의 숫자부분 중복 가능성
    ii) K,S 만 빼면 되는것인지 -> str[1:]?
  2. 역명으로 비교
    i) 역코드 -> 역명 전환 => 가능
    ii) 시간표의 역명 == 도착정보의 역명? (부역명 문제)
    iii) 종점으로 쓰이는 역만 추출하여 ii)가 일치하는지 확인
  1. 시간표 파일과 도착정보 파일을 시간대로 정렬
    i) 시간표 파일의 경우 HH:MM:SS 형식 -> 초단위로 변경필요 => 가능
    ii) 시간표 파일의 정렬기준 모호
    - 도착시간 : 기점인 경우, 시간표는 0 이지만, 도착정보엔 없음
    - 출발시간 : 종점인 경우, 시간표 O, 도착정보 O, 출발시간 중요 x
    iii) 행선지를 비교하지 않기 때문에 같은 열차인지 확인 x

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.