Delhi's longest bus route, Himachal Pradesh, counting POIs, and whom does OSM help?

Posted by contrapunctus on 18 August 2018 in English (English)

I haven’t written a diary entry in a while, so this one’s like a mash-up of multiple entries 😉 Bear with me.

A week or two ago, I set out to survey a bus route that has long intrigued me - the “Outer Mudrika Service” aka “बाहरी मुद्रिका सेवा”, or “OMS” for short. Like all “Mudrika” buses, it takes a circular route - but in this case, a big circle of Delhi. As of the 6th of August, I had mapped it as serving 84 stops - the average bus route serves at most 40, and this was not even it’s final form…I mean, I’d only mapped around half of it 😛

The survey turned out to be more grueling than I had anticipated. OMS starts and ends at Uttam Nagar, so I headed there (also by OMS, adding stops along the way I had missed in the night the last time). At Uttam Nagar Terminal, though, hardly anyone seemed to know exactly where to board it. I stood around an hour, not daring to sit lest I miss it when it comes (the fact that it’s a somewhat low-frequency route didn’t help). Figured I’d eat my packed lunch, but the place had an abundance of flies. Twice I walked between the terminal and the first bus stop where I suspected I’d actually find it, almost a kilometer away.

On the second time, at around 16:00 hours, I actually succeeded in boarding one. Wasn’t ideal - it would terminate halfway through, at Anand Vihar. Better than nothing, I figured.

Turns out, it was a blessing in disguise. Not only was even half of its route fairly long (particularly when you’re hungry and tired from standing so long! [1]), some manner of procession near Burari brought it to a halt at the apex of a flyover for some fifteen minutes. Atleast I got to eat 😛 By the end of it, my phone was running low on juice and I myself was thirsty and out of water. Called it a day at Anand Vihar and took a Metro back home.

Fortunately, the rest of the route was already mapped, albeit based on sightings and deduction. The result was 63 new bus stops, and Delhi’s longest mapped bus route, serving over 160 stops -

Some time ago I went on a trip to Himachal Pradesh. Seeing the state of the map there - particularly the roads - has given me a lot more work to do. I recorded GPS traces for unmapped roads, but I resolved to improve the accuracy of (the very roughly mapped) existing roads first - not realizing how much work that is. Enough to carry on for months 🙂

