Ungap the Map: designing moonshot cycling networks
Dustin Carlino

Imagine every road in your region was safe for cycling, and many of the short driving trips that happen today were instead done by cycling. Which would be the most used roads? In this workshop, we’ll start from OpenStreetMap and public census data and use 3 open source tools at different spatial resolutions to calculate this and design an improved cycling network.

1) First we’ll create a national travel demand model, calculate millions of routes in minutes, and determine the most important roads to prioritize.

2) Then we’ll use a web app to quickly sketch and share ideas for improvements.

3) Finally we’ll design a low-traffic neighbourhood to create quieter residential streets.

The workshop will use open source software developed at the Alan Turing Institute in collaboration with Active Travel England. Minimal technical background required to follow along, and we’ll be able to apply the methods anywhere with sufficient OSM coverage.

Hello I’m Dustin Carino and uh this is a talk about a new tool called odet which helps you design um strategic cycling plans to uh to improve cycling around your city um yeah so hoping to not spend too much time um just kind of introducing myself in the project uh and then mainly

For people who have laptops um you can follow along uh there’s a few different tutorials we can work through and um some things you can use OD toet for hopefully in the space of 30 minutes and then at the end kind of show you some other work that um might be

Useful uh but yeah just to sort of introduce myself um since about 2018 I’ve had the pleasure of exclusively working on open source code um pretty much all related to open street map and um sort of sustainable Transportation uh generally like what I

What I try to do is sort of um find ways that cities can uh reduce Reliance on cars and also um involve citizens in sort of Transportation Planning more directly uh both through like Improv in communication between government and citizens but also um by making like transportation software very very easy

To use uh for people without technical experience um and in uh the end of December I or sorry at the end of 2021 um I moved from Seattle in the US to uh London and joined the Allen Turing Institute um and then in a few months I

Guess or half a year ago I uh also joined active travel England which is a government body in the UK um that is very ambitiously trying to improve walking and cycling in the UK um and so this is an experiment in how many things Google Docs would let me

Have on one slide um this is uh just an overview of some some projects that I’ve worked on before uh these all fall under the umbrella of uh of ab Street um which sort of started Life as a traffic simulation Based on osm data where uh

You could sort of like edit the Lanes on a road or edit traffic signal timing and then watch um sort of individual agents move around the map uh and try to improve things for for whatever uh thing that you cared about and so then um after that the project kind of evolved

Into a few different uh much more tightly scoped tools for sort of exploring like 15minute neighborhoods and what kind of things are uh easily accessible by by walking um briefly tried this arcade game called 15 minute Santa um and then uh most recently sort of like making a tool to design um low

Traffic neighborhoods or uh like traffic circulation plans if you’ve heard of those um and in the past year uh while working for um active travel England I’ve become a web developer uh like it or not and um developed a bunch of things on top of map Libre um to kind of

Uh help local government and national government communicate about proposed cycle plans um and some of the stuff that’s come out of that like the bottom left is uh this map lib plug-in called root Snapper that lets you um just like draw roots and sort of snap them to uh

Osm center lines um all running in the browser no like remote API um but yeah uh so the the project that I’m talking about today um first I’d like to thank uh Anna and Andy who are in here um when we kind of go to the workshop part if

There are uh if people have trouble installing stuff or questions and there’s not enough of us uh they’re going to kind of help out um and then some other colleagues at uh the Allen Turing Institute have made the logo for OD tonet um and Chris Conan is a

Researcher that’s working on edge costs um with me and we’ll talk about what those are in a bit um yeah also odet couldn’t exist without all of these other open source projects um so yeah thank thanks to all of them for uh for existing um yeah so what does odet do um

To motivate it uh I want to yeah maybe it is worth sort of explaining that um like the the roads that are sort of safe to drive on the roads that are safe to cycle on in in many places are very much not the same um so this is a a section

Of South London and and basically all of these roads um ignore the stuff going through Parks you can’t drive on those but otherwise all of the roads that are actually roads um are are safe to drive on uh but if you’re a cyclist the picture looks a little bit different um

So these four colors try to show a level of traffic stress or LTS um where the like the green roads are sort of very comfortable um to cycle you would let your uh your you know your kid do it without um supervision and the like darker orange red roads are um kind of

Terrifying and even if you’re a confident cyclist you you know something might go very wrong there um and so yeah uh like odet heavily uses this idea of level level of traffic stress um some there’s sort of a lot of Concepts like this it gets called a bunch of different

Things sometimes there’s three categories or just um it’s safe and suitable for cyclist or not uh the one we’re using in this project has four categories um and uh there’s a really awesome project from a few years ago out of um Ottawa Canada where the the osm

Community there made a mapping from osm tags along a particular segment and assigned one of these four categories um and OD tonet uses is uh exactly that definition today although um one of the exercises is possibly improving it to kind of specialize it for different places because the uh yeah the way they

Tag things in Canada is not necessarily relevant everywhere else um yeah so what do you use OD toet 4 so uh imagine that you are a um a city government or a campaign group and you want to um shift as many trips that are taken today by car uh to drive that are

