Exemple #1
0
def bip_spot_load(directory):
    from . import Database, BipSpot
    kwargs = {'gtfs_directory': directory, 'is_geospatial': True}
    db = Database(**kwargs)
    BipSpot.add_geometry_column()
    BipSpot.__table__.create(bind=db.engine)
    BipSpot.load(db, **kwargs)
Exemple #2
0
def route_stop_load():
    """
    written as a test / debug method for RS table loader
    """
    from gtfsdb import Database, RouteStop
    kwargs = get_args()[1]
    db = Database(**kwargs)
    RouteStop.load(db, **kwargs)
Exemple #3
0
def current_tables_load(**kwargs):
    """
    current table loader
    """
    from gtfsdb import Database, CurrentRoutes, CurrentStops, CurrentRouteStops
    db = Database(**kwargs)
    for cls in [CurrentRoutes, CurrentRouteStops, CurrentStops]:
        db.create_table(cls)
        cls.post_process(db, **kwargs)
Exemple #4
0
def loadToDatabase(writedir, name, gtfsfile):
    db_type = "sqlite:///"
    suffix = ".sqlite"
    dbpath = writedir + "/" + name + suffix
    dbname = db_type + dbpath

    print "storing into database as " + dbname

    db = Database(dbname, None, False)
    db.create()
    gtfs = GTFS(gtfsfile)
    gtfs.load(db)

    return dbpath
Exemple #5
0
def db_connect_tester():
    """ simple routine to connect to an existing database and list a few stops
        bin/connect-tester --database_url sqlite:///gtfs.db _no_gtfs_zip_needed_
    """
    from gtfsdb import Database, Stop, Route, StopTime
    args, kwargs = get_args()
    db = Database(**kwargs)
    for s in db.session.query(Stop).limit(2):
        print s.stop_name
    for r in db.session.query(Route).limit(2):
        print r.route_name
    #import pdb; pdb.set_trace()
    stop_times = StopTime.get_departure_schedule(db.session, stop_id='11411')
    for st in stop_times:
        print st.get_direction_name()
        break
Exemple #6
0
def main(global_config, **ini_settings):
    """
    this function is the main entry point for pserve / Pyramid
    it returns a Pyramid WSGI application
    see setup.py entry points + config/*.ini [app:main] ala pserve (e.g., bin/pserve config/development.ini)
    """
    # import pdb; pdb.set_trace()
    app = AppConfig(**ini_settings)

    from gtfsdb import Database
    kw = app.gtfsdb_param_from_config()
    db = Database(**kw)
    app.set_db(db)

    from . import views
    app.config_include_scan(views)

    return app.make_wsgi_app()
Exemple #7
0
def database_load(filename, **kwargs):
    '''Basic API to load a GTFS zip file into a database

    arguments:
        filename: URL or local path to GTFS zip file

    keyword arguments:
        batch_size: record batch size for memory management
        is_geospatial: if database is support geo functions
        schema: database schema name
        tables: limited list of tables to load
        url: SQLAlchemy database url
    '''
    db = Database(**kwargs)
    db.create()
    gtfs = GTFS(filename)
    gtfs.load(db, **kwargs)
    return db