Heads-I-Lose

Changes On Branch origin/master
Login

Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

Changes In Branch origin/master Excluding Merge-Ins

This is equivalent to a diff from 8d51987b6f to 9c81571ac3

2018-06-05
10:56
Formatting Leaf check-in: 64b10ac7d9 user: noreply@github.com tags: master, trunk
2014-12-26
22:15
Add basic implementation for selecting between route geometries

Not a great implementation, but it works. If no route geometry choice is
made it defaults to the default "route_geometry". If
"alternative_geometries" is specified it uses the first one of the
alternatives (because as far as I can tell there is only ever one
alternative? I supposed at some point I could extend if needed, perhaps
use a tuple argument: {"alternative_geomtries", 1}). Leaf check-in: 9c81571ac3 user: base@atomicules.co.uk tags: origin/master, trunk

2014-12-14
21:54
Remove some redundant comments check-in: 0c4224822a user: base@atomicules.co.uk tags: origin/master, trunk
2014-11-24
22:27
First commit of OSRM API bit to get route geometry

Commiting this in a back-to-front way as I actually first started with
this file before doing the polyline branch. But it was as doing this
that I realised I was going to need a polyline decoder after all because
the API didn't actually return the route instructions and so I'd have to
use the route geometry instead.

So this is just a "works enough to develop further" commit so I can work
on the changes to headsilose.erl next. check-in: a0c2266624 user: base@atomicules.co.uk tags: origin/master, trunk

2014-10-23
10:40
Extend to decode a full example polyline (multiple points instead of single)

As per the Encoded Polyline Algorithm Format page:
https://developers.google.com/maps/documentation/utilities/polylinealgorithm

- Previously the decoder only worked with a single point (baby steps and
all that) and was tested with the example point of `~oia@
- This commit extends it to work with the example of
_p~iF~ps|U_ulLnnqC_mqNvxq`@
- Probably still to do is figure out decoding an unsigned value and the
bit about string literals.

Basically alter functions to use a list of lists approach:

- Adds split_up_six_bits which does what it says on the tin and looks
for the absence of the 0x20 bit and creates a list of lists of each
point's bit chunks.
- five_bit_chunks is now called six_bit_chunks since the groups of
chunks have to be split up at the six bit stage.
- Similarly, five_bit_chunk is now called six_bit_chunk; it is otherwise
exactly the same except from not "un-or-ing" the 0x20 bit to go from
six bits to five bits. Still padding to six bits, but I wonder if this
is entirely unnecessary and I can use this to determine the absence of
the 0x20 bit and thus where to split up the chunks into groups?
- five_bit_chunks now does the "un-or-ing" by mapping over the list of
lists. Perhaps this could be bundled in with the rest of the big
lists:map in the top level decode function?
- most of what was in the top level decode function remains the same,
but is just mapped over a list now. These should probably be at least
pulled out as separate functions that are mapped over. Need to decide
which approach to go for: functions that map or mapping functions.
- Changes to reversing, specifically the un-reversing of the five bit
chunks. This was bundled in with the five_bit_chunks function and the
un-reversing was achieved by simply not doing lists:reverse since the
function naturally reversed it. Now, to follow the algorithm backwards
step by step, there is now a lists:reverse at the end of
six_bit_chunks which then has to be undone by including a
lists:reverse in five_bit_chunks.
- Add in algorithm step numbers to comments. Leaf check-in: 8d51987b6f user: base@atomicules.co.uk tags: polyline, trunk

2014-10-17
20:17
Fixes for non-negative numbers

But confusingly fixed by fixing the negative numbers which already
worked, but just not the way I thought they were working.

I.e. I forgot bin_flip returns a string so the If statement I had which
just returned Shifted_binary in the case of non-negative numbers would
then fall over on the following steps because it wasn't a string.

Change so this bit just deals in numbers and not strings.

There will be lots of bitslike this where things can be simplified by me
not following the algorithm quite so literally. check-in: 9356c1341b user: base@atomicules.co.uk tags: polyline, trunk


Changes to README.md.

Changes to headsilose.erl.

Added osrm.erl.

Changes to polyline.erl.