[mkgmap-dev] [locator] Country specific rules
From Carlos Dávila cdavilam at orangecorreo.es on Sat May 21 18:45:00 BST 2011
El 20/05/11 11:06, Carlos Dávila escribió: > El 20/05/11 00:07, Carlos Dávila escribió: >> El 19/05/11 23:15, WanMil escribió: >>>> El 19/05/11 22:12, WanMil escribió: >>>>>> El 19/05/11 21:29, WanMil escribió: >>>>>>>> El 16/05/11 19:27, Minko escribió: >>>>>>>>> Cool! >>>>>>>>> I can use these locator rules also for the multiple language expressions in the 'default_name': >>>>>>>>> http://www.mail-archive.com/mkgmap-dev@lists.mkgmap.org.uk/msg07697.html >>>>>>>>> >>>>>>>>> Example: >>>>>>>>> leisure=pitch& sport=soccer& (mkgmap:country=NLD | mgkmap:region=Vlaanderen) [0x19 default_name="voetbalveld" resolution 23] >>>>>>>>> leisure=pitch& sport=soccer& mkgmap:country=DEU [0x19 default_name="Fussballfeld" resolution 23] >>>>>>>>> leisure=pitch& sport=soccer& (mkgmap:country=FRA | mgkmap:region="Région Wallone") [0x19 default_name="terrain de football" resolution 23] >>>>>>>>> leisure=pitch& sport=soccer [0x19 resolution 23] >>>>>>>> I tried rules of type below, but it doesn't work for Morocco. >>>>>>>> highway=primary& (mkgmap:country=ETH | mkgmap:country=MAR) [0x03 >>>>>>>> road_class=3 road_speed=5 resolution 16] >>>>>>>> highway=primary [0x03 road_class=3 road_speed=5 resolution 18] >>>>>>>> >>>>>>>> MapSouce shows "Morocco (MOR)" in the countries list, although >>>>>>>> LocatorConfig.xml has the rule below and there's no occurrence of "MOR" >>>>>>>> in the OSM data. >>>>>>>> <country name="Morocco" abr="MAR"> >>>>>>>> <variant>MA</variant> >>>>>>>> <variant>MAR</variant> >>>>>>>> </country> >>>>>>>> I know I could use MOR instead of MAR in my style but, shouldn't it be >>>>>>>> consistent with the LocatorConfig? >>>>>>> It seems as if the LocatorConfig you changed is not used by mkgmap. Do >>>>>>> you use a downloaded mkgmap.jar? I am not sure where your changed >>>>>>> LocatorConfig.xml must be placed so that mkgmap does not use the bundled >>>>>>> LocatorConfig.xml. >>>>>> I have not changed LocatorConfig.xml, I'm using the default one. I use a >>>>>> self compiled jar. >>>>> Oh, I am sorry. I mixed up some things. >>>> Well, I'm must also say I'm sorry, as checking my parameters I've seen >>>> MOR was coming from my --country-abbr:-[ , but changing it to the right >>>> "MAR" didn't make the style work, although MapSource now lists "Morocco >>>> (MAR)" >>> That's good because this question is answered :-) >>> >>> The style can work only if the boundaries of Morocco are contained in >>> the precompiled boundary tiles. I think my europe compilation may >>> contain a small part of northern morocco. >>> So you should do the following steps: >>> 1. Check that the boundary multipolygon of Morocco is complete and valid >>> 2. Precompile the boundary tiles >>> 3. Compile your map again using the precompiled boundary tiles >>> >>> Then the style rules should work. >> I had already compiled Morocco's boundary (extracted from Geofabrik >> morocco.osm.pbf). What I didn't is converting bnd to gpx and checking >> it, but that will be tomorrow... > I checked part of the bound tiles and they are correct. Here are all my > steps, so you can see if I'm doing something wrong: > 1-Extract boundaries: > osmosis \ > --read-pbf file=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=morocco-boundaries.osm.pbf omitmetadata=true > compress=deflate inPipe.0=12 > > 2-Map compilation: > time /usr/lib/jvm/java-6-sun/bin/java -Xmx400m -enableassertions > -Dlog.config=logging.properties -jar mkgmap-locator.jar > --createboundsfile=morocco-boundaries.osm.pbf > --boundsdirectory=bounds_morocco --generate-sea=extend-sea-sectors > --route --tdbfile --latin1 --code-page=1252 > --description="OpenStreetMap-Morocco" --gmapsupp --country-name=MOROCCO > --country-abbr=MAR --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 --road-name-pois=0x640a > --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=mio typ/MOROC-17.TYP morocco.osm.pbf I've seen streets/roads don't have city, region, country information assigned in my Morocco's map when searched in MapSource. As there's no city boundary and nearly no region boundary in OSM data mkgmap:region!=* and mkgmap:city!=* rules in style fail to fill that info and this seems to block country info to be assigned even if it is present. I have tuned style to assign a default city and region when missing and then country is correctly set (and also region if present), but even so, rule "highway=primary & (mkgmap:country=ETH | mkgmap:country=MAR) [0x03 road_class=3 road_speed=5 resolution 16]" is not applied.
- Previous message: [mkgmap-dev] [locator] Country specific rules
- Next message: [mkgmap-dev] [locator] Country specific rules
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
More information about the mkgmap-dev mailing list