Version: [5450] Easy-OTP 0.6.0 Experimental

0.6.0
* Analysis — Network & Accessibility (new algorithms):
- feat(analysis): GenerateIsochrones (N-1) — /isochrone polygons for
1..N
origins, FROM/TO direction, multiple cutoffs; optional street-only
graph
for non-transit modes (no GTFS needed).
- feat(analysis): GenerateIsochronesOverTime (N-2) — one point,
isochrones
across a time window; time field drives the Temporal Controller.
- feat(analysis): RunServiceCoverage (N-3) — multi-point service
coverage;
reachable-count raster + optional hex/square/own-layer aggregation.
- feat(analysis): RunOriginDestinationTimes (N-4) — per-origin
detailed
trip statistics to one destination (minutes); ThreadPoolExecutor;
404/snapping mitigations (maxWalkDistance lever, optional
snap-to-network,
errorId diagnostics).
- feat(analysis): RunTravelTimeMatrix (N-5) — N×M OD travel-time
matrix;
long/wide CSV (XLSX if openpyxl present), optional OD line layer.
- feat(core): isochrone_client and plan_client REST clients (urllib;
OTP 1.5 /isochrone and /plan endpoints).
0.5.0
* Analysis:
- feat(analysis): RunTemporalAccessibility now saves origin point as a
named
output vector layer (point geometry + CRS) with run metadata fields:
run_date, run_time, time_window, interval_min, router_id, arrive_by.
* i18n:
- feat(i18n): Polish (pl) UI translation — easy_otp_pl.qm compiled and
bundled; tr() context fixed to class name so Processing strings
translate.
0.4.0
* Realtime (new section):
- feat(realtime): RT-3 BuildRealizedGtfs — reconstruct realized static
GTFS
(P50 median + P85 85th-percentile feeds) from a RecordGtfsRt snapshot
archive;
aggregation per stop-pair segment (route_id, direction_id,
from_stop_id,
to_stop_id); output feeds work directly with RunTemporalAccessibility.
Requires google.protobuf (bootstrapped on first use via
dependencies.py).
- feat(realtime): RT-2 RecordGtfsRt — GTFS-RT TripUpdates snapshot
archiver;
polls a feed at a configurable interval (15–600 s) and writes raw .pb
files
plus a recording.json manifest; cancel-safe and partial-archive-safe.
- feat(realtime): RT-1 RunRealtimeAccessibility — live GTFS-RT
TripUpdates feed
integrated into OTP stop-time-updater; tri-state RT effectiveness
detection
(effective / not-applied / inconclusive).
* Other fixes:
- fix(deps): install openpyxl via in-process urllib wheel download (no
admin,
works around SSL absence in QGIS 3.22 pip subprocess).
- fix(ux): OTP server runs in a visible, closeable Java console
window; graph
build phase stays windowless.
0.3.5
- chore: lower qgisMinimumVersion to 3.22 (verified API/Python
compatibility;
all PyQGIS APIs used since ≤3.14, all Processing IDs since ≤3.16).
- A-1: arriveBy toggle in RunTemporalAccessibility — analyse arrive-by
accessibility in addition to depart-at mode.
- A-3: Optional XLSX summary report for RunTemporalAccessibility and
CountFromExistingSurfaces (requires openpyxl).
- A-2: CompareTemporalAccessibility — delta raster and classified
hex-grid
difference between two accessibility scenarios; supports NoData
semantics
for cells present in only one scenario.
- fix(security): safe zip extraction and nosec annotations for Bandit
HIGH
findings (B202, B324, B310, B103).
- pre-publish: add icon placeholder SVG, easy_otp/LICENSE, rewrite
metadata
about/changelog, remove qgisMaximumVersion.
0.2.0
- R1a: Prepare student layer — import GUS NSP 2021 Excel into a
polygon layer
(handles raw / wrong / done data states).
- R1b: Population overlay — areal interpolation of demographics onto
the hex
grid; preserves fractional counts (Float field, fixes the integer
rounding
bug present in the reference QGIS model).
- R2: Download transit data — automated OSM (Geofabrik) and GTFS
(Transitland)
acquisition with 7-day OSM cache and continental-feed filtering.
- R3: Download JRE — automated Eclipse Temurin 8 download (Adoptium
API,
SHA-256 verified) plus the OTP 1.5.0 shaded jar; both paths saved to
QSettings for hands-off setup.
- Fix: service-time category thresholds now scale proportionally for
analysis windows shorter than 06:00–22:00 (a shorter window previously
forced almost every cell into "inaccessible"). Full-window runs are
unchanged. A warning is logged whenever scaling is applied.
0.1.0
- Initial release: TestOtpServer, GenerateHexGrid,
RunTemporalAccessibility, CountFromExistingSurfaces.

yes

GISBoost

2026-07-05T11:45:47.221336+00:00

3.22.0

3.99.0

None

yes

Version management

Plugin details