MobilityData / gtfs-realtime-validator

Java-based tool that validates General Transit Feed Specification (GTFS)-realtime feeds
Other
41 stars 10 forks source link

Show map-based visuals for rules with geographic information #45

Open isabelle-dr opened 2 years ago

isabelle-dr commented 2 years ago

Issue by barbeau June 26, 2017 Originally opened as https://github.com/CUTR-at-USF/gtfs-realtime-validator/issues/238


Summary:

Following #236 we now have the ability to include html like <a href="http://geojson.io/#map=15/27.995876/-82.44294">(27.995876,-82.44294)</a> in the prefix of a rule, and it will appear clickable in the iterations details page.

I'd like to hyperlink E029 and other rules with geographic data to show that data on a map using URLs like http://geojson.io/#map=15/27.995876/-82.44294 - we could even do buffers using GeoJSON like the below:

21875010-3b0f-11e7-97ed-0cfbc4378e10

Steps to reproduce:

See an occurrence of E029

Expected behavior:

Give me some visual representation of the info

Observed behavior:

No visual (map) representation of the information

isabelle-dr commented 2 years ago

Comment by barbeau August 15, 2017


So, implementation for this would take place in VehicleValidator.checkE029() as part of creating the prefix text around line 213. bufferedShape is the object containing the polygon for the trip buffer, which is pictured in the above mockup on the map. The position variable is the vehicle position.

To get the GeoJSON for the shape, see VehicleValidator.testStopAndTripShapeBounds() near the end of the method around line 386 - there are some examples there for using the JTS ShapeWriter to generate the GeoJSON for a given shape.

isabelle-dr commented 2 years ago

Comment by barbeau October 13, 2017


Another option for visualization is Barefoot, a Java-based open-source project from the BMW group: https://github.com/bmwcarit/barefoot

Here's an example of basic integration with Transitime to show live vehicles on the map: TheTransitClock/transitime@b0d98a0

EDIT - On second look, I'm not sure if this helps us. Barefoot looks to be purely for Java UI integration (I think?), and we want a map inside the web browser, either as our own page or directed to with a hyperlink (like the geojson.io link solution above).