Branch for house numbering development.


git-svn-id: http://svn.mkgmap.org.uk/mkgmap/branches/numbering@2387 25d90789-57f7-4ee0-8453-03a3dfeeeb22
Initial classes to represent numbers and a test framework to read back numbers that are written and compare.
No actual numbers written yet!

git-svn-id: http://svn.mkgmap.org.uk/mkgmap/branches/numbering@2388 25d90789-57f7-4ee0-8453-03a3dfeeeb22
Writer works under limited conditions.
Must be Odd, Even all numbers increasing and no large differences.

git-svn-id: http://svn.mkgmap.org.uk/mkgmap/branches/numbering@2389 25d90789-57f7-4ee0-8453-03a3dfeeeb22
First attempt at adding numbers to polish reader and RoadDef.

git-svn-id: http://svn.mkgmap.org.uk/mkgmap/branches/numbering@2390 25d90789-57f7-4ee0-8453-03a3dfeeeb22
Working numbers for the implemented cases.

It knows what is implemented and just does not add the numbers if it thinks it doesn't
deal with them.

Bonus fixes for polish format:
- Shields that are in the 6-bit notation are converted.
- Some maps use a large EndLevel, this is changed down to the maximum level declared.

git-svn-id: http://svn.mkgmap.org.uk/mkgmap/branches/numbering@2391 25d90789-57f7-4ee0-8453-03a3dfeeeb22
Change Numbering to Numbers

git-svn-id: http://svn.mkgmap.org.uk/mkgmap/branches/numbering@2392 25d90789-57f7-4ee0-8453-03a3dfeeeb22
Allow the the initial left style to be either even or odd as long as
the other side is the opposite (and not none for example).

git-svn-id: http://svn.mkgmap.org.uk/mkgmap/branches/numbering@2397 25d90789-57f7-4ee0-8453-03a3dfeeeb22
Allow more than one node.

git-svn-id: http://svn.mkgmap.org.uk/mkgmap/branches/numbering@2399 25d90789-57f7-4ee0-8453-03a3dfeeeb22
Rewritten the State class so that we can gather the information we need to
obtain the correct bit widths.
Implements the same cases as before.

git-svn-id: http://svn.mkgmap.org.uk/mkgmap/branches/numbering@2400 25d90789-57f7-4ee0-8453-03a3dfeeeb22
Implemented reading numbers written backwards down the street and at any
size gap between the starts and ends of the number ranges.

There are some corner cases that don't work, which will be dealt with in the next step.

git-svn-id: http://svn.mkgmap.org.uk/mkgmap/branches/numbering@2401 25d90789-57f7-4ee0-8453-03a3dfeeeb22
Can now change the number of bits and sign properties of the writers mid stream.
This allows us to always write the next number range correctly even when we failed
to work out the maximum required parameters ahead of time.

Would also be able to use this to optimize, but this is not done.

git-svn-id: http://svn.mkgmap.org.uk/mkgmap/branches/numbering@2402 25d90789-57f7-4ee0-8453-03a3dfeeeb22
Numbering styles can now be changed at a node along a road.

git-svn-id: http://svn.mkgmap.org.uk/mkgmap/branches/numbering@2403 25d90789-57f7-4ee0-8453-03a3dfeeeb22
Deal with numbers down only one side of the road.
Bug fixes.
Comments added.

git-svn-id: http://svn.mkgmap.org.uk/mkgmap/branches/numbering@2404 25d90789-57f7-4ee0-8453-03a3dfeeeb22
Deal with skipped nodes, but disabled due to the node number in
polish format not being what I had thought.


git-svn-id: http://svn.mkgmap.org.uk/mkgmap/branches/numbering@2405 25d90789-57f7-4ee0-8453-03a3dfeeeb22
The node number in the polish notation is the point number along the road. However in the file
it is the (routing) node number. So we have to convert. Also if there is no real routing node
then we have to insert a non-connecting one.

These non-connection nodes should be marked specially in the NOD file, but it seem that mkgmap
has never done this.

git-svn-id: http://svn.mkgmap.org.uk/mkgmap/branches/numbering@2406 25d90789-57f7-4ee0-8453-03a3dfeeeb22
Clear up all known bugs with the number preparer found by randomly generating
number sequences.

It now basically completely works.

There is one problem, on certain streets that are composed of more than one segment,
the numbers will be present in all segments as shown by hovering the cursor along the road,
but the find function will not find numbers in one of the segments, instead taking you to
the nearest end of one of the working segments.

git-svn-id: http://svn.mkgmap.org.uk/mkgmap/branches/numbering@2407 25d90789-57f7-4ee0-8453-03a3dfeeeb22
The names in NET3 should not be de-duplicated and this is why search
 only finds one part of the road.
 
 The de-duplication is done mainly for avoiding for the case where you name
  all paths 'path' and would get a lot of completely useless things in the index.
  
  So for now, I only avoid de-duplication when there are house number present. This means
  that it will not have any affect at all on .osm file at present.

git-svn-id: http://svn.mkgmap.org.uk/mkgmap/branches/numbering@2408 25d90789-57f7-4ee0-8453-03a3dfeeeb22
The statistic gathering phase of preparing the house numbers
was not reproducing the actual values that would be written and so was calculating
bad values.

Since we always check and change the bit width parameters when they are too small this didn't
matter from a correctness point of view, but adds extra bits to the output and makes it impossible
 to tell if other optimisations are working.

git-svn-id: http://svn.mkgmap.org.uk/mkgmap/branches/numbering@2409 25d90789-57f7-4ee0-8453-03a3dfeeeb22
Clean up the previous set of tests for calculating the number range
differences.

Add javadoc everywhere.


git-svn-id: http://svn.mkgmap.org.uk/mkgmap/branches/numbering@2410 25d90789-57f7-4ee0-8453-03a3dfeeeb22
Merge from the numbering branch.

Implements house numbers. The will display on the map and can also
be used in address searches.

Catch is that it only works with input files in the Polish format. Making it work with
OSM data directly is much more difficult!

git-svn-id: http://svn.mkgmap.org.uk/mkgmap/trunk@2468 25d90789-57f7-4ee0-8453-03a3dfeeeb22