Hi!
I’m trying to create my own Garmin maps based on the OpenTopomap style since the normal official OpenTopomaps lack address searching.
The creation process works flawlessly now and the maps are working great so far.
Now I tried to generate several other maps to have them on my GPS device (GPSMap 66s if it matters).
But when I generate maps for Germany and Belgium, only Germany is visible in the map selection screen of the Garmin device. Belgium alone works, the map is recognized and displayed. If I copy a map of France to the device, Belgium disappears again. France and Germany together are working on the other side.
This is the scrip I am currently using:
create_map.sh
#!/bin/bash
VARIANT=$1
BOUNDS=$2
SEA=$3
#settings variables
if [ $VARIANT = germany ]; then
DESC="OSM-Germany"
MAPID="42000000"
ABBR="DE"
NAME="Germany"
ID=1
FAMILY="4201"
fi
if [ $VARIANT = france ]; then
DESC="OSM-France"
MAPID="42000001"
ABBR="FR"
NAME="France"
ID=2
FAMILY="4202"
fi
if [ $VARIANT = belgium ]; then
DESC="OSM-Belgium"
MAPID="42000002"
ABBR="BE"
NAME="Belgium"
ID=3
FAMILY="4203"
fi
if [ $VARIANT = netherlands ]; then
DESC="OSM-Netherlands"
MAPID="42000004"
ABBR="NL"
NAME="Netherlands"
ID=4
FAMILY="4204"
fi
#cleanup of working directory
rm work/*.img
rm work/*.pbf
rm work/*.poly
rm work/*.list
rm work/*.args
rm work/*.txt
rm work/*.tdb
#cleanup of source dircectory
rm in/*.pbf
rm in/*.poly
#adjust FID in TYP
sed -i "s/FID=.*/FID=$FAMILY/g" in/opentopomap.txt
#get bounds if specified
if [[ $BOUNDS = bounds ]]; then
rm in/bounds.zip
wget https://www.thkukuk.de/osm/data/bounds-latest.zip -O in/bounds.zip
fi
#get sea if specified
if [[ $SEA = sea ]]; then
rm in/sea.zip
wget https://www.thkukuk.de/osm/data/sea-latest.zip -O in/sea.zip
fi
#download sources
wget https://download.geofabrik.de/europe/$VARIANT-latest.osm.pbf -O in/$VARIANT-`date "+%Y-%m-%d"`.osm.pbf
wget https://download.geofabrik.de/europe/$VARIANT.poly -O in/$VARIANT.poly
cd work
java -Xmx4g -jar ../software/splitter/splitter.jar --description=$DESC --mapid=$MAPID --max-nodes=900000 --polygon-file=../in/$VARIANT.poly ../in/*.osm.pbf
java -Xmx4G -jar ../software/mkgmap/mkgmap.jar --latin1 --mapname=$MAPID --country-abbr=$ABBR --country-name=$NAME --family-id=$FAMILY --product-id=$ID --series-name=$DESC --family-name=$DESC --index --housenumbers --route --net --location-autofill=is_in,nearest --order-by-decreasing-area --reduce-point-density=4 --reduce-point-density-polygon=4 --drive-on=detect,right --min-size-polygon=8 --polygon-size-limits="24:12, 18:10, 16:8, 14:4, 13:2, 11:0" --add-pois-to-areas --add-pois-to-lines --link-pois-to-ways --process-destination --process-exits --dem-dists=9942,9942,19884,39768,53024,53024 --show-profiles=1 --draw-priority=20 --gmapsupp --style-file=../in/opentopomap --bounds=../in/bounds.zip --precomp-sea=../in/sea.zip -c template.args ../in/opentopomap.txt
Does anyone have a hint what might be wrong here? FamilyID is different between maps, so is MapID.
Thanks a lot!
Edit: Saw the thread over there: Self created maps are not always visible on Garmin Device (Dakota 20)
But unfortunately it wasn’t really helpful.