Source code for aequilibrae.transit.gtfs_writer.trips_writer

import csv
import sqlite3
from os.path import join
from typing import List

import pandas as pd

from aequilibrae.transit.transit_elements import Trip


[docs] def write_trips(trips: List[Trip], folder_path: str, conn: sqlite3.Connection): headers = ["route_id", "service_id", "trip_id", "trip_headsign", "direction_id", "shape_id"] data = [[trp.__dict__[hdr] for hdr in headers] for trp in trips] all_trips = pd.DataFrame(data, columns=headers) all_trips.to_csv(join(folder_path, "trips.txt"), quoting=csv.QUOTE_NONNUMERIC, index=False) srvc = pd.read_sql("select service_date from Transit_Agencies where agency_id>1", conn) services = all_trips[["service_id"]].drop_duplicates() min_date = str(srvc.service_date.min()).replace("-", "") max_date = str(srvc.service_date.max()).replace("-", "") services = services.assign(start_date=min_date, end_date=max_date) services = services.assign(monday=1, tuesday=1, wednesday=1, thursday=1, friday=1, saturday=1, sunday=1) services.to_csv(join(folder_path, "calendar.txt"), quoting=csv.QUOTE_NONNUMERIC, index=False)