logo separator

[mkgmap-dev] oneway=reverse handling broken.

From Felix Hartmann extremecarver at googlemail.com on Thu Jan 21 21:14:25 GMT 2010


On 21.01.2010 21:54, Torsten Leistikow wrote:
> Felix Hartmann schrieb am 21.01.2010 19:07:
>    
>> I wouldn't see (except the strange handling of oneway=reverse - but
>> maybe there is some error on my side) any strange behaviour with the
>> trunk currently.
>>      
> We had quite some topics lately, e.g. that you can not use the same expression
> twice, or that two independent style rules only worked, when they were arranged
> in a specific order.
>    
That is solved (I spent nearly 10 hours to adapt my style-files that you 
continue now works endless)
> Basically I think, that you have fine-tuned your style to the current style
> handling of the trunk. If there was a problem in the style handling, it was not
> fixed but you found a way around it.
>
>    
>> Well continue never worked in any way predictable and my maps were
>> output with half of the lines missing, routing broken,.....
>>      
> I guess, this was caused by some of your workarounds, which were based on
> "errors" in the trunk's style interpretation. In my experience the style brunch
> provides every capability of the continue patch, but some of the rules must be
> rephrased (actually they must be corrected) so that they would work as before.
>
>    
There is besides one bug, I think no more bug inside. The oneway=reverse 
problem I'm having seems to be related that the street is first set 
oneway=1 (general open rule), then it is set to oneway=-1 using 
[continue_withactions], then I want to set it to oneway=1 using plain 
[continue], and then for the final output it is used again as oneway=1.

However maybe I have a typo somewhere when I changed all my rules to 
adapt to the current behaviour.

previously (which was a bug, but I found it quite useful) - on the same 
highway=primary
  keya=123 & highway=primary [continue] output
keya=123 & highway=* [continue] OLD no output; NEW output
keya=123 [final] output

This ment you could write keya=123 as many times as you liked, but it 
was only output 2 times. Now to achieve the same situation as before one 
has to

keya=123 & highway=primary[continue] output
keya=123 & higwhay=* & highway!=primary [continue] no output
keya=123 [final] output

So you have to build a quite an extensive !=abc list to not output the 
same lines several times. This now needs a lot of code if you for 
example want to have 4 different designs for bridges, depending on the 
width of the way it goes with.

On the other hand, multilayered maps are now much easier:

highway=motorway [resolution 16-18 0x10100 continue]
highway=motorway [resolution 20-22 0x10101 continue]
highway=motorway [resolution 24 road_speed=1 road_class=4]

is working as intended, without additional code.

It's okay, took 10 hours to change all my code so that it fits now with 
the repaired behaviour (as I use 0x01 for many many roads for routing I 
already have a lot doubles and it is not easy to keep track where a line 
is doubled and where not, but the code change of course gave me triples 
and quadruples of the same way where I only wanted doubles). My only 
problem is that oneway=reverse handling, I'm not sure if theirs a 
problem with my style, or if there is some special behaviour related to 
oneway=reverse that does not occur with oneway=-1 (as in my style I have 
to change the direction of a way 2-3 times to get the result I want with 
opposing oneways but also arrows pointing in the direction of traffic).

> Gruss
> Torsten
> _______________________________________________
> 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