@geoalgeria/ferroviaire
v1.0.0
Published
Algeria's rail & urban-transit network — 692 stations & stops (train, tram, metro, aerial tramway, gondola) across 50 wilayas, bilingual FR/AR, with operator (SNTF/SETRAM/SEMA), line, and wilaya/commune linkage. Wikidata + OpenStreetMap composite. JSON, C
Maintainers
Readme
@geoalgeria/ferroviaire
Algeria's rail & urban transit — every station and stop, as data you can install.
692 rail and urban-transit nodes across Algeria — train stations, tram stops, metro stations, aerial tramways and gondolas — with bilingual FR/AR names, operator (SNTF / SETRAM / SEMA), line membership, GPS coordinates, and wilaya/commune linkage. A Wikidata + OpenStreetMap composite, shipped as JSON, CSV, and GeoJSON. Part of GeoAlgeria.
Operators (sources): SNTF (rail), SETRAM (tramways), SEMA/EMA (Métro d'Alger). Intercity bus stations live in
@geoalgeria/gares-routieres.
npm install @geoalgeria/ferroviaireimport ferroviaire from "@geoalgeria/ferroviaire";
const all = ferroviaire.stations(); // 692
const trams = ferroviaire.stationsByType("tram"); // 190 tram stops
const inAlger = ferroviaire.stationsByWilaya(16); // rail + metro + tram in AlgiersWhat you can build
- Multimodal maps — one GeoJSON layer with train, tram, metro, and cable-transit nodes.
- Nearest-station lookups — coordinates on every record.
- Network views — filter by
type,operator, ornetwork(tram cities, Métro d'Alger). - Bilingual UIs — French and Arabic names on most records.
What's inside
| Type | Count | Operator | | --- | --- | --- | | Rail (train) | 427 | SNTF | | Tram | 190 | SETRAM (7 city networks) | | Metro | 41 | SEMA — Métro d'Alger | | Aerial tramway | 24 | — | | Gondola | 10 | — |
Spanning 50 wilayas, every node geocoded. wilaya_code is linked against the
geoalgeria 69-wilaya model.
Coverage note: this is the node universe from Wikidata + OSM. SETRAM operates 172 tram stations across 7 networks; SEMA's Métro d'Alger has 19 operational stations (Wikidata lists more metro nodes, incl. entrances/extensions). Heavy-rail per-line status (SNTF) is not yet modelled.
Formats
import stations from "@geoalgeria/ferroviaire/data/stations.json" with { type: "json" };
// or via CDN: https://cdn.jsdelivr.net/npm/@geoalgeria/ferroviaire/data/stations.jsonimport ferroviaire, { type Station } from "@geoalgeria/ferroviaire";
const stations: Station[] = ferroviaire.stations();CSV and GeoJSON are in the repo under data/ and bundled in every
GitHub Release:
data/
stations.json # 692 nodes (array)
metadata.json # source, counts, generated_at
csv/stations.csv
geojson/stations.geojson # Point features (all geocoded)Record shape
{
"id": "16-021",
"name": "Place des Martyrs",
"name_fr": "Place des Martyrs",
"name_ar": "ساحة الشهداء",
"type": "metro",
"line": "ligne 1 du métro d'Alger",
"operator": "SEMA",
"network": "Métro d'Alger",
"wilaya_code": "16",
"commune": "Casbah",
"commune_code": 1605,
"lat": 36.7887,
"lng": 3.0603,
"geo_precision": "exact",
"source": "wikidata+osm",
"wikidata": "Q...",
"osm_id": "node/..."
}type is one of rail | tram | metro | aerial_tram | gondola. source
is wikidata, osm, or wikidata+osm (matched within ~150 m). name may be null
for a few OSM-only stops. wilaya_code/commune come from a nearest-centroid join
against geoalgeria.
Source & license
A composite of Wikidata (CC0) and OpenStreetMap (© OpenStreetMap contributors,
ODbL 1.0), with operators from SNTF, SETRAM, and SEMA/EMA. Code is
MIT; OSM-derived data remains under ODbL — keep attribution. Run
npm run fetch to regenerate. For authoritative, real-time information, verify with the
operators.
Made by Yasser's Studio · LinkedIn · X · [email protected]
