logo separator

[mkgmap-dev] New User: Inconsistent results - help!

From Gerd Petermann gpetermann_muenchen at hotmail.com on Thu May 14 20:05:24 BST 2020

Hi Andrew,

the img files contain a timestamp, so yes, different builds will have different md5 hashes.
With the additional option --preserve-element-order the differences should only be the timestamps, typically 6 per *.img file.

Gerd

________________________________________
Von: mkgmap-dev <mkgmap-dev-bounces at lists.mkgmap.org.uk> im Auftrag von Andrew Morris <drew101 at shaw.ca>
Gesendet: Donnerstag, 14. Mai 2020 20:36
An: mkgmap-dev at lists.mkgmap.org.uk
Betreff: [mkgmap-dev] New User: Inconsistent results - help!

(Sorry for the possible repeat, the previous message was sent from the
wrong e-mail address)

Recently I updated my GPS unit and decided to also update my maps
(2011).  After looking at Garmin's prices I decided to take a look at
OSM, and things have come a long way since I looked last (2012?).

I did some reading and headed down the road.   Things seem to be
working, but I'm getting inconsistent results - aka the gmapsupp.img
file is not the same each time I create it.

(Note: My Java isn't the latest-greatest, but it should be sufficient
for this process: java version "1.8.0_202")

Here's what I've done:

1) Downloaded the latest versions of mkgmap (r4486) and splitter (r597).
  I also downloaded and compiled osmconvert and osmfilter.  I placed
them in their own directory:

(I'm a sysadmin by trade, this is what I do...)

ls -l /opt/mkgmap/ /opt/mkgmap/lib/ /opt/mkgmap/bin/
/opt/mkgmap/:
-rw-rw-r-- 1 bin bin   17989 May  6 02:37 LICENCE
-rw-rw-r-- 1 bin bin    2784 May  6 02:37 README
drwxr-xr-x 2 bin bin    4096 May  7 13:58 bin
drwxrwxr-x 3 bin bin    4096 May  6 02:38 doc
drwxrwxr-x 6 bin bin    4096 May  6 02:37 examples
drwxrwxr-x 2 bin bin    4096 May  6 02:37 lib
-rw-rw-r-- 1 bin bin 2350418 May  6 02:37 mkgmap.jar
-rw-rw-r-- 1 bin bin  413879 Jan 30 07:11 splitter.jar

/opt/mkgmap/bin/:
-rwxr-xr-x 1 bin bin 182128 May  7 13:58 osmconvert
-rwxr-xr-x 1 bin bin 100640 May  7 13:58 osmfilter

/opt/mkgmap/lib/:
-rw-rw-r-- 1 bin bin 475284 May  6 02:37 fastutil-6.5.15-mkg.1b.jar
-rw-rw-r-- 1 bin bin 132654 May  6 02:37 osmpbf-1.3.3.jar
-rw-rw-r-- 1 bin bin 533455 May  6 02:37 protobuf-java-2.5.0.jar
-rw-rw-r-- 1 bin bin 120069 Jan 30 07:11 xpp3-1.1.4c.jar

2) I downloaded an OSM extract from Geofabrik, and using splitter carved
up my canada-latest.osm.pbf into pieces.  As per the wiki I used
osmconvert and osmfilter to build the bounds data.  These steps are
consistent and repeatable.  Here are the steps I've taken just in case
they are consistently wrong...

osmconvert canada-latest.osm.pbf -o=canada-latest.o5m
osmfilter canada-latest.o5m \
   --keep-nodes= \
   --keep-ways-relations="boundary=administrative =postal_code
postal_code=" \
   -o=canada-latest-boundries.o5m

mkdir bounds
java -cp /opt/mkgmap/mkgmap.jar \
      uk.me.parabola.mkgmap.reader.osm.boundary.BoundaryPreprocessor \
      canada-latest-boundries.o5m bounds

mkdir work
( cd work ; java -jar /opt/mkgmap/splitter.jar ../canada-latest.osm.pbf )

The final step (afaik) is to combine the split files and the bounds
information into a single gmapsupp.img file.

( cd work ; java -jar /opt/mkgmap/mkgmap.jar \
                  --route --add-pois-to-areas --bounds=../bounds \
                  --series-name='Canada OSM 2020' \
                  --family-name='Canada OSM 2020' \
                  --area-name='Canada OSM 2020' \
                  --country-name='Canada' --country-abbr='CA' \
                  --description='OpenStreetMap data for Garmin (2020)' \
                  --index --gmapsupp 6324*.osm.pbf )

This always runs to completion with MapFailedExceptions and
ExitExceptions returning 0.  Approximate time 19 minutes (4 core, 32G).

I am assuming that the series-name, family-name, etc are just different
tags used by different Garmin units.  I haven't tried uploading it to my
GPS unit yet as I'm concerned about the inconsistencies.   Here are the
results from multiple runs (osm/bounds/split data is all identical):

1260027904 May 7 16:54 gmapsupp.img
1260027904 May 7 17:18 gmapsupp2.img
1259929600 May 14 10:49 gmapsupp3.img
1259929600 May 14 11:44 gmapsupp4.img

md5sum -b *.img
34053990aecc68a257e95115b2bb3f45 *gmapsupp.img
91e3d3e9f0012672da65dead8c752dd9 *gmapsupp2.img
821234ad26e17d0135bf613cf9faf161 *gmapsupp3.img
abf39cef1430c4cbd74795fa11b571b8 *gmapsupp4.img

Is this normal?  If so why?

Thank you for any help you can provide!
_______________________________________________
mkgmap-dev mailing list
mkgmap-dev at lists.mkgmap.org.uk
http://www.mkgmap.org.uk/mailman/listinfo/mkgmap-dev


More information about the mkgmap-dev mailing list