169 lines
7.6 KiB
Python
169 lines
7.6 KiB
Python
from sqlalchemy.sql import func
|
|
from sqlalchemy.dialects import postgresql
|
|
from webinterface import db
|
|
|
|
class ArchivosGTFS(db.Model):
|
|
__tablename__ = 'archivos'
|
|
__bind_key__ = 'gtfs_work'
|
|
id = db.Column(db.Integer, primary_key=True, nullable=False)
|
|
|
|
analisis = db.Column(db.Integer, default=0)
|
|
terminado = db.Column(db.Integer, default=0)
|
|
activo = db.Column(db.Integer, default=0)
|
|
|
|
class Agencia(db.Model):
|
|
__tablename__ = 'agency'
|
|
__bind_key__ = 'gtfs_work'
|
|
id = db.Column(db.Integer, primary_key=True, nullable=False, autoincrement=True)
|
|
|
|
agency_id = db.Column(db.String, unique=True)
|
|
agency_name = db.Column(db.String)
|
|
agency_url = db.Column(db.String)
|
|
agency_timezone = db.Column(db.String)
|
|
agency_lang = db.Column(db.String)
|
|
agency_phone = db.Column(db.String)
|
|
agency_fare_url = db.Column(db.String)
|
|
|
|
class Calendario(db.Model):
|
|
__tablename__ = 'calendars'
|
|
__bind_key__ = 'gtfs_work'
|
|
id = db.Column(db.Integer, primary_key=True, nullable=False, autoincrement=True)
|
|
|
|
label = db.Column(db.String, unique=True)
|
|
monday = db.Column(db.Integer, default=0)
|
|
tuesday = db.Column(db.Integer, default=0)
|
|
wednesday = db.Column(db.Integer, default=0)
|
|
thursday = db.Column(db.Integer, default=0)
|
|
friday = db.Column(db.Integer, default=0)
|
|
saturday = db.Column(db.Integer, default=0)
|
|
sunday = db.Column(db.Integer, default=0)
|
|
|
|
|
|
#shape_id,shape_pt_lat,shape_pt_lon,shape_pt_sequence,shape_dist_traveled
|
|
#1136979693,-36.843,-73.00984,1
|
|
#1136979693,-36.843,-73.00984,2
|
|
class Formas(db.Model):
|
|
__tablename__ = 'shapes'
|
|
__bind_key__ = 'gtfs_work'
|
|
|
|
id = db.Column(db.Integer, primary_key=True, nullable=False, autoincrement=True)
|
|
shape_1pt_lat = db.Column(db.Double, nullable=False)
|
|
shape_1pt_lon = db.Column(db.Double, nullable=False)
|
|
|
|
shape_num_pt = db.Column(db.Integer, nullable=False)
|
|
shape_length = db.Column(db.Double)
|
|
|
|
class Segmentos(db.Model):
|
|
__tablename__ = 'shapes_point'
|
|
__bind_key__ = 'gtfs_work'
|
|
|
|
id = db.Column(db.Integer, primary_key=True, nullable=False, autoincrement=True)
|
|
pt_start_lat = db.Column(db.Double, nullable=False)
|
|
pt_start_lon = db.Column(db.Double, nullable=False)
|
|
pt_end_lat = db.Column(db.Double, nullable=False)
|
|
pt_end_lon = db.Column(db.Double, nullable=False)
|
|
|
|
shape_pt_sequence = db.Column(db.Integer, nullable=False)
|
|
shape_dist_traveled = db.Column(db.Double)
|
|
shape_id = db.Column(db.Integer, db.ForeignKey('shapes.id'), nullable=False)
|
|
|
|
__table_args__ = (db.UniqueConstraint('shape_id', 'shape_pt_sequence', name='_shapeid_sequence_uc'), )
|
|
|
|
|
|
class Comunas(db.Model):
|
|
__tablename__ = 'comuna'
|
|
__bind_key__ = 'gtfs_work'
|
|
|
|
id = db.Column(db.Integer, primary_key=True, nullable=False, autoincrement=True)
|
|
name = db.Column(db.String, unique=True)
|
|
|
|
|
|
#stop_id,stop_code,stop_name,stop_desc,stop_lat,stop_lon,zone_id,stop_url,location_type,parent_station,wheelchair_boarding
|
|
#40921,,Pque Zoologico Concepcion Poniente,,-36.8400453,-73.00696914,,,,,
|
|
#40808,,Cno. Nonguen esq Las Vertientes,,-36.83675878,-73.00343935,,,,,
|
|
class Paradas(db.Model):
|
|
__tablename__ = 'stops'
|
|
__bind_key__ = 'gtfs_work'
|
|
|
|
id = db.Column(db.BigInteger, primary_key=True, nullable=False, autoincrement=True)
|
|
|
|
stop_code = db.Column(db.String, unique=True, nullable=True)
|
|
stop_name = db.Column(db.String)
|
|
stop_desc = db.Column(db.String)
|
|
stop_lat = db.Column(db.Double, nullable=False)
|
|
stop_lon = db.Column(db.Double, nullable=False)
|
|
|
|
comuna_id = db.Column(db.Integer, db.ForeignKey('comuna.id'), nullable=False)
|
|
stop_url = db.Column(db.String)
|
|
parent_station = db.Column(db.BigInteger)
|
|
wheelchair_boarding = db.Column(db.Integer, default=0)
|
|
|
|
|
|
#route_id,agency_id,route_short_name,route_long_name,route_desc,route_type,route_url,route_color,route_text_color
|
|
#625,DTPR,70KH,Nonguén - Parque Tumbes,,3,,0d7215,ffffff
|
|
#600,DTPR,41CR,Parque Empresarial Biobío - Terminal Collao,,3,,ad0101,ffffff
|
|
class Lineas(db.Model):
|
|
__tablename__ = 'routes'
|
|
__bind_key__ = 'gtfs_work'
|
|
|
|
id = db.Column(db.Integer, primary_key=True, nullable=False, autoincrement=True)
|
|
|
|
agency_id = db.Column(db.Integer, db.ForeignKey('agency.id'), nullable=False)
|
|
route_short_name = db.Column(db.String)
|
|
route_long_name = db.Column(db.String)
|
|
route_desc = db.Column(db.String)
|
|
route_url = db.Column(db.String)
|
|
route_color = db.Column(db.Integer, default=0)
|
|
route_text_color = db.Column(db.Integer, default=0)
|
|
|
|
|
|
#route_id,service_id,trip_id,trip_headsign, direction_id,block_id,shape_id,wheelchair_accessible,bikes_allowed
|
|
#route_id,service_id,trip_id,trip_headsign,trip_short_name,direction_id,block_id,shape_id,wheelchair_accessible,bikes_allowed
|
|
#625,S,c8b17d5f-4-76aabf89-b,Nonguén,,1,,1136979694,,
|
|
#625,S,4d018d35-7-76aabf89-b,Parque Tumbes,,0,,1136979693,,
|
|
#ac48288b-1-56195eaf-8,b1910f5b,1,0,1168259538,,0,0,1-1,1
|
|
#d9e94be9-f-56195eaf-8,b1910f5b,1,0,1168259538,,0,0,1-1,2
|
|
class Servicio(db.Model):
|
|
__tablename__ = 'trips'
|
|
__bind_key__ = 'gtfs_work'
|
|
|
|
id = db.Column(db.Integer, primary_key=True, nullable=False)
|
|
|
|
route_id = db.Column(db.Integer, db.ForeignKey('routes.id'), nullable=False) # A que linea corresponde
|
|
calendar_id = db.Column(db.Integer, db.ForeignKey('calendars.id'), nullable=False)
|
|
gtfs_id = db.Column(db.Integer, db.ForeignKey('archivos.id'), nullable=False) # Identifiador unico del servicio
|
|
shape_id = db.Column(db.Integer, db.ForeignKey('shapes.id'), nullable=False) # shapes.id
|
|
direction_id = db.Column(db.Integer, nullable=False) # 0=ida, 1=vuelta
|
|
|
|
trip_headsign = db.Column(db.String)
|
|
trip_short_name = db.Column(db.String)
|
|
wheelchair_accessible = db.Column(db.Integer, default=0)
|
|
bikes_allowed = db.Column(db.Integer, default=0)
|
|
|
|
#trip_id,arrival_time,departure_time,stop_id,stop_sequence, timepoint,shape_dist_traveled
|
|
#trip_id,arrival_time,departure_time,stop_id,stop_sequence,stop_headsign,pickup_type,drop_off_type,timepoint
|
|
#c8b17d5f-4-76aabf89-b,05:01:00,05:01:00,40439,1,,,,1
|
|
#c8b17d5f-4-76aabf89-b,05:02:00,05:02:00,40440,2,,,,0
|
|
class Detenciones(db.Model):
|
|
__tablename__ = 'stop_times'
|
|
__bind_key__ = 'gtfs_work'
|
|
|
|
id = db.Column(db.Integer, primary_key=True, nullable=False, autoincrement=True)
|
|
|
|
trip_id = db.Column(db.Integer, db.ForeignKey('trips.id'), nullable=False)
|
|
stop_sequence = db.Column(db.Integer, nullable=False)
|
|
stop_id = db.Column(db.BigInteger, db.ForeignKey('stops.id'), nullable=False)
|
|
|
|
departure_time = db.Column(db.String(9), index=True)
|
|
arrival_time = db.Column(db.String(9))
|
|
dist_traveled = db.Column(db.Integer, default=0)
|
|
|
|
stop_headsign = db.Column(db.String)
|
|
pickup_type = db.Column(db.Integer, default=0)
|
|
drop_off_type = db.Column(db.Integer, default=0)
|
|
timepoint = db.Column(db.Integer, default=1)
|
|
|
|
__table_args__ = (db.UniqueConstraint('trip_id', 'stop_sequence', name='_trip_sequence_uc'), )
|
|
|
|
# 4cc08782-c-76aabf89-b
|