diff --git a/tpmcqr_service/api/utils.py b/tpmcqr_service/api/utils.py index c56076b..6dfe466 100644 --- a/tpmcqr_service/api/utils.py +++ b/tpmcqr_service/api/utils.py @@ -98,6 +98,6 @@ def obtiene_datos_parada(id_paradero): def obtiene_lineas_parada(id_paradero): lineas = [] - for linea in Trips.query.filter(Trips.id_paradero == id_paradero).distict(Trip.id_linea).all(): + for linea in Trips.query.join(Stops).filter(Stops.id_paradero == id_paradero).distict(Trip.id_linea).all(): lineas.append(linea.id_linea) return lineas diff --git a/tpmcqr_service/models/gtfs.py b/tpmcqr_service/models/gtfs.py index 1520e98..82dc02e 100644 --- a/tpmcqr_service/models/gtfs.py +++ b/tpmcqr_service/models/gtfs.py @@ -55,6 +55,14 @@ class Trips(db.Model): service_id = db.Column(db.String(50)) +class Stops(db.Model): + __tablename__ = 'gtfs_stop_times' + __table_args__ = { 'schema': 'public' } + + id_paradero = db.Column(db.String(50), primary_key=True, db.ForeignKey('paradero.id_paradero')) + id_trip = db.Column(db.String(150), primary_key=True, db.ForeignKey('gtfs_trips.id_trip')) + + def find_shape_position(shape_id, lat, lng): Shape1 = aliased(Shapes) Shape2 = aliased(Shapes)