Um driving today and uh figure out why are they not cycling um so first of all like look for the the trips that are very short that it you know should not be very it take a long time to to like walk Rec cycle instead and then ask um

Like what’s what’s the reason they’re not um and these are some common sort of reasons and uh that people give some of these are maybe not so valid or not so valid anymore like um ebikes make steep hills very easy um and if you need to

Carry a lot of things like cargo bikes have absolutely exploited last few years and and made this very possible um but the one we’ll focus on today is uh like and most often the case um in many places that the roads are just absolutely not safe and so OD tet kind

Of tells you which ones um should we improve and so uh we can ask a hypothetical question and say like take all of those trips taken taken by car today um that are kind of short and say uh pretend they did cycle and they took the most direct route possible ignoring

What you know whatever terrible roads there are then look for the roads that most people would use um and many cases this might just be like the the motorways because these are sort of the direct routes between places um and let’s let’s count them and figure out

Which roads are the most important to improve uh so this is what a a root network does and so um just to kind of Define this this is like one particular route between two points um crosses a bunch of individual roads uh here is a second route and the blue line is meant

To show like um yeah like these two routs kind of cross the same roads and so if you uh calculate roots for all of these driving trips um as if they were cycling instead and look for the most popular roads then you end up at the

Route network uh and that’s what this is kind of showing where the the thicker lines are basically the ones that mini trips cross and therefore um are important to make sure are like safe to cycle on uh so um uh these like route networks and sort of this overall

Technique for determining like what roads to improve are used by um many uh many governments and this is an example from Transport for London um and they they get called up things particularly like strategic uh cycling plans or network plans um and there are some open source tools that calculate these things

Today um there’s some examples uh sort of for England Ireland and Scotland um that that were worked on by uh some research from the University of Leeds and um these have had enormous policy impact and kind of been used everywhere uh but sort of computationally it’s it’s

Very difficult to to take those methods and run them in a new place um and also to actually run it for the whole country takes over a day um and uh uses an external um rooting service over over a network and so you end up racking up

Quite a large bill with them to uh to sort of do this analysis and so that makes it hard to hard to repeat um so there’s a whole bunch of Open Source uh rooting engines today based on osm um and uh it’s so odet doesn’t use any of

Them yet um it’s possible that things could um things could change in the future but uh in short the the reasons are sort of performance um and being able to run things directly in a in a browser but uh we can kind of get into um ideas for integrating the two later

On uh so yeah now let me like actually just show you what odet looks like um or at least what the output looks like so uh I have a mouse um here is uh yeah so this is in um Liverpool in England so the first one uh that I’m

Showing you is calculating um the root from all of these blue dots which which are uh just buildings around um Liverpool and uh they’re all going to one place and this is sort of to to Really emphasize the pattern um in the thing and to show you that one place

There should be a purple dot that’s uh enlarging um so everybody’s trying to to uh to cycle to this one Hospital from all of the origins and uh and so then the like the thickness of the line kind of indicates these are the important roads and then the colors if they’re

Kind of showing up are roughly how uh how dangerous are these roads and so if everybody’s taking the the route um to get here you’ll see there’s this like the East West Corridor is sort of sort of very clear um a number of uh oh yeah

So there’s like over sort of 400 trips taking it um but it’s it’s has that worst LTS category where um it’s just sort of like it’s a it’s a uh four-lane road with no cycle facilities whatsoever um and a high speed limit and so this is

Kind of a problem if we were going to Target improvements uh this is kind of the the clear winner for things that are important to do to sort of make sure as many people as possible could cycle to this uh to this hospital um but we can

Also calculate sort of a quiet Network where we change the cost function and say um as much as possible let’s avoid main roads and so just to highlight the destination again um yeah that’s where we’re going and you’ll see that actually like a lot of people can uh get to the

Hospital and basically only take um green and blue blue roots and so that’s pretty good uh the roots are a lot more indirect you’ll see like lots of um curvy Wiggly things uh and if you happen to know Liverpool um well as uh as some people that were kind of using the

Results of this pointed out um the north south Corridor uses this uh like this trail that goes through a park and actually this Trail is not lit up at night and um people that work at that hospital will very much avoid it and so

Uh this is a this leads to a point that like um to sort of specialize these results for a particular place you kind of need local knowledge and in this case you need to know that um actually this is you know you’re not going to get hit

By a car there there but it it doesn’t feel safe uh sort of for other reasons and OD tet will let you tune the cost function and kind of um fix that but sort of ignoring those problems uh otherwise things look pretty good you will notice that there’s a bottleneck

For everybody living um kind of on this other bit of the peninsula where there’s only one bridge to cross um and it’s LTS 4 and in fact I think cyclists are maybe even not allowed on it most of the time and so that’s kind of an obvious bottleneck that anybody living there

Kind of would would have been able to tell you um right so uh and yeah and so there different versions of the network that I showed you are kind of have very different policy implications um if you just want to say like what if we wanted

To encourage people to cycle today is it even possible like are there just a few sections of a road that we want to kind of plug the Gap and fix the the quiet Network would help you do that um but if you’re ambitious as a politician um then

