Omnigraph
Graph engine for context assembly. Object-storage native. Agents work with graph data the way engineers work with code: branched, typed, reviewed, merged, audited, and governed.
Mobile internet quality on Polish trains, km by km: ping logger, map, open data
Translation pending
DataHTML · PythonGitHub @kprzybysOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
No updates detected yet. GitHub releases will appear here.
Owners of public repositories under a personal GitHub account can sign in to verify ownership and manage the introduction themselves. No administrator approval is needed.
Sign in, generate a verification file, and commit it to this repository’s default branch within 30 minutes. Files on other branches or forks do not count. Then check the file below to manage the project without administrator approval. Keep the file to retain your access.
If needed, you will go to sign-in. After signing in, return here and press your chosen verification button again.
Run /nomorevibe verify in your project folder to verify ownership and manage the introduction yourself.
Verify in one minuteAsk about other verification options
The maker's introduction consists of the line above. Read the repository README for more details. Repository README ↗
Loading the full README.
Read the full README ↗How good is mobile internet on Polish trains, kilometre by kilometre?
This project measures it from the passenger seat: a laptop on the phone's hotspot sends 10 pings every 30 seconds, and each measurement is placed on the route from the phone's GPS track or, without GPS, from the train timetable. Base stations near the line come from the official UKE radio permit lists, so you can see whether the dead zones line up with gaps in the network.
Map: https://kprzybys.github.io/rail-coverage-pl/ · First trip report (PL): IC 141 Białystok → Kraków
| Step | Tool | Output |
|---|---|---|
| Log ping every 30 s | railcov/logger.sh | ping.csv |
| Describe the trip (train, timetable, delays, network) | edit trip.json | trip.json, stations.json |
| Import the phone's GPS track, clipped station to station | python -m railcov.gpx | track.gpx |
| Base stations within 8 km of the route (UKE) | python -m railcov.bts | bts.json |
| Charts and report | python -m railcov.report | figures/*.png, report.md |
| Route strip and replay GIF for sharing | python -m railcov.promo | figures/strip.png, figures/replay.gif |
| Website: replay, chart, strip, longest gaps | python -m railcov.site | site/ (GitHub Pages) |
| All of the above after a trip | ./finish.sh trips/<trip-id> [recording.gpx] |
pip install -r requirements.txt
railcov/logger.sh trips/<trip-id>/ping.csv # during the trip; Ctrl+C at the end
python -m railcov.gpx trips/<trip-id> ~/Downloads/recording.gpx
python -m railcov.bts trips/<trip-id>
python -m railcov.report trips/<trip-id>
python -m railcov.site
Quality grades (thresholds for interactive use such as SSH and calls):
| Grade | Rule |
|---|---|
| good | no loss, average < 100 ms, max ≤ 200 ms |
| weak | some loss, or average ≥ 100 ms, or a spike over 200 ms |
| bad | loss ≥ 30% or average ≥ 300 ms |
| dead | 100% loss |
Details and limits: docs/methodology.md · data format: docs/data-format.md.
The most useful contribution is another trip: a different line, a different operator, the same line at a different time. See CONTRIBUTING.md. Android phones can also log signal strength and cell IDs, which would turn "where is it bad" into "why".
Code: MIT. Measurements: CC BY 4.0. Station coordinates: © OpenStreetMap contributors (ODbL). Base station locations: UKE public register. See LICENSE and DATA-LICENSE.md.
Jak działa mobilny internet w polskich pociągach, kilometr po kilometrze?
Laptop podłączony do hotspotu w telefonie co 30 sekund wysyła 10 pingów. Każdy pomiar trafia na trasę według śladu GPS z telefonu albo, bez GPS, według rozkładu jazdy. Do tego dochodzą stacje bazowe z wykazu pozwoleń UKE, więc widać, czy martwe strefy pokrywają się z dziurami w sieci.
Pierwszy przejazd: IC 141 Hańcza, Białystok → Kraków Główny, 25.10.2026, sieć Orange, raport.
Komu to się przyda: pasażerom pracującym w pociągu (gdzie nie planować rozmowy), osobom wybierającym operatora, przewoźnikom i operatorom komórkowym (publiczna mapa problemów na najważniejszych liniach) oraz dziennikarzom i badaczom (surowe dane i kod).
Jak pomóc: nagraj własny przejazd, inną linią albo w innej sieci, i wyślij pull request. Instrukcja jest w CONTRIBUTING.md. Szczególnie cenne są pomiary z telefonów z Androidem, które zapisują siłę sygnału i identyfikator komórki.