
Carlos,
I have not forgotten your described problem.
1. Country specific rules are not applied I cannot reproduce that. I have stripped down a style to use only the line file with the following content: mkgmap:country!=*& mkgmap:admin_level2=* { set mkgmap:country='${mkgmap:admin_level2}' } mkgmap:country=DEU& highway=* [0x06 road_class=0 road_speed=2 resolution 22]
So all highways (no matter which type) in Germany should be contained in the map.
I compiled two tiles which cover some parts of germany and some parts of the Netherlands. The resulting map contains only all highways in germany. So the country specific rule seems to work. I have followed your approach, but still can't get it working for Morocco. In order to get it working for Spain, I had to manually create an osm file with admin_level 2 relation (1311641) and merge it with the Europe's extract from geofabrik, as part of the boundaries seem to be missing in it, and then re-create the boundaries files. I did the same for Morocco (africa+mocorro) but it didn't work. I also tried changing name tag in morocco's admin_level 2 relation from the Arabic name to Morocco (I seem to recall name-tag-list doesn't work for relations) with no success, so now I don't know what else to try. My commands: osmosis --rb africa.osm.pbf --rx boundary_morocco.osm --merge --wb africa-morocco.osm.pbf omitmetadata=true
osmosis --read-pbf file=africa-morocco.osm.pbf outPipe.0=1 --tee 2 inPipe.0=1 outPipe.0=2 outPipe.1=3 --buffer inPipe.0=3 outPipe.0=4 --buffer inPipe.0=2 outPipe.0=5 --tag-filter accept-relations boundary=administrative inPipe.0=4 outPipe.0=6 --used-way inPipe.0=6 outPipe.0=7 --tag-filter reject-relations inPipe.0=5 outPipe.0=8 --tag-filter accept-ways boundary=administrative inPipe.0=8 outPipe.0=9 --used-node inPipe.0=9 outPipe.0=10 --used-node inPipe.0=7 outPipe.0=11 --merge inPipe.0=10 inPipe.1=11 outPipe.0=12 --write-pbf file=africa-boundaries.osm.pbf omitmetadata=true compress=deflate inPipe.0=12
java -Xmx400m -enableassertions -Dlog.config=logging.properties -jar mkgmap-locator.jar --createboundsfile=africa-boundaries.osm.pbf --boundsdirectory=bounds_africa --generate-sea=extend-sea-sectors --route --tdbfile --latin1 --code-page=1252 --description="OpenStreetMap-Morocco" --family-name="Open Street Map" --family-id=17 --product-id=1 --series-name="OSM-Morocco" --area-name="Morocco" --overview-mapname=55170000 --mapname=55170000 --name-tag-list=int_name,name --index --ignore-maxspeeds --remove-short-arcs --merge-lines --add-pois-to-areas --adjust-turn-headings --report-similar-arcs --link-pois-to-ways --location-autofill=0 --drive-on-right --check-roundabouts --check-roundabout-flares --style=rules typ/MOROC-17.TYP morocco.osm.pbf
My "rules" style lines file for the test: mkgmap:country!=*& mkgmap:admin_level2=* { set mkgmap:country='${mkgmap:admin_level2}' } mkgmap:country=MAR& highway=* [0x03 road_class=3 road_speed=5 resolution 16] mkgmap:country=ESP& highway=* [0x02 road_class=3 road_speed=5 resolution 18]
After compiling the map only shows highways in the two Spanish cities in the North of Morocco.
Carlos, I couldn't reproduce your problem as you described it. I downloaded the Geofabrics africa dump from Jun 1st, precompiled the bounds files and then compiled the 4 tiles that covers morocco using your parameters. After that I got roads on the spain islands like teneriffe and morocco. So now you might have to check what's wrong with your map compilation process. As you stated the name-tag-list is important. The locator algorithm uses this list to get the name that is searched in the LocatorConfig.xml. This is also working for relations. I propose that you first remove the merging things. I cannot look into what's happening there. WanMil