You could say you know if if we want everybody to take the most direct route then uh you know effectively like look for the arterial roads and the motorways and and make it nice to cycle on them um and so yeah the goals of of odet are

Basically to take kind of this previous work that um has had real policy impact but make uh make it be a lot faster and easier to run um be able to run it anywhere and uh also let you like really tune The Edge cost function for for

Cases like where um you know that thing that looks very nice from osm tags local knowledge says actually it’s not so nice um and just uh citing a little bit of performance numbers the formatting is not great on these but um kind of repeating one of the the earlier results

In England from 2011 data uh to calculate 13 million trips on um on this lap or not this laptop but the other laptop uh took about 25 minutes um and the sort of in in process including like downloading the data through scripts and and all the all the all that took about

90 minutes and actually the slowest Stu right now is using uh tipa Cano to sort of format the results so you can load in in a browser quickly um and we’re working on that but the point is um if you own the the rooting stack kind of

Into in you can you can do pretty cool things um and so the way that we’ll uh you can use OD tet a few different ways um the simplest is that it runs completely in your browser you can sort of uh import a small area from overpass

Um dynamically and then um play around with a few different uh like very very simple things just to um see how the tool works and then later you can uh actually like install it and either um compile from uh from source and rust or um use a Docker container and kind of

Like write your own data science scripts to uh to extract origin data and other things you need and get the results and we we’ll kind of go through both of these in the workshop part um but yeah so these are kind of the uh the inputs

That you specify to OD toet um the big one that might be a little bit confusing is the the OD data which is like origin destination so um effectively you have to tell OD tet like what trips do people take what are the the start and end

Points um and you can usually get this from some kind of census data depending on your country um a lot of times it’s sort of expressed as like Zone to Zone and so maybe your census something like uh you know 500 people live in in some

In some area and uh 30% of them are students and so you can make assumptions about like who’s going to school um and sometimes you even have data about like where people uh like the zones where people work and you have like flows in between the two zones and so um you can

Feed a bunch of different patterns of data into OD toet and it’ll kind of generate specific requests for them um and to be clear it’s not doing anything like taking the CID of a Zone and just like calculating 50 Roots between the same spot like that that doesn’t really

Make sense in this model you always want um like a specific point in space that usually like should represent a building or like a park or some place that actually people like begin or end a trip at um and so uh yeah the way it works um

You feed in the but you kind of specify some different input um you you run the tool and it kind of uh pares the osm data and builds this graph uh this graph data structure that can do rooting the actual rooting happens by a technique called contraction Hier

Um which is uh used by a lot of the open source reading engines out there um I’ll mention that the um contraction hierarchy library that odet uses is uh was written by one of the graphhopper developers in about two weeks um they didn’t know uh rust but they like

Learned rust and produced a like working an extremely fast library in the space of two weeks and so that was that was quite cool um but yeah so uh you you run odet you get this like you get the results expressed as a geojson file where um every line string is just like

One uh one road that goes between two intersections and so it’ll like split up the osm ways um and then we use a standard tool called typic can new to get PM tiles to uh to render in the web app um yeah so now uh if people have

Laptops out and actually want to try this um you can either go to uh you can find these slides at slides. ODT net.org um and then all the documentation is at docodon net.org um and depending on uh time and what people are interested in there’s sort of three um three things

That we could do uh so one is um there’s sort of an interactive mode where uh if you don’t want to do any coding or install anything you can just do this from your browser um and you can kind of get these interactive results and so uh

I’ll I’ll show I’ll show that option in a minute and we’ll kind of work through it um if you are comfortable uh installing stuff or maybe you already have like typic new osmium and and like python going um then you could follow uh the tutorial to sort of reproduce the uh

Existing results for um I think either like Edinburgh or York uh I don’t remember what the tutorial does but there’s like a few pre-written examples um and then if you wanted to like actually run odet for real in in your area and you kind of know how to find

Census information or find some kind of origin destination data uh you can kind of like write simple Python scripts to prepare all of the input um and we can work through examples of that um and then also I don’t know again depending on what people want to do uh we can kind

Of dive into in detail like how do these Edge cost functions and LTS def definitions work um you know how how do we decide uh based on a bunch of different factors what um is a road sort of suitable for cycling and how suitable

Is it uh we can kind of get into the details of that um yeah so I guess I’ll go through the interactive thing just to get people started and then maybe we can take a vote about what we want to focus on but this is up to y’all um also any questions so

Far there is is done okay uh so one thing that is seems uh missing this kind of analysis is that is assuming that uh these critical connections can be done only by upgrading car infrastructure structure and in many many cases much better things can be achieved by having uh

Structural rules for roads for uh cycling that are distinct completely distinct from Road Network for example something parallel to the motorway is much better than having uh L cway 20 M from extremely busy road obviously is extremely resource intens to find such cases to plug plug these kind of gaps or

Allow contraflow cycling and so on but it’s kind I think uh important to not miss this kind of solutions uh yeah thank you that’s an extremely good point like I wouldn’t want people to use this tool and then like only build substandard things as a

Result um so in the in the case of like parallel cycling roads next to motorways the way that this tool could help is by having the motorway light up as a uh as like a high demand Corridor and then like actually what people build is not

