# chiajung-yeh/ptal architecture

> Architecture diagram of the GitHub repository chiajung-yeh/ptal, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-09-28). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/chiajung-yeh/ptal
- Repository: https://github.com/chiajung-yeh/ptal

## Overview

PTAL is an R package for working with GTFS transit data and public-transport accessibility; its documented capabilities also include OSM network handling and Planit setup. The tree identifies one R source file and package data, but the README is only a title and no source excerpts or manual contents are available. The graph therefore shows documented user-facing operations without assuming how they call one another or which data they consume.

Main entry points: [`R/GTFS-PTAL.R`](https://github.com/chiajung-yeh/ptal/blob/main/R/GTFS-PTAL.R) (Read GTFS)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_gtfs["GTFS operations"]
  node_read_gtfs["Read GTFS<br/>[GTFS-PTAL.R]"]
  node_gtfs_summary["GTFS summary<br/>[GTFS-PTAL.R]"]
  node_gtfs_ptal["Calculate PTAL<br/>[GTFS-PTAL.R]"]
end

subgraph group_network["Network setup"]
  node_osm_network["OSM network<br/>[GTFS-PTAL.R]"]
  node_planit_setup["Planit setup<br/>[GTFS-PTAL.R]"]
end

subgraph group_data["Package data"]
  node_greater_sydney["Greater Sydney data<br/>[greater_sydney.rda]"]
  node_osm_data["OSM data<br/>[osm_data.rda]"]
end

node_user(("Package user"))

node_user -->|"invokes"| node_read_gtfs
node_user -->|"invokes"| node_gtfs_summary
node_user -->|"invokes"| node_gtfs_ptal
node_user -->|"invokes"| node_osm_network
node_user -->|"invokes"| node_planit_setup

click node_read_gtfs "https://github.com/chiajung-yeh/ptal/blob/main/R/GTFS-PTAL.R"
click node_gtfs_summary "https://github.com/chiajung-yeh/ptal/blob/main/R/GTFS-PTAL.R"
click node_gtfs_ptal "https://github.com/chiajung-yeh/ptal/blob/main/R/GTFS-PTAL.R"
click node_osm_network "https://github.com/chiajung-yeh/ptal/blob/main/R/GTFS-PTAL.R"
click node_planit_setup "https://github.com/chiajung-yeh/ptal/blob/main/R/GTFS-PTAL.R"
click node_greater_sydney "https://github.com/chiajung-yeh/ptal/blob/main/data/greater_sydney.rda"
click node_osm_data "https://github.com/chiajung-yeh/ptal/blob/main/data/osm_data.rda"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_read_gtfs,node_gtfs_summary,node_gtfs_ptal,node_user toneBlue
class node_osm_network,node_planit_setup toneAmber
class node_greater_sydney,node_osm_data toneMint
```

## Components

### GTFS operations

- [Read GTFS](https://github.com/chiajung-yeh/ptal/blob/main/R/GTFS-PTAL.R): `R/GTFS-PTAL.R`
- [GTFS summary](https://github.com/chiajung-yeh/ptal/blob/main/R/GTFS-PTAL.R): `R/GTFS-PTAL.R`
- [Calculate PTAL](https://github.com/chiajung-yeh/ptal/blob/main/R/GTFS-PTAL.R): `R/GTFS-PTAL.R`

### Network setup

- [OSM network](https://github.com/chiajung-yeh/ptal/blob/main/R/GTFS-PTAL.R): `R/GTFS-PTAL.R`
- [Planit setup](https://github.com/chiajung-yeh/ptal/blob/main/R/GTFS-PTAL.R): `R/GTFS-PTAL.R`

### Package data

- [Greater Sydney data](https://github.com/chiajung-yeh/ptal/blob/main/data/greater_sydney.rda): `data/greater_sydney.rda`
- [OSM data](https://github.com/chiajung-yeh/ptal/blob/main/data/osm_data.rda): `data/osm_data.rda`

### Other components

- **Package user**

## Connections

- Package user → Read GTFS: invokes
- Package user → GTFS summary: invokes
- Package user → Calculate PTAL: invokes
- Package user → OSM network: invokes
- Package user → Planit setup: invokes
