logo separator

[mkgmap-dev] problem with highways as multipolygons

From Andrzej Popowski popej at poczta.onet.pl on Sat May 9 16:31:24 BST 2015

Hi Gerd,

 > The apply tells mkgmap to add the tag area=yes to the members,
 > and I think that's what you want.

This was my first thought too, but:

 > Note that the members of the
 > mp-relation are not the members of the original OSM relation, they
 > are the artifical ways.

"Apply" adds tags to original members while I have problems with 
artificial ways. Artificial ways inherit tags form original relation, so 
I would expect, that tags added to relation would appear in artificial 
ways. As you explained, this is no true.

"Apply" would work if there were created corresponding artificial 
relation too.

I think it's ok, that multipolygon appears as polyline and polygon. That 
way we can create object for boundary and for area. Problem appears, 
when multipolygon has no "area" tag, which is quite possible, since 
multipolygon implies area. I have added a rule to correct this problem:
highway=* & mkgmap:mp_created=true {add area=yes;}

See attached patch, which corrects footway, path and steps with area too.

Often highway=service is marked as area, but I think it could be usable 
to draw a road around area.

-- 
Best regards,
Andrzej
-------------- next part --------------
--- resources/styles/default/lines	2015-05-09 17:17:14.697647600 +0200
+++ resources/styles/default/lines	2015-05-09 16:42:46.238400600 +0200
@@ -17,6 +17,9 @@ highway=* & name=* { set mkgmap:street='
 # Mark highways with the toll flag
 highway=* & (toll=yes|toll=true) { set mkgmap:toll=yes }
 
+# mark multipolygons as area
+highway=* & mkgmap:mp_created=true {add area=yes;}
+
 # Hide proposed ways
 highway=proposed {delete highway;delete junction}
 # Hide unaccessible tunnels
@@ -150,7 +153,7 @@ highway=service [0x07 road_class=0 road_
 
 highway=cycleway [0x07 road_class=0 road_speed=1 resolution 23]
 
-highway=footway|highway=path|highway=steps [0x16 road_class=0 road_speed=0 resolution 23]
+(highway=footway|highway=path|highway=steps) & area!=yes [0x16 road_class=0 road_speed=0 resolution 23]
 highway=track [0x0a road_class=0 road_speed=1 resolution 22]
 highway=unsurfaced [0x0a road_class=0 road_speed=1 resolution 22]
 highway=road { add mkgmap:dead-end-check = false} [0x06 road_class=0 road_speed=1 resolution 22]
diff -urpN f:\Garmin\_rozne\mkgmap\resources/styles/default/polygons resources/styles/default/polygons
--- resources/styles/default/polygons	2015-02-12 14:51:32.048420000 +0100
+++ resources/styles/default/polygons	2015-05-09 16:43:54.987721400 +0200
@@ -52,8 +52,11 @@ place=islet & name=* [0x53 resolution 20
 
 shop=* [0x08 resolution 22]
 
+# mark multipolygons as area
+highway=* & mkgmap:mp_created=true {add area=yes;}
+
 # squares and plazas
-highway=pedestrian & area=yes [0x17 resolution 22]
+(highway=pedestrian|highway=footway|highway=path|highway=steps) & area=yes [0x17 resolution 22]
 # other highways that have area=yes set must be parking lots
 highway=* & area=yes [0x05 resolution 22]
 


More information about the mkgmap-dev mailing list