logo separator

[mkgmap-dev] [locator] Separate boundary files

From WanMil wmgcnfg at web.de on Thu Apr 28 20:49:51 BST 2011

Carlos,

thanks for your reports. I cannot check your examples in detail now but 
I can give you some general hints.

The current locator branch relies on complete boundaries. The word 
complete is important. The boundary precompilation algorithm does not 
automatically close multipolygons which are open and which has a loose 
endpoints out of the tile borders. This is necessary because one major 
reason for using precompiled data is that I want to get rid of wrong 
autoclosed boundaries. (Please read 
http://www.mkgmap.org.uk/pipermail/mkgmap-dev/2011q1/010797.html where I 
tried to explain the problem more in detail).
If you use a dump of spain only you might loose some of the boundaries 
that are located on the border. I would recommend to download a larger 
dump and cut out a larger area than spain for boundary precompilation 
(e.g. spain + 10km around).

Of course the changes are not tested very well and there are tons of 
bugs in it. I'll have to implement some checks to see if the 
precompilation really works well.

WanMil

> These are the results of my first (limited) tests:
> The list of places under State/Province field in MapSource "Search
> places" includes a lot more wrong places than without the boundary
> precompilation (locator r1922). For example I get State/Province "La
> Zubia" (from relation 347255) and place "Cumbres Verdes (node
> 1107558640), LA ZUBIA, ESP" under it.
> In the last days I've been correcting incomplete boundary polygons from
> mkgmap log. Searching for a random street (Calle Calvario) that exists
> within one of these multipolygons I fixed yesterday (relation 346527) I
> get the following:
> Trunk+spain.osm.pbf 28/4->  46 "Calle Calvario" matches with complete
> city, region, country information (e.g. way 62120822: Calle Calvario,
> Alburquerque, EXTREMADURA, ESP)
> Locator r1925+spain.osm.pbf 27/4 ->  39 matches most of them with
> incomplete or even wrong city, region, country information (e.g. way
> 62120822: Calle Calvario, CÁCERES (should be BADAJOZ), ESP). Cáceres is
> relation 349018 and Badajoz 348994.
> Locator r1925+spain.osm.pbf 28/4 ->  same result. Note mkgmap didn't
> complain about mp 346527.
> The boundary tiles are extracted daily from the same pbf file than map.
> My locator related styles:
> mkgmap:country!=*&  addr:country=* { set mkgmap:country='${addr:country}' }
> mkgmap:country!=*&  is_in:country=* { set
> mkgmap:country='${is_in:country}' }
> mkgmap:country!=*&  mkgmap:admin_level2=* { set
> mkgmap:country='${mkgmap:admin_level2}' }
>
> mkgmap:region!=*&  is_in:province=* { set
> mkgmap:region='${is_in:province}' }
> mkgmap:region!=*&  mkgmap:admin_level6=* { set
> mkgmap:region='${mkgmap:admin_level6}' }
> mkgmap:region!=*&  mkgmap:admin_level5=* { set
> mkgmap:region='${mkgmap:admin_level5}' }
> mkgmap:region!=*&  mkgmap:admin_level4=* { set
> mkgmap:region='${mkgmap:admin_level4}' }
> mkgmap:region!=*&  mkgmap:admin_level3=* { set
> mkgmap:region='${mkgmap:admin_level3}' }
>
> mkgmap:city!=*&  openGeoDB:name=* { set mkgmap:city='${openGeoDB:name}' }
> mkgmap:city!=*&  is_in:city=* { set mkgmap:city='${is_in:city}' }
> mkgmap:city!=*&  addr:city=* { set mkgmap:city='${addr:city}' }
> mkgmap:city!=*&  mkgmap:admin_level8=* { set
> mkgmap:city='${mkgmap:admin_level8}' }
> mkgmap:city!=*&  mkgmap:admin_level7=* { set
> mkgmap:city='${mkgmap:admin_level7}' }
> mkgmap:city!=*&  mkgmap:admin_level9=* { set
> mkgmap:city='${mkgmap:admin_level9}' }
> mkgmap:city!=*&  mkgmap:admin_level10=* { set
> mkgmap:city='${mkgmap:admin_level10}' }
>
> mkgmap:postal_code!=*&  addr:postcode=* { set
> mkgmap:postal_code='${addr:postcode}' }
> mkgmap:postal_code!=*&  openGeoDB:postal_codes=* { set
> mkgmap:postal_code='${openGeoDB:postal_codes}' }
> mkgmap:postal_code!=*&  mkgmap:postcode=* { set
> mkgmap:postal_code='${mkgmap:postalcode}' }
>
> My commands:
> osmosis --read-pbf file="spain.osm.pbf" --tf accept-ways
> boundary=administrative --tf accept-relations boundary=administrative
> --used-node --write-xml file="spain-boundaries.osm"
> time /usr/lib/jvm/java-6-sun/bin/java -Xmx1500m -enableassertions
> -Dlog.config=logging.properties -jar mkgmap-locator.jar
> --createboundsfile=spain-boundaries.osm --max-jobs
> --generate-sea=polygons,extend-sea-sectors --route --latin1
> --code-page=1252 --gmapsupp --country-name=ESPAÑA --country-abbr=ESP
> --area-name=España --family-name="OpenStreetMap España" --family-id=39
> --product-id=1 --series-name="OSM-España-index" --index
> --ignore-maxspeeds --remove-short-arcs --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 -c spain.args
> _______________________________________________
> 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