You know literally just a a cycle Lane with a little bit of cement in between that and the motorway but the point is like along the the path that the motorway follows is a lot of demand and so something should be done there um what this tool what this approach will

Not help you with is stuff like uh if there’s no existing um Road or path or bridge in uh in osm at all but like there there is a clear desire line to say like cross a river uh or cross a like a long uh rail line or something

Like it won’t it won’t really show you that it’ll try to follow it’ll try to find the nearest bridge and like have that light up as a as a big thing um and so I think it would actually be pretty helpful to maybe let you like draw in a new

Bridge or something and and and kind of verify like a lot of people would would use this because this actually would become the shortest path between places that many people try to go that kind of thing yeah one thing that I think would be much easier uh is it following oneway

Restrictions when trying to find root between points so it will also detect cases when uh Contra flow can be add it yeah so it’s actually uh ignoring all of the the oneway stuff right now um because this is not meant to like tell you how like what routes could people

Follow today except in one one of the modes like most of the time it’s meant to to tell you like there is some sort of pavement here like you could um like if there’s political will and a little bit of money like something new could be

Done there and uh and so yeah for that reason it’s ignoring oneway restrictions and you could use this to get contraflow stuff um one of the things I want to add later uh later on actually is an ability to say like care about existing one ways because again depending on like

Political and and money resources maybe you want to like look maybe you want to like very carefully follow what exists today or maybe you’re very ambitious and say like we we can change anything including direction to streets um but yeah today it ignores Direction completely um

Questions um I guess like so far a lot of the stuff that you presented has been pretty visual but um do you plan on also having like kind of summary metrics to like talk about like if a city were to build bike infrastructure on one of these really high stress streets um and

That actually reduced a lot of people’s detour from that existing from the ODS that you have um do you have somewhere where you like summarize that uh so that you can like just present them a simple number to communicate um thanks yeah uh really good question right now not so much um

Whenever you get the final result like on the left it does sort of break down uh like very roughly how many um like uh of all of the different trips cross like what’s the the total distance covered and so you could do something like uh calculate the the direct route and then

Like add in a network modification saying we built something new and then watch the the total distances drop um there’s I think a lot a lot better things could be done in that direction um and uh like two of the things that I want to represent going forward are like

Letting you sort of make specific uh modifications to the network and then kind of like have a comparative result um and more directly get this kind of analytics yeah so nothing exists like that yet but it’s it’s on the radar somewhere um okay yeah yeah just one last question uh is

There in your um knowledge any data that’s supports um the the modal shift uh knowing that you’re going to improve your uh your your bicycle Network so maybe by just comparing different cities and their um modal share of transport and using this tool do do you know of

Any data that can support um the the the the the knowledge of um a certain level of uh Road a cycle Network and the modal share of bicycles in a city um that’s the million dollar question right now uh so one of my colleagues Robin L at active travel

England is um is doing something kind of similar to that right now uh he’s taking data about like 20 case studies of across England in the past 10 years of like particularly good new cycle infrastructure and looking at um the mode split before and after and kind of

Seeing like uh of the people that started cycling like was it reasonably near the new stuff and like likely they were kind of using it um I’m not aware of any like good data or good results here like if if if they existed it would be very good because the case could be

Made to national government to get a lot of funding uh so yeah colleagues of mine are working on that but I also if you if you know of any of this kind of thing like yeah this is the this is the hard thing um yeah I guess I’ll I’ll walk

Through some of the um the interactive stuff uh but also like as people are working on this on your own if you hit questions about things um we can we can jump around um but if you’re in the web app at OD t.org then um you can change the mode

Like there’s there sort of three modes uh and we can go to the second one which is like to interactively generate networks um and so here you can uh either load an osm PBF file if you already have like an extract of some area that you like um I would stick to

Like roughly City size like everything is running in your browser through web assembly so like you know blow up your computer’s memory at your own risk kind of thing uh you can also um import from overpass uh either by pressing the import C current view button after

Zooming in sufficiently or um in the corner you have this uh like polygon tool to kind of draw an area um and and sort of for demo convenience there’s a few examples uh kind of built in so I’ll load one in um Let’s do let’s do Berlin actually don’t remember what this one

Looks like uh but yeah so like this is just loading a um a small extract of Berlin from a p PBF file that I made earlier so you get this little marker in the middle you can um drag this thing around and whenever you let it go uh

Hopefully pretty quickly it should um re regenerate Roots if it suddenly all disappears something’s gone wrong and just like move it again a little bit uh not entirely sure sure why that bug exists it’s possible that it’s like not snapping to anywhere on the network or

Something like that but um by by default the result here is like not very clear uh so you have some controls on the left um one of one of it is this like Max for linewidth styling a lot of the stuff so this is extremely Alpha uh this this

Will get better in the future but if you like lower this from like a th000 to 100 um you get kind of better patterns uh and um so in this case like what this uh what the interactive mode is doing is is taking um uh all of these Origins which

Are um actually just the intersections in the network it’s not even looking at buildings yet and it’s saying what if all of these tried to go to the point that you have on the map um just to kind of show yeah and you could sort of

