Giter VIP home page Giter VIP logo

jdf2gtfs's Introduction

JDF2GTFS

Sada skriptů pro konverzi souborů z formátu JDF do formátu GTFS. Určeno pro Linux, testováno na Ubuntu. Předpokládá PostgreSQL databázi nebo možnost její instalace. Pro běh nad daty celé ČR vyžaduje alespoň 8GB RAM a 4GB místa na disku.

Instalace

  • naklonovat tento repozitář
  • nainstalovat PostgreSQL server a vytvořit databázi jdf, kterou vlastní uživatel spouštějící skripty
  • nainstalovat gcc, make, dos2unix, unzip,
  • nainstalovat moduly pythonu3: zipfile, psycopg2, csv
  • připravit soubor se souřadnicemi zastávek:
    • pořadí sloupců: stop_id, stop_name, stop_desc, stop_lat, stop_lon, stop_url, location_type, parent_station
    • stop_lat a stop_lon s desetinnou tečkou
    • sloupce odděleny středníkem
    • kódováno v UTF-8
  • uložit soubor jako data/bus_stops/bus_stops-utf.csv
  • naklonovat do hlavního adresáře repozitář gtfstools:
    • git clone https://github.com/xtompok/gtfstools

Použití

V ideálním případě zavoláme make a vše se provede automaticky a výstupní soubor typu GTFS je uložen do output/gtfs-bus-out.zip.

Průběh připravy dat

Samotný make vykonává postupně tyto činnosti (definované v Makefile):

  • stažení a rozbalení JDF pomocí skriptu download.sh
  • převedení textových souborů do UTF-8 s unixovými konci řádků pomocí skriptu to-utf.sh
  • přípravu databáze
    • vytvoření tabulek (a případné smazání starých) podle schema.sql
    • import jízdních řádů pomocí skriptu import-to-db
    • import pozic autobusových zastávek pomocí skriptu import-stop-po
    • vytvoření pohledů reprezentujících jednotlivé soubory v GTFS podle GTFS/views.sql
  • vytvoření výstupního souboru GTFS
    • vytvoření adresáře output
    • export z databáze a úprava formátů pomocí skriptu export.py
    • pročištění nepoužívaných zastávek a dalších entit pomocí postprocess.py
    • zabalení výstupních souborů do souboru gtfs-bus-out.zip

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.