
Google Maps has found a better way to navigate India’s chaotic roads - smacktoward
https://qz.com/1228422/google-maps-introduces-new-features-to-navigate-indias-chaotic-roads/
======
bkohlmann
Googles solution sounds very familiar to what we used in the military: GRGs or
geographical reference grids.

Every point on earth was contained within a box named with two letters. Within
each box was a theoretically infinite number of digits that could be assigned.

Practically, we had immense precision with as few as 8 numbers - 4 each for
the horizontal and vertical axes on the map.

While flying Close Air Support missions, we could be flying 30k feet overhead
and within seconds have our sensors on whatever the ground controller wanted
us to look at.

It was a version of Lat/long, but far more intuitive with each digit
representing a different order of magnitude of the base measurement unit.

~~~
colek42
MGRS is a pain to program. So many edge cases.

~~~
pouta
Can you elaborate? I'm really interested in knowing more...

~~~
colek42
Polar regions are tough, not many libraries support them. Lat/Lon represents a
point, MGRS represents an area. This causes issues when converting between
MGRS and lat/long and back again. Also, a single location can be represented
by several MGRS coordinates since the numerical value is an offset from a
line, the letters represent where this line is. Then we get into other issues.
When converting from lat/lon we need to know what projection the data is in. I
often have to make assumptions here, if my assumptions are wrong it could
cause an error of many km, depending on how far away from the equator you are.
There are several other edge cases I am probably no stating. If you are
interested there is some pretty good sample code here:
[https://svn.osgeo.org/gdal/trunk/gdal/frmts/nitf/mgrs.c](https://svn.osgeo.org/gdal/trunk/gdal/frmts/nitf/mgrs.c)

------
mtmail
The article doesn't talk about navigation, but referencing start or end point
(geocoding, geohashing). The plus codes are also called open location codes
and the pros and cons were recently on the frontpage
[https://news.ycombinator.com/item?id=16594188](https://news.ycombinator.com/item?id=16594188)

~~~
dragonwriter
> The article doesn't talk about navigation, but referencing start or end
> point

That's an essential part of navigation, and one that falls down in many
places.

------
theCricketer
Plus Codes is a "system is based on dividing the geographical surface of the
Earth into tiny ‘tiled areas’, attributing a unique code to each of them. "

The original blog post: [https://india.googleblog.com/2018/03/searching-for-
indian-ad...](https://india.googleblog.com/2018/03/searching-for-indian-
addresses-on.html)

------
deanCommie
Don't we already have a system for mapping worldwide geographic coordinates?

Or is this essentially an easier to read/remember version of
latitude/longitude?

I thought this would be about more clever pathfinding optimization in a part
of the world where typical shortest-path optimizations are much harder.

~~~
cdirkx
A couple of years ago I visited a startup which also tried mapping worldwide
coordinates, what3words [1]. They map 3x3m squares to a combination of three
words (language customizable). For example: the Eifel tower would be at
combos.cove.split. They had some clever tricks for mapping short memorable
words to densly populated areas and longer ones to the middle of the ocean.
Their aim was similar, to enable talking about a place without the existing
infrastructure of adresses and streetnames and for example make it possible to
deliver mail in slums.

[1] www.what3words.com

~~~
pwinnski
what3words is terrible technology, and also proprietary.

Quick, what direction do you go to get from combos.cove.split to
reindeer.steak.rules? I made up the second address, but it highlights how
completely useless what3words is for directions.

Worse than useless.

~~~
dalemyers
Quick, what direction do you go to get from 123 Main Street to 456 Birch
Street?

Quick, what direction do you go to get from 12.34567N, 12.34567W to 56.43210N,
23.87654E?

Not being able to immediately determine direction between 2 addresses isn't a
failing.

~~~
dingo_bat
> Quick, what direction do you go to get from 12.34567N, 12.34567W to
> 56.43210N, 23.87654E?

It's a pretty simple piece of math.

~~~
lloeki
Navigating on a sphere can be counterintuitive[0] (not a problem street to
street in practice, but the coordinates given by GP were far enough apart to
possibly exhibit the issue).

[0]: [https://www.greatcirclemapper.net/en/great-circle-
mapper.htm...](https://www.greatcirclemapper.net/en/great-circle-
mapper.html?route=CYVR-EGLL&aircraft=&speed=)

------
walrus01
these "plus codes" sound sort of like a DNS system because humans are not good
at remembering or typing purely numerical coordinates. For example decimal
degrees in a common system:

48.756071,-122.482410

(a randomly chosen location in Bellingham, WA)

in WGS84 datum decimal degrees, six decimal places is accurate to about 0.11
meter, which is close enough for pretty much any human land navigation needs,
and considerably better than the actual accuracy of a modern GPS+GLONASS+WAAS
receiver.

if you really want to be super accurate for navigation purposes go for seven
decimal places. Anything beyond seven is in the range of high precision
GIS/surveying tool needs only.

[https://gis.stackexchange.com/questions/8650/measuring-
accur...](https://gis.stackexchange.com/questions/8650/measuring-accuracy-of-
latitude-and-longitude)

so the question is how to take a string of lat/long coordinates such as the
one above for bellingham and turn them into some sort of geographical code
which humans can remember and type. Sort of like this:

[https://en.wikipedia.org/wiki/What3words](https://en.wikipedia.org/wiki/What3words)

the commentary elsewhere in this thread on the private, proprietary nature of
what3words is quite valid. I'm not saying that this _specific_ implementation
is the best possible idea, but that the general idea of geocoding numbers into
a consistent word-based system is something that is more easily remembered and
written down by ordinary humans who do not interact with IP addresses and long
strings of numbers on a daily basis.

try to remember a full ipv6 address vs. remembering a DNS hostname, for
example.

------
bingobob
Plus code isn't new Google talk about them before as there where developed at
Google's Zürich engineering office and release in 2014

there also called open location code
[https://en.wikipedia.org/wiki/Open_Location_Code](https://en.wikipedia.org/wiki/Open_Location_Code)

------
LeoPanthera
In the world of amateur radio, coordinates are converted into short strings of
letters called the Maidenhead Locator System:
[https://en.wikipedia.org/wiki/Maidenhead_Locator_System](https://en.wikipedia.org/wiki/Maidenhead_Locator_System)

I always wondered why this system hasn't "escaped" amateur radio and found
uses elsewhere.

~~~
telotortium
Looking at the FAQ ([https://github.com/google/open-location-
code/wiki/Evaluation...](https://github.com/google/open-location-
code/wiki/Evaluation-of-Location-Encoding-Systems#maidenhead-locator-system-
mls)), it appears that Plus Codes are very similar to the Maidenhead codes,
except in these respects:

\- Maidenhead codes contain vowels, which the Plus code designers didn't want
to use in order to avoid having codes spell words (which might have negative
associations or be profane).

\- The addition of the "+" character is felt to make it easier to autodetect
addresses when provided to Google Maps or similar systems.

------
ChaitanyaSai
Anyone know how they get traffic data in India? I am quite amazed by how
accurate and near-realtime their traffic maps are. While India is heavily
Android, it can't all be from crowdfarmed GPS data, or is it?

~~~
sumedh
Pretty sure its all data from Android phones, why do you think it would be
something else?

------
nonamechicken
Anybody knows whether Google's or MapMyIndia's is better?
[http://www.mapmyindia.com/eloc/](http://www.mapmyindia.com/eloc/)

------
kylehotchkiss
How much shorter could this system be with Emojis? Can they contain enough
info to limit it to 3-4 emojis? That would be easier to remember.

Emoji adoption for any smartphone issue wouldn't be an issue.

~~~
RustySpottedCat
Each symbol of the 11 characters in the plus code is in base 20. There are
about 2500 emojis, meaning that you can encode 2 symbols from the plus code
with one emoji (20*20=400, if you try to encode 3 symbols, it becomes 8000,
which is way more than the current emoji count). So that would become 5
emojis, instead of 11 characters, which in my opinion would look quite nicer.

~~~
superlopuh
Given the data Google has, I'm sure they could come up with an efficient
encoding scheme that would use far fewer emoji on average by prioritising
popular coordinates.

~~~
arbie
Most people do not know the exact transliterations for many emoji, so aural
transmission becomes difficult.

------
dingo_bat
Horrible title. This has nothing to do with navigation. Google didn't want to
invest money/effort into properly mapping addresses in India. So they
reinvented the lat/long system and call it "plus code".

~~~
jpatokal
No, there are no proper addresses for large slabs of India. The status quo is
people using things like "Vijay Nagar, IFFCO Chowk, behind Maruti showroom"
even for mailed correspondence.

~~~
dingo_bat
Why is that not a proper address?

~~~
sumedh
I guess because the govt does not have a proper standard especially in rural
areas. Some areas don't have proper roads so nobody from the govt visits those
areas.

------
ouzu
What3words ([https://what3words.com/](https://what3words.com/)) offers a
better solution IMO. It offers a system to represent coordinate as 3 words and
is localized in many languages.

