Source code for aequilibrae.transit.gtfs_writer.stops_writer

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

import numpy as np
import pandas as pd

from aequilibrae.transit.transit_elements import Stop


[docs] def write_stops(stops: List[Stop], folder_path: str): data = [ [ stp.stop_id, stp.stop, stp.stop_name, stp.stop_desc, stp.stop_lat, stp.stop_lon, stp.zone_id, stp.parent_station, ] for stp in stops ] headers = ["stop_id", "stop_code", "stop_name", "stop_desc", "stop_lat", "stop_lon", "zone_id", "parent_station"] df = pd.DataFrame(data, columns=headers) df.parent_station = df.parent_station.astype(float) df.loc[:, "parent_station"] = np.NAN for fld in ["zone_id", "stop_id"]: df[fld] = df[fld].astype(float) df[fld].fillna(-99999, inplace=True) df[fld] = df[fld].astype(int) df[fld] = df[fld].astype(str) df.loc[df[fld] == "-99999", fld] = "" df.to_csv(join(folder_path, "stops.txt"), quoting=csv.QUOTE_NONNUMERIC, index=False)