Interpret this as going to or from just like everybody goes to uh I don’t know like a um like a sports center just from different places either to or from like what are the roads that they’re likely to to take as they kind of uniformly at

Random go somewhere um you can kind of see the the main things um and so then what you can do with this tool is uh is change the cost function and so up here you have uh distance which means people are just like ignoring the current um infrastructure that’s there and just

Like taking the most direct route so if we change this to um the second one the generalized cost function uh you’ll see that kind of by default it it switches to to really like prefer safer roads and and the as a result you have um like very crazy like zigzag patterns that

People as people like avoid a main road that would have been more more direct um and what’s kind of neat is that this thing lets you um sort of express your uh your root cost function in a in a very detailed way and so um right now so

This is like a a radar chart and it exposes um like three different things that you you might care about uh so LTS is that level of traffic stress so basically like um is the road safe or not and then um you have a second one which is like the proximity to to

Different amenities and so um the use case here is like uh there’s often a um like a political thing that happens uh or a political statement that happens where it’s like let’s say you’re going to remove a lane of parking to to make space for a cycle Lane um a lot of

Businesses nearby will say oh no I’m going to lose all of my customers and go out of business this is going to be like a big problem um and I think I don’t have data on this off hand but uh like many places have experienced very much

The oppos opposite where if you make it nicer to like walk in cycle in a place you increase footfall and like shops there see like a lot more uh a lot more business actually um and so like I guess if you’re uh if you’re a if you’re planning a transport Network and trying

To decide like what route should people cycle along you could send them through sort of neighborhood back streets like away from the main road and away and and away from shops um but if you particularly want to get this economic benefit then it it is probably worth

Kind of having um some of your cycle way like pass close to shops uh and sort of from the yeah and so basically this this is part of the cost function um if we’re kind of like thinking about how attractive or unattractive a particular road is to to cycle along like safety

Isn’t the only thing also proximity to um to points of interest are kind of another one um and proximity to Green spaces is another Factor although currently that control does absolutely nothing so just don’t don’t use it this is coming hopefully soon um but what you

Can do here is uh is is sort of like express your um the the the the cost function that you want by dragging around the corners of this of this radar chart so let’s say that we actually really want to um to root close to amenities and we really don’t care about

Traffic safety at all we just want to like go next to the shop so we can take this and kind of drag it uh here and then you’ll see that um it’s like 60 yeah so now like amenities are like 60% of the cost function um LTS is like 30%

And then Green Space we can just like make that go to zero or something um and the the roote will change a little bit as a result um and and sort of yeah like as you fiddle around with this cost function like you’ll uh you you’ll see

Things on on the map change um and then you can also uh kind of modify the the different categories of um traffic stress and like how much are they a problem and um maybe I can jump back to slides in a moment to kind of show uh how this works

Um yeah um and just to show you the uh the third mode um because this is helpful if you’re sort of like defining your new cost function um if you go to explore Edge cost and then again uh load an example we can back go back to Berlin

Um you can kind of color things you can color the network by different uh attributes to sort of understand this a little bit better so um if we change the uh color this by nearby amenities this is just showing you um like based on the points of interest scrape from osm and

Kind of snapping it to the nearest Road uh most of the amenities happen to be up here and like only the roads that are kind of um darker like have things snapped to it uh some of this process might like this this is mostly here to

Debug like some of the the snapping and point of interest um extraction might be a little bit wrong uh but yeah like according to this most of the the stuff is kind of up here and like you know it’s a lot patchier uh in this corner of

The map but if we change this back to um visualizing by uh Edge cost then um like by default our Edge cost function is distance and so just every road is exactly the same if we change it back to that generalized cost function um then this is now kind

Of showing you like a heat map of of how good is the street for uh for rooting based on the preferences that we express and so um if we kind of take this and and again like prefer uh rooting close to shops then we should expect to see

Things kind of in the top corner of the map be um a lot more uh lowc cost because being close to shops is is sort of good in our definition um so if we try that um and then make uh really deemphasize level of traffic stress

Um it is may be working yeah where uh now the yeah like most of most of the roads kind of have a neutral cost and then particularly low cost this like light green color is kind of happening in the corner where there’s a lot of different shops and stuff um but yeah so

These are some of the things that you can do with uh with the Edge cost function um I can kind of talk about how that works in a little uh in a little bit of detail so um if you uh are not familiar with like rooting rooting

Engines and stuff um effectively they if you ask it for a path from A to B they try to like minimize the total cost of that of that path through the network um and the like simplest way to think about cost is just um straight line distance

Like uh you know just take the most direct rout there and ignore everything else um and of course if you’re uh if you’re like a cyclist rooting there’s like a bunch of different things that you you might care about um and so like the the first one on your mind is that

Like LTS uh safety rating um but then kind of as I mentioned before like if you have a completely like separated from vehicle traffic path maybe it’s not lit up at night or it’s like it’s a canal toe path um and you know if it’s very narrow and you feel like you could

Actually fall in kind of thing um and and also sometimes you have a like a a segregated cycle track that’s like you know away from traffic but it’s it’s close enough to where it’s still like Extremely Loud and unpleasant like you know that that’s not really nice um uh