(ThorstenE in #osm mentioned spline support for OSM. That would be amazing, and would elegantly reduce all this work by multiple orders of magnitude 😔)

I’ve counted how many bus stops I’ve added, and now I happened to wonder how many POIs I’ve added in general, so…

type:node and (shop=* or amenity=* or leisure=* or public_transport=*) and user:contrapunctus in India (hope I haven’t missed anything major) tells me I’ve added a total of 2301 POIs in India

Of these 5 are in Ahmedabad, 8 are between Delhi and Chandigarh, 271 are between Chandigarh and Himachal Pradesh, and 2,017 are in Delhi.

These include -

  • 920 bus stops
  • 168 fuel stations
  • 134 public toilets
  • 111 ATMs
  • 102 banks
  • 65 restaurants
  • 60 places of worship
  • 51 fast food joints
  • 34 cafes
  • 32 convenience stores (or departmental stores, as we call them here)
  • 28 schools
  • 26 clothing shops
  • 24 chemists
  • 21 dustbins
  • 20 dairy stores
  • 16 salons
  • 14 car dealerships
  • 11 dentist’s clinics
  • 10 car repair shops
  • 9 each of benches, gyms, and taxi stands
  • 7 each of alcohol shops and ice cream parlors
  • 5 each of bakeries, clinics, kindergartens, and police stations
  • 4 each of bookshops, drinking water, and embassies
  • 2 bus stations

Hard to believe - have I really added so much already? Of course, I admit that these are really just the tip of the iceberg…

I’ve often been asked by people who are close to me and know of my OSM work - who uses OSM? Does your mapping help anyone? It’s hard to ingrain the infinite value of open data in their minds, but a more interesting answer has slowly been emerging - me! It helps me.

On our road trip to Himachal, I had tried to map as many fuel stations on the way to Janjehali. On the way back, when our car was running low on fuel [2], I was able to know exactly how far away we were from the nearest fuel station. The patchy data coverage there didn’t deter the sole user of OsmAnd offline maps in the group, either.

When I need to know what Metro exit I need to take, taking a look in OsmAnd is easier than consulting the signs. (Google Maps doesn’t have this, AFAIK.)

When I went to a bank which I thought was on street A but happened to check OsmAnd and realized in time that it was on street B.

Google Maps itself has failed me many times - telling me there’s a swimming pool for what turned out to actually be a pond in a park, telling me there’s a chemist 3 kilometers away from where it actually was, and other such comical moments.

And while OSM doesn’t yet have the POI-completeness to match, it’s already exceeding my own memory’s record of local knowledge - storing and reminding me of things I’ve long mapped and forgotten. All it needs - as far as I’m concerned - is

  • multi-modal PT routing, real time traffic information, snappier performance, and better search in OsmAnd,
  • (not so importantly) the ability to modify tags of ways and areas in OsmAnd, and
  • support for Bezier curves/splines in the database. [3]

Lastly, I now seem to have hit the 700 changesets mark. Yay me. 🙂

[1] I tend to not sit when surveying a bus route - the seats in the main, low-floor cabin are all reserved for women or the elderly or persons with disabilities, and if I sit in the high-floor rear section, I often miss the names at bus stop signs.

[2] the only way to get fuel in Janjehali is through the ‘black market’, which is neither cheap nor assured of purity

[3] Of course, bigger adoption in India would be nice, too…

Comment from SK53 on 19 August 2018 at 19:53

Great post. This bit is oh so true “me! It helps me.”

Comment from contrapunctus on 20 August 2018 at 09:12

Thanks, SK53!

Also, I realized since the time of writing that using ... user:contrapunctus in India (atleast in JOSM) downloads not only objects I created, but also those I merely modified. So the numbers are probably inflated a bit. Welp.

Comment from SK53 on 20 August 2018 at 09:21

Now you are entering the murky realms of wrangling OSM History files. I started a month ago and am still finding irritating bugs & unwarranted assumptions in how I process the data.

Comment from Polyglot on 20 August 2018 at 15:20

Wow, that is an amazing job! I downloaded the relation, with the plan to see if anything could be improved using the PT_Assistant plugin, but the ways are fully continuous, the stops are all in the order the ways are traversed. No oneway roads traversed against the flow. Wonderful!

Comment from Polyglot on 20 August 2018 at 17:40

Hi Contrapunctus,

I used new functionality in PT_Assistant to conveniently add the ways that seemed to be missing for the other direction of travel of that bus.

I didn’t upload it, as I can’t be sure that the bus does the full itinerary in the opposite direction as well, but feel free to try it out for yourself!


Comment from contrapunctus on 22 August 2018 at 19:11

Thanks, Polyglot! Honored to hear such praise from a veteran mapper like you. ^_^

That routing helper function looks like great fun! I gave it a shot myself - takes out a lot of the “Ctrl-click -> add to relation” stage of the work, speeds it up quite a lot. Has a few rough edges, I suppose it’s in early days yet.

This gave me the idea - it’d be really cool to be able to just give it a GPS trace, and let it add ways and stops based on that. That’d really make the job a breeze! 😀 All that’d be needed after that would be a review. Or, when a GPS trace isn’t available, to just specify the first stop+way and last stop+way, and it can add ways and stops itself, maybe even offering to split ways where required.

Comment from Polyglot on 22 August 2018 at 23:17

It’s a bit tricky (otherwise it would have been done long ago already), for the itinerary, it just might work. For the stops, not so sure. I’m afraid it would be for a next Summer of Code project, though. What I would like to see now, is that it gets expanded to foot and bicycle route relations.

Splitting the destination way (the coloured ones), is already implemented. Splitting the from way (the white one) isn’t yet. maybe it would be feasible to put it on 8. 9 backtracks, 7 skips that gap. 8 could review the white way for suitable side ways for the mode of transport and propose those in colours, then if one is chosen, split at the appropriate position.

I’ll have to discuss the feasibility with Biswesh over the weekend.

Please tell more about the rough edges. I also encounter some, but maybe you encounter different ones.


Login to leave a comment