Data Format
If you use JSON schemas, see https://raw.githubusercontent.com/MRT-Map/gatelogue/dist/schema.json.
If you use Typescript, see https://github.com/MRT-Map/gatelogue/blob/main/gatelogue-client/src/stores/schema.ts for Typescript types.
Specification
All links below reference their entries in the full reference page. These classes are here for convenience’s sake.
Do not hardcode any IDs in your project! They change with every update. If you need to reference a specific object, find it by its code/name/something unique to the object.
Check the
versionfield in theGatelogueDataobject for the data format version. We will try our best to maintain backwards-compatibility, but we cannot guarantee.The JSON file at data.json is of base type
GatelogueData.If you are using data_no_sources.json, all instances of
Sourced[T]below are replaced with just the encapsulated typeT.If you are using
gatelogue-types(Python), each object has a No-Source equivalent. The types for these objects have anNSsuffix.If you are using the Typescript types referenced above, the type for the JSON of the no-source version is
GatelogueData<false>instead of simplyGatelogueDataorGatelogueData<true>.
Noneserialises tonull.
The current data format version is
v10
- class gatelogue_types.GatelogueData(nodes: dict[~gatelogue_types.ID, ~gatelogue_types.Nodes], *, timestamp: str = <factory>, version: int = 10)
Bases:
_GatelogueData
- class gatelogue_types.LocatedNode(coordinates: Sourced[tuple[float, float]] | None=None, world: Sourced[World] | None = None, proximity: dict[~gatelogue_types.ID, ~gatelogue_types.Sourced[~gatelogue_types.Proximity]]=<factory>, shared_facility: list[Sourced[ID]] = <factory>, *, i: ID = None, source: set[str] = <factory>)
Bases:
Node,_LocatedNode
Air Nodes
- class gatelogue_types.AirFlight(*, i: ~gatelogue_types.ID = None, source: set[str] = <factory>, codes: set[str], mode: ~gatelogue_types.Sourced[~gatelogue_types.PlaneMode] | None = None, gates: list[~gatelogue_types.Sourced[~gatelogue_types.ID]] = <factory>, airline: ~gatelogue_types.Sourced[~gatelogue_types.ID] = None)
Bases:
Node,_AirFlight
- class gatelogue_types.AirAirport(coordinates: Sourced[tuple[float, float]] | None=None, world: Sourced[World] | None = None, proximity: dict[~gatelogue_types.ID, ~gatelogue_types.Sourced[~gatelogue_types.Proximity]]=<factory>, shared_facility: list[Sourced[ID]] = <factory>, *, i: ID = None, source: set[str] = <factory>, code: str, names: Sourced[set[str]] | None = None, link: Sourced[str] | None = None, modes: Sourced[set[PlaneMode]] | None = None, gates: list[Sourced[ID]] = <factory>)
Bases:
LocatedNode,_AirAirport
Rail Nodes
- class gatelogue_types.RailCompany(*, i: ID = None, source: set[str] = <factory>, name: str, lines: list[Sourced[ID]] = <factory>, stations: list[Sourced[ID]] = <factory>, local: bool = False)
Bases:
Node,_RailCompany
- class gatelogue_types.RailLine(*, i: ID = None, source: set[str] = <factory>, code: str, name: Sourced[str] | None = None, colour: Sourced[str] | None = None, mode: Sourced[RailMode] | None = None, company: Sourced[ID] = None, stations: list[Sourced[ID]] = <factory>)
Bases:
Node,_RailLine
- class gatelogue_types.RailStation(coordinates: ~gatelogue_types.Sourced[tuple[float, float]] | None = None, world: ~gatelogue_types.Sourced[~gatelogue_types.World] | None = None, proximity: dict[~gatelogue_types.ID, ~gatelogue_types.Sourced[~gatelogue_types.Proximity]] = <factory>, shared_facility: list[~gatelogue_types.Sourced[~gatelogue_types.ID]] = <factory>, *, i: ~gatelogue_types.ID = None, source: set[str] = <factory>, codes: set[str], name: ~gatelogue_types.Sourced[str] | None = None, company: ~gatelogue_types.Sourced[~gatelogue_types.ID] = None, connections: dict[~gatelogue_types.ID, list[~gatelogue_types.Sourced[~gatelogue_types.Connection]]] = <factory>)
Bases:
LocatedNode,_RailStation
Sea Nodes
- class gatelogue_types.SeaCompany(*, i: ID = None, source: set[str] = <factory>, name: str, lines: list[Sourced[ID]] = <factory>, stops: list[Sourced[ID]] = <factory>, local: bool = False)
Bases:
Node,_SeaCompany
- class gatelogue_types.SeaLine(*, i: ID = None, source: set[str] = <factory>, code: str, name: Sourced[str] | None = None, colour: Sourced[str] | None = None, mode: Sourced[SeaMode] | None = None, company: Sourced[ID] = None, stops: list[Sourced[ID]] = <factory>)
Bases:
Node,_SeaLine
- class gatelogue_types.SeaStop(coordinates: ~gatelogue_types.Sourced[tuple[float, float]] | None = None, world: ~gatelogue_types.Sourced[~gatelogue_types.World] | None = None, proximity: dict[~gatelogue_types.ID, ~gatelogue_types.Sourced[~gatelogue_types.Proximity]] = <factory>, shared_facility: list[~gatelogue_types.Sourced[~gatelogue_types.ID]] = <factory>, *, i: ~gatelogue_types.ID = None, source: set[str] = <factory>, codes: set[str], name: ~gatelogue_types.Sourced[str] | None = None, company: ~gatelogue_types.Sourced[~gatelogue_types.ID] = None, connections: dict[~gatelogue_types.ID, list[~gatelogue_types.Sourced[~gatelogue_types.Connection]]] = <factory>)
Bases:
LocatedNode,_SeaStop
Bus Nodes
- class gatelogue_types.BusCompany(*, i: ID = None, source: set[str] = <factory>, name: str, lines: list[Sourced[ID]] = <factory>, stops: list[Sourced[ID]] = <factory>, local: bool = False)
Bases:
Node,_BusCompany
- class gatelogue_types.BusLine(*, i: ID = None, source: set[str] = <factory>, code: str, name: Sourced[str] | None = None, colour: Sourced[str] | None = None, company: Sourced[ID] = None, stops: list[Sourced[ID]] = <factory>)
Bases:
Node,_BusLine
- class gatelogue_types.BusStop(coordinates: ~gatelogue_types.Sourced[tuple[float, float]] | None = None, world: ~gatelogue_types.Sourced[~gatelogue_types.World] | None = None, proximity: dict[~gatelogue_types.ID, ~gatelogue_types.Sourced[~gatelogue_types.Proximity]] = <factory>, shared_facility: list[~gatelogue_types.Sourced[~gatelogue_types.ID]] = <factory>, *, i: ~gatelogue_types.ID = None, source: set[str] = <factory>, codes: set[str], name: ~gatelogue_types.Sourced[str] | None = None, company: ~gatelogue_types.Sourced[~gatelogue_types.ID] = None, connections: dict[~gatelogue_types.ID, list[~gatelogue_types.Sourced[~gatelogue_types.Connection]]] = <factory>)
Bases:
LocatedNode,_BusStop
Town Nodes
- class gatelogue_types.Town(coordinates: ~gatelogue_types.Sourced[tuple[float, float]] | None = None, world: ~gatelogue_types.Sourced[~gatelogue_types.World] | None = None, proximity: dict[~gatelogue_types.ID, ~gatelogue_types.Sourced[~gatelogue_types.Proximity]] = <factory>, shared_facility: list[~gatelogue_types.Sourced[~gatelogue_types.ID]] = <factory>, *, i: ~gatelogue_types.ID = None, source: set[str] = <factory>, name: str, rank: ~gatelogue_types.Sourced[~gatelogue_types.Rank], mayor: ~gatelogue_types.Sourced[str], deputy_mayor: ~gatelogue_types.Sourced[str | None])
Bases:
LocatedNode,_Town
Miscellaneous
- class gatelogue_types.Connection(line: ID, *, direction: Direction | None = None)
Bases:
_Connection