/hu-gtfs

Tools for creating GTFS feeds for various hungarian transit operators using OpenStreetMap data

Primary LanguagePerlOtherNOASSERTION

A small framework for creating GTFS timetables using OpenStreetMap
geographic data.

Parts:

./bin/hugtfs.pl
	A CLI interface to the various features supported by hu-gtfs:
	* downloading agency data
	* parsing agency data
	* outputting gtfs
	* merging feeds
	* importing feeds into a PostgreSQL/PostGIS db
	* "deploying" feeds (used for data.flaktack.net/transit)
	* creating a KML of stops in a feed, with route stop there
	* creating an SVG of trips in a feed

./feeds/*
	Static files/timetables needed for creating feeds.

./lib/HuGTFS/FeedManager/*
	An assortment of "FeedManagers" which download & parse/create
	agency data into partial GTFS data.

./lib/HuGTFS/Cal.pm
	Various utility methods for working with services

./lib/HuGTFS/Crawler.pm
	Simple crawler for downloading transit agency data.

./lib/HuGTFS/Dumper.pm
	Code to dump perl objects into a gtfs feed.

./lib/HuGTFS/KML.pm
./lib/HuGTFS/SVG.pm
	Code to create KML/SVG files of feeds

./lib/HuGTFS/OSMMerger.pm
	Code to extract route data from OSM, and then merge it with
	the available GTFS data.
	Currently only parses data from the older, Hungarian only
	line_variant relations:
	http://wiki.openstreetmap.org/wiki/WikiProject_Hungary/T%C3%B6megk%C3%B6zleked%C3%A9s
	But can easily be modified to use proposed, newer route_variant
	relations:
	http://wiki.openstreetmap.org/wiki/Proposed_features/Public_Transport#Voting

./lib/HuGTFS/ShapeFinder.pm
	Code to create shapes for trips using OSRM.
	Requires a modified copy of ORSM: https://github.com/flaktack/Project-OSRM/tree/localchanges

./lib/HuGTFS/Util.pm
	Random utility methods.
	
./util/db-schema.sql
	The DB schema used by the WFS & hugtfs.pl DB importer.

****

Required perl modules:

Debian packaged:
	Calendar::Simple
	Log::Log4perl
	App::Rad
	DBI
	DBD::Pg
	Text::CSV::Encoded
	YAML
	Archive::Zip
	XML::Twig
	XML::Writer
	IO::String
	Digest:JHash
	Class::Accessor
	SVG
	Text::Markdown
	WWW::Mechanize
	Text::Unidecode
	Mouse
	Geo::Distance
	DBD::CSV
	
Non-packaged:
	Geo::KML
		XML::Compile
		XML::Compile::Cache
	App::Rad::ConfigLoader
	DateTime
	XML::LibXML
	Data::Peek
	JSON
	Algorithm::QuadTree