尚未检测到更新。GitHub 发布版本后会显示在这里。
个人 GitHub 账号下公开仓库的所有者可以登录并验证所有权,自行管理介绍,无需管理员批准。
登录并生成验证文件,在 30 分钟内将其提交到此仓库的默认分支。其他分支或分叉仓库中的文件无效。然后在下方检查文件,即可无需管理员批准直接管理项目。请保留文件以维持管理权限。
如需登录,将前往登录页面。登录后请回到此处,再次点击所选的验证按钮。
在项目文件夹中运行 /nomorevibe verify,即可验证所有权并自行管理介绍。
一分钟完成验证制作者的介绍仅有上面的一句话。 更多详情请阅读仓库 README。 仓库 README ↗
正在加载完整 README。
查看完整 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.