Also like hilliness and elevation very much matter um currently odet doesn’t uh import any of that but that’s that’s on the that’s also in the future work um so the goal is like all of these different factors will eventually be in that radar chart and you can kind of Express like

You have to make a trade-off and say like these are the ones that are important to me and these are the ones that are not um and so uh and the reason this is important is that like you’re as a um as a city planner you might be

Targeting different people to kind of convince them to to start cycling um and like maybe you uh you have an ebike subsidy because you’re in a really hilly place um and you’re kind of targeting people going to to work every day and so like what are the things that are

Important to them are probably um both time and safety and you know there’s a little bit of preference to just like happening to pass by um someplace to get breakfast in the morning like you know this is different than somebody saying like I’m specifically going to go to one

Shop on my way to work it’s just like root me vaguely near a bunch of things that are open so that if I you know get hungry 50% of the way through the ride like there’s a lot of options nearby um and so like that that cost that uh Edge

Cost function is very different than what um somebody sort of training for uh to just like improve their athleticism would feel because like then in that case actually maybe somebody wants to to find Hills to prefer them rather than avoid them um and you know they they

Really want to avoid delays at traffic signals in lots of turns they just want to go in a straight line uh fast that kind of thing um and you know this Edge cost function is also very different than uh If you’re sort of trying to get

School children to cycle to to uh to school on their own um you know then like having the fastest path possible is probably not important probably like a very quiet safe route uh close to Green Space and stuff like that is is maybe what you want from a policy perspective

And so um the goal is that like you can sort of Express all of that uh by this Edge cost function um and so effectively the way way that it works is that um if we have the three different factors uh like LTS uh or the traffic stress like

Closeness to amenities and green space um you have to pick a trade-off between them and so you have to like make these add up to 100 and just like you know you can’t have all three or if you want all three then you can set them to 33% that

Kind of thing um but yeah so you uh you get the user to sort of Define the the trade-offs they want to make and then for each of those factors then you have to come up with the number between zero to one that represents like how good is

This road for this category um and this is this is the really tricky part uh and so like for the level of traffic stress um the kind of simple thing that we’re doing right now is just uh letting people input this kind of manually and so um the example on the right

Is uh is equivalent to the like everything is exactly the same like you don’t you know you’re treating every road um equally you don’t care you just want to get there fast and then the example on the left is um maybe like a more reasonable default where like the

Extremely safe roads these have like a zero cost um and then the uh you know you kind of increase the value by some amount for the the more stressful streets and exactly like how much you you drag these sliders around um like tuning this well is the hard part and I

Don’t I don’t have good answers here uh I’ve just tried to make it easy to interactively fiddle with this and see the results and so that’s kind of the Hope um and then this gets even trickier for uh for things like defining a a score for like how how close is the road

To to different shops um and the simple thing that we’ve started with is just saying um you know the uh every road has like a certain number of shops that are kind of snapped to that road and are close to it and so um we’ll give a uh

We’ll give a good score if there’s at least five shops near a road and a score of zero otherwise you could also Imagine like just like linear inter linearly interpolating or um even requiring like a mix of different shops and not just saying like any kind of point of

Interest or whatever um but yeah you could do something fancer if you wanted uh and then similar for um for Green Space this is not implemented yet but I think we’re gonna have different sliders to kind of Express um how close like are you going through a park or are you just

Next to it or something like that um uh I guess model stuff is not too important um but 15 minutes uh yeah so um any questions so far or uh like things that people would want to use this for and and don’t know the next step for anything like

That okay um in that case uh I will talk about a few um oh yeah I guess I’ll uh like move into the last section of the talk um so if you’re interested in using this uh I guess let’s say as of today the um odet is kind of in Alpha where uh

Like the configuration format and a lot of the input will sort of keep changing soon um and there’s a lot of things that are not really implemented yet but um like will will be implemented uh at some point and if you’re interested in in this project and want to contribute um

Particularly getting like elev getting a a good way of of like finding a data source for elevation and then um being able to like match it to roads uh would be a very useful thing I think there’s like a lot of software out there that does it already a lot of it has

Dependencies that are particularly tricky to run in a browse in a browser and it’s like the gold standard would be everything can sort of compile to web assembly and like you don’t need to attempt to install gll or anything like that um but I think we’ll have to to make some sacrifices

Around that um and yeah and then to sort of use this in your particular area uh it’s probably most helpful to find origin destination data from um from some Source whether it’s uh you know maybe like the the public Bike Share program in the area kind of publishes

Like um anonymized data about like trip trip starts and ends you could like write a small script to kind of convert that into the standard format and use that um so things like this if you want to get it going in your area there will be like a little bit of data science

Work um in each place but uh it would be good to add more examples to the repo um and uh yeah and so these are some of the mini limitations um in odet uh all of these things at some point will kind of be um improved uh so I realized one of

The things I didn’t show you was if you want to use this in your own area um like what are sort of the steps to do so uh yeah so um if you kind of go through the uh the the tutorials they’ll walk you through the sort of thing um but I’ll

Kind of show you what one of the uh examples looks like I think it’s the I’m GNA go to the tutoral because I forgot which one was the uh yeah so this is an example um in Scotland yeah so the uh the OD toet input it needs a few different files um

And so these are just like simple Python scripts that uh are examples of how to produce that input um you could also write these in r or uh anything else you want to like the the purpose is just to sort of produce the input um but the the

Basic steps that you need to follow are to produce an osm PBF file that like represents the area you care about and so you could do this for example by like downloading from geofabric um and then just like clipping to a bounding box using osmium um and then in the case of uh

Like the hard part is usually com coming up with origin destination data um in this case the a really simple thing you can do is just um use uh like calculate building centroids for everything in osm and say these are all of the possible um start positions uh and of course this

Has many many problems because like um not uh like not as many people like you you could have like a an apartment building with like 100 people living in it versus like a single family detached house with like one person living in it um and you would want to start more

Trips in the in the higher density housing and so um if you like you could write something fancier and sort of use uh any tags in osm about like the height of the building to kind of calculate um the you know the relative weight of an

Origin but um in this example it’s just sort of treating everything uniformly uh and then for this example um in Edinburgh there’s a sort of another project that’s already like Define these like census zones um and so you just have to like end up producing a geojson

File with polygons um that kind of have a name and then you need uh then you make a CSV file that um sort of says how many people go from Zone one to zone two uh the CSV file sort of has a certain format um and then that is uh that’s

Basically it then the um the you write a little Json file to configure odet um and kind of specify all this stuff as input and this is also where you would uh use the cost function and so you’ll notice that like the cost is just distance here um what you could do is

Use the interactive tool kind of come up with this uh this thing that looks right in a small area and then there’s a button to um to produce the Json you can copy that in yes I was uh trying to do exactly this and question there is this buildings uh

Go Json file uh is it necessary to set up separate pipeline to generate it or is it just uh will generate from the previous step uh yeah so odet doesn’t doesn’t make it you just have to um to produce it yourself and then refer to it in the

Config Json file the examples um should be using uh ogr to ogr to to do centroids is okay to make these make zones make OD empty or is necessary to produce something there to keep example working what is the minimal example um yeah good question I guess uh

You could do much less with them you could have a a much more minimal example um where uh you could just specify like building centroids and then say um let’s send everybody from a a building centroid to the nearest school and so you would like the minimal example might

Be like two geojson files one with um points representing buildings and the other with points represent presenting schools which you could also do with a uh like a simple query from somewhere um and then there’s a uh there’s a piece of config where you can say send everybody

Like start from every origin to the um to the nearest destination sort of as the crow flies like that’s an ex a simple pattern that um isn’t realistic but could sort of help uh yeah um what I could do is in the next few days sort of add a more minimal

Example in a new area um and kind of write that up as uh I think that would be like helpful documentation so yeah um uh about 10 minutes left any other questions or um if not I can show it’s not a question but maybe an answer there was a question earlier

About a numerical score uh there is a already a sort of tool that does that by S network analyzes was developed in the States but uh they also try some European cities uh the thing is that the numbers don’t really sometimes reflect the what you what you feel as a bicycle

User they they sometimes give strange results and I think one of the problems might be well with the application of this level of traffic stress to to to European tagging by maybe I have a question because I just tried with a custom PBF that tool and I found out that it

Includes uh as lts1 a lot of pedestrian infrastructure which were you actually not allowed to to use is it interational is it by default possible in the UK or uh yeah good question this is why you kind of need to write your own function um I’ll show you a little bit of what

That uh code looks like so the the LTS definition is coming from the bike Ottawa group actually um and hasn’t really been tuned for other places um and so uh if you wanted to oh yeah so um if you go to slides. o.org this is how

You kind of quickly uh get to um like some of these links or you can find them in the other place but the uh the logic for the um bike Auto was LTS thing uh I believe yeah in general kind of like if it’s a if it’s a foot path and it does

Not say bicycle equals no I think it’ll allow it um but this is very much like there’s different rules in different countries and like there’s also different uh like some sometime some places will explicitly include bicycle equals yes no on foot paths uh and so yeah like this is kind of why you

Probably need to write your own um uh LTS function to kind of like properly reflect that area um and if you do I think it would be like extremely helpful to like submit it as a PO request so there can be like a few different examples in there um and you can write

These things in uh in whatever language you want um there are examples in uh in like in Python where this is kind of like the minimal uh this is sort of like the minimal example of how to um Define an LTS uh a custom LTS thing based on osm

Tags so kind of as input you get this um like this big like Json dictionary with all of the osm tags if you like copy the basic structure of this uh of this file you can kind of just modify the stuff here like effectively you get um

Uh all of the Just the key value pairs um directly from osm and you just have to return a number between uh one two 34 or zero for not allowed and so in this case you could say something like um if it if it matches these cases of foot

Path then just exclude cyclist from them entirely yeah um yeah so uh I guess um since I have a few minutes left I’ll show a few other tools like if you’re generally interested in um like the goal of using OD toet is kind of to come up with like uh you know

Unless you already work in government to like as a like campaigning group sort of go to your government and say like you know we think there need to be roads in this particular we need we think there need to be improvements in this particular place and we have like some

Amount of data and and methodology to kind of back it up uh so oget kind of helps you with some of that but um there’s a few other tools that I work on uh with active travel England that could be helpful um so this first one is

Called uh the like a tip scheme Sketcher um and you can think of it as like a a very fancy geojson editor that um helps you do a few things so uh it’s kind of like pre-built uh in this area um sort of in North England and so you can uh

You can create routes that snap to the roads um so maybe I’ll make one from like Bradford Cy Center to uh to down here and sort of by default it follows all of these roads um the main road but if I don’t like some of that uh I can

Sort of zoom in and drag these points around to kind of get exactly the shape that I want um and this is going to require uh actually not okay it’s hard to do it with a mic um and and maybe if you wanted to do something like draw a

New bridge uh over this Motorway like maybe you want a dedicated Crossing like we could have um the cycle route go to this dead end Street and then uh actually hang on you can drag another point and then if you press s it’ll sort of like let

You switch it to this freehand thing and so you could like imagine a new special crossing over the motorway and then on the other end um kind of drag the snapped Point here and like make another Point um H that didn’t quite work yeah I messed that up but um the

Point is yeah you can draw roots that are either snap to the network or you can have some sort of freehand segment in between uh you can also do the same thing to describe areas so uh If you’re sort of making a like a low traffic neighborhood or a big pedestrian Zone

And you just want to quickly like make a polygon that covers space uh you can do this new polygon snap thing um click three points um sort of does the area in this case I want it to like kind of uh follow the main roads and so I’ll drag

Some more points until it sort of matches what I want um yeah and so this is kind of using the same uh the same technique and just like you can quickly draw area polygons that snap to something um and so yeah effectively right now this is just a like a fancy

Geojson editor um and you you export these things um it has a certain schema and then um like per uh per field you can also kind of like fill out this basic information we have different versions of this for sort of internal use where uh people are starting to put a lot more

Information um like uh you know along a cycle way they might specify what they’re what they’re planning to do the minimum width like the number the expected cost things like that and so it’s a yeah just sort of a data entry tool that’s convenient um and then there’s a

Uh kind of a similar tool a sort of the like once you once we collect a lot of information about um schemes that people are planning we have this just like uh kind of General tool that shows a bunch of data in one place um I don’t have any

Of the internal data about where people are planning to build stuff in England but you could load that if you did if you did have it um and then you can just show uh a bunch of different layers most of these are from or pretty much all of

These are from osm so we could like highlight all of the Rail stations around the UK um we could show uh existing infrastructure like bus routes kind of um based on if there’s a a bus line there or not um we could uh we have a whole bunch of just like

Administrative boundaries which are um necessary to know sort of for funding reasons uh you can kind of like show all of those in one place we also have um a lot of the sensus data from the UK uh the UK census um where uh this is like quite quite detailed like uh output

Level stats on like population density or um percentage of uh households that have a car or not and so like these are all sort of evidence layers that um people in government need to use to to either uh plan infrastructure or assess if it’s you know should be funded or not

Um and so this is just a a tool that kind of has a bunch of layers in one place um and uh yeah and so this is all a um spelt map libr application that’s also open source um and so if you want to build anything uh

Similar to this then please get in touch and I can point you at a code that may be helpful yeah so I have a question from some online participants so um I have Tobias Jordans who is asking how is the tool used right now and how or how is it planned to be

Used um so that’s the question thanks um so uh right now odet does not have any um active use because it’s it’s still quite in development as uh hopefully the presentation emphasized um but yeah so the first uh use of it is is at active travel England um we’re

Looking at this like safe route to school project where uh effectively we want to encourage um children everywhere to be able to like safely cycle to school on their own or to form like kind of bike bus programs and like as as big groups uh get together and and um cycle

Together and so uh we’re some some other colleagues are working on doing very difficult data science things to kind of come up with the cost function uh that matches the like behavior of what um school kids should do on the on the on their way and once we do that

We’re going to like look for gaps in the network where um yeah like B basically like the the ideal rootes for uh for this case are like not on main roads they’re going to cut their neighborhoods and use sort of existing quiet weight infrastructure um but there are gaps in

This and so we’re trying to use odet to discover those gaps and prioritize what we should uh what we should fill and so the origin destination data is actually um kind of interesting because uh we sort of have um uh more detailed internal information about um for every

Single School in the UK like roughly the the post code or like the general area where uh where all the students live and so we can plug in very um detailed data there and kind of use it internally to decide which roads um have gaps that we should we should

Fill yeah so there’s also a remark uh so that they’re also working on something like um LDS version for Berlin um so maybe there’s interest in a collaboration I don’t know um and there will also be a talk at the F 20 2024 conference so maybe something for you to

Know yeah awesome I’ll I’ll definitely get in touch um and I’m gonna try to actually visit brillin at some point and like uh yeah but extremely exciting to hear this work is happening and um I want to collaborate absolutely yeah um uh yeah I think we’re at the 3:00

Mark um so yeah you can find uh all the slides online um yeah please feel free to to start using this and send me email or file a GitHub issue if you have any problems uh but thank you

Share.
Leave A Reply