Possible If then bug

classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|

Possible If then bug

nwillink
Hi

I've noticed some unexpected behaviour when using 'if then'

Today, in osm, a polygon can have multiple 'land describing' tags  ie
landuse=grass & natural=wood or landuse=forest and natural=heath etc

To ensure both get parsed I use the following:

if (landuse=* & natural=*) then
# parse natural ; use continue ; delete natural
natural=wood {echotags "wood & transparency"}[0x1101c resolution 18 continue
] #50
# add more natural=
# at end of list delete natural so it doesn't get plotted lower down
natural=* {delete natural}
# continue parsing landuse
end
This works well, however ...

The following url contains one natural=wood and area=yes (sic)
https://www.openstreetmap.org/export#map=17/50.69541/-3.53819

There is no mention of a landuse  and yet this wood gets included asif it
has a  landuse= something tag

Is this because of the area tag?

r
Nick







--
Sent from: http://gis.19327.n8.nabble.com/Mkgmap-Development-f5324443.html
_______________________________________________
mkgmap-dev mailing list
[hidden email]
http://www.mkgmap.org.uk/mailman/listinfo/mkgmap-dev
Reply | Threaded
Open this post in threaded view
|

Re: Possible If then bug

Gerd Petermann
Hi Nick,

not sure what your mean with "gets included".
I've copied your rules to the top of the polygons file in the default style and I see no output from echotags.
On the other hand, the polygon https://www.openstreetmap.org/way/339552356 is (correctly) included in the map.

Gerd

________________________________________
Von: mkgmap-dev <[hidden email]> im Auftrag von nwillink <[hidden email]>
Gesendet: Donnerstag, 30. Mai 2019 07:33
An: [hidden email]
Betreff: [mkgmap-dev] Possible If then bug

Hi

I've noticed some unexpected behaviour when using 'if then'

Today, in osm, a polygon can have multiple 'land describing' tags  ie
landuse=grass & natural=wood or landuse=forest and natural=heath etc

To ensure both get parsed I use the following:

if (landuse=* & natural=*) then
# parse natural ; use continue ; delete natural
natural=wood {echotags "wood & transparency"}[0x1101c resolution 18 continue
] #50
# add more natural=
# at end of list delete natural so it doesn't get plotted lower down
natural=* {delete natural}
# continue parsing landuse
end
This works well, however ...

The following url contains one natural=wood and area=yes (sic)
https://www.openstreetmap.org/export#map=17/50.69541/-3.53819

There is no mention of a landuse  and yet this wood gets included asif it
has a  landuse= something tag

Is this because of the area tag?

r
Nick







--
Sent from: http://gis.19327.n8.nabble.com/Mkgmap-Development-f5324443.html
_______________________________________________
mkgmap-dev mailing list
[hidden email]
http://www.mkgmap.org.uk/mailman/listinfo/mkgmap-dev
_______________________________________________
mkgmap-dev mailing list
[hidden email]
http://www.mkgmap.org.uk/mailman/listinfo/mkgmap-dev
Reply | Threaded
Open this post in threaded view
|

Re: Possible If then bug

nwillink
Thanks Gerd

Hadn't checked it in the default style and yes you are right I don't now
get an echotags so it must be my style :(

Nick

On 30/05/2019 06:49, Gerd Petermann wrote:

> Hi Nick,
>
> not sure what your mean with "gets included".
> I've copied your rules to the top of the polygons file in the default style and I see no output from echotags.
> On the other hand, the polygon https://www.openstreetmap.org/way/339552356 is (correctly) included in the map.
>
> Gerd
>
> ________________________________________
> Von: mkgmap-dev <[hidden email]> im Auftrag von nwillink <[hidden email]>
> Gesendet: Donnerstag, 30. Mai 2019 07:33
> An: [hidden email]
> Betreff: [mkgmap-dev] Possible If then bug
>
> Hi
>
> I've noticed some unexpected behaviour when using 'if then'
>
> Today, in osm, a polygon can have multiple 'land describing' tags  ie
> landuse=grass & natural=wood or landuse=forest and natural=heath etc
>
> To ensure both get parsed I use the following:
>
> if (landuse=* & natural=*) then
> # parse natural ; use continue ; delete natural
> natural=wood {echotags "wood & transparency"}[0x1101c resolution 18 continue
> ] #50
> # add more natural=
> # at end of list delete natural so it doesn't get plotted lower down
> natural=* {delete natural}
> # continue parsing landuse
> end
> This works well, however ...
>
> The following url contains one natural=wood and area=yes (sic)
> https://www.openstreetmap.org/export#map=17/50.69541/-3.53819
>
> There is no mention of a landuse  and yet this wood gets included asif it
> has a  landuse= something tag
>
> Is this because of the area tag?
>
> r
> Nick
>
>
>
>
>
>
>
> --
> Sent from: http://gis.19327.n8.nabble.com/Mkgmap-Development-f5324443.html
> _______________________________________________
> mkgmap-dev mailing list
> [hidden email]
> http://www.mkgmap.org.uk/mailman/listinfo/mkgmap-dev
> _______________________________________________
> mkgmap-dev mailing list
> [hidden email]
> http://www.mkgmap.org.uk/mailman/listinfo/mkgmap-dev
_______________________________________________
mkgmap-dev mailing list
[hidden email]
http://www.mkgmap.org.uk/mailman/listinfo/mkgmap-dev