ifed3 / pbr Goto Github PK
View Code? Open in Web Editor NEWPersonalized Bike Routing
Personalized Bike Routing
We need to view OSRM routes to help us evaluate the quality of the output of our OSRM profiles over time. It should do these things:
We have an OSRM instance in a screen session on the server, but this is tough to automatically restart when we make changes. Rather we should daemonize it so after an update we can call 'sudo service osrm restart' or something.
Also, we want to expose it to the world so we can run requests from our local computers.
As it happens, we can kill two birds with one stone by setting up nginx on the server.
https://www.digitalocean.com/community/tutorials/how-to-set-up-an-osrm-server-on-ubuntu-14-04
A lot of the work from that tutorial is already done, but the latter part of it we should do.
An important first step will be optimizing the base OSRM bike profile. A good way to start is compiling a list of bike routes generated by Google Maps or OSRM.
We'll want a PostGIS database on the server to use during graph rebuilds as we start adding in GIS data (road closures, pavement quality data) to the profile
We noticed during sanity testing that the bike profile wasn't working very well with bike lanes; it would often recommend trips on terrible streets when a bike lane alternative was close by. Let's figure out why, and correct it.
Scenario: You have two choices of bike route, going east-west. One is a very low-stress neighborhood street. The other is a semi-major street without a bikelane (I'm thinking of the alternate streets, like Wellington, Webster, etc). The former would be very desirable, except when crossing a major thoroughfare. The neighborhood street would likely have a two-way stop at the major street, while the alternate street would likely have a light. The two-way stop is generally not something that is heavily penalized, but to me it should be, to the point where the router ends up taking me on the alternate street.
This applies much more when the cross street is major/high-traffic.
This task is to add this capability to a bike profile.
In many cases, if you're in a bike lane and you happen to be biking alongside a bus, the ride will be much more stressful. This is true if:
So we want to cross-reference bus route shape files with our potential routes, and potentially get average bus speeds from the GTFS data (or external speed data?)
We don't have to get this all into OSM; here's an example of a profile that queries PostGIS directly:
https://github.com/Project-OSRM/osrm-backend/blob/master/profiles/examples/postgis.lua
We should create a survey with questions about the kinds of streets/routes people prefer to use for cycling and share it with Hack Night participants & others to get a better sense for the rules we'll want to implement
Cycling Survey
Keeping track of progress here:
Mapzen has made Valhalla, a routing service based on OSRM (like PBR). They allow the user to change some options for all modes but bicycling!
Why are they building this?
What road blocks have they run into?
Why is bicycling the only one without options?
Will they accept contributions and ideas from the PBR team?
When we make profile changes we want to automatically (or as easily as possible) update the server. We should have a script to run on the server that does the following things:
Depends on #8
Hi All, it was great to meet everyone and hear your ideas last night.
There was mention early of work flow, and I was wondering if we should start dividing tasks. Thoughts?
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.