<div dir="ltr">Thanks for the help but the echotags directive does not work for me the way you have it. I've tried everything I can think of to make it go. Spaces before and after, semicolon or no semicolon, braces or no braces - I get nothing in my stderr file.<div><br></div><div>I tried to use echotags in a simplified rule just to make sure I was writing the output to the correct file. It appears to be a very fussy command...</div><div><br></div><div>this works</div><div><br></div><div>(highway=motorway_link | highway=trunk_link) { echotags "motorway or trunk link seen" }<br></div><div><br></div><div>but this does not</div><div><br></div><div>(highway=motorway_link | highway=trunk_link) { echotags } <br></div><div><br></div><div>nor does this</div><div><br></div><div>(highway=motorway_link | highway=trunk_link) {echotags}<br></div><div><br></div><div>According to the style manual, all those statements should produce output. However, the style manual isn't very informative unfortunately.</div><div><br></div><div>Your suggestion</div><div><br></div><div><span class="im" style="font-size:16px">(highway=motorway_link | highway=trunk_link) & mkgmap:exit_hint=true &<br>mkgmap:dest_hint=true<br></span><span style="font-size:16px"> { echotags "before";</span><br style="font-size:16px"><span class="im" style="font-size:16px">name '${destination:ref|subst: =>} ${destination|subst:;=> |subst:/=> }' |<br> '${ref|subst: =>} ${destination|subst:;=> |subst:/=> }' |<br> '${destination|subst:;=> |subst:/=> }' |<br> 'Exit ${mkgmap:exit_hint_ref} ${mkgmap:exit_hint_name}' |<br></span><span class="im" style="font-size:16px"> 'Exit ${mkgmap:exit_hint_ref} ${mkgmap:exit_hint_exit_to}' |<br> 'Exit ${mkgmap:exit_hint_exit_to}' |<br> 'Exit ${mkgmap:exit_hint_name}' |<br></span><span style="font-size:16px"> 'Exit ${mkgmap:exit_hint_ref}' ;</span><br style="font-size:16px"><span style="font-size:16px">echotags "after"</span><br style="font-size:16px"><span style="font-size:16px"> }</span><br></div><div><span style="font-size:16px"><br></span></div><div>produced nothing at all. I know there must be a way to debug these blasted rules but the echotags and echo command don't seem to work all that well.</div></div><div class="gmail_extra"><br><div class="gmail_quote">On Sat, May 16, 2015 at 12:22 PM, GerdP <span dir="ltr"><<a href="mailto:gpetermann_muenchen@hotmail.com" target="_blank">gpetermann_muenchen@hotmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hi Dave,<br>
<br>
well, I am not an expert for the styles nor did I write the java code<br>
in LinkDestinationHook.java, but I try again:<br>
<br>
The action block of the rule starts with name, so what it does is to set the<br>
mkgmap:label:1 tag. This is explained in the style manual.<br>
The contents of the tags like mkgmap:exit_hint_ref depends on the OSM data<br>
and what the java code in LinkDestinationHook.java does.<br>
If you want to find out what values are passed to the rule and<br>
what the action block changes, use the echotags action:<br>
<span class="">(highway=motorway_link | highway=trunk_link) & mkgmap:exit_hint=true &<br>
mkgmap:dest_hint=true<br>
</span> { echotags "before";<br>
<span class="">name '${destination:ref|subst: =>} ${destination|subst:;=> |subst:/=> }' |<br>
'${ref|subst: =>} ${destination|subst:;=> |subst:/=> }' |<br>
'${destination|subst:;=> |subst:/=> }' |<br>
'Exit ${mkgmap:exit_hint_ref} ${mkgmap:exit_hint_name}' |<br>
</span><span class=""> 'Exit ${mkgmap:exit_hint_ref} ${mkgmap:exit_hint_exit_to}' |<br>
'Exit ${mkgmap:exit_hint_exit_to}' |<br>
'Exit ${mkgmap:exit_hint_name}' |<br>
</span> 'Exit ${mkgmap:exit_hint_ref}' ;<br>
echotags "after"<br>
}<br>
<br>
BTW: You posted a rule which doesn't appear in the default style,<br>
the phrase "highway=road" looks wrong there.<br>
<br>
Ciao,<br>
Gerd<br>
<br>
<br>
Dave Swarthout wrote<br>
<div><div class="h5">> @Gerd,<br>
><br>
> There is no problem and your brief explanation helped. Everything is<br>
> working fine but I wanted to understand the logic of the rule better. But<br>
> because I don't have any way to experiment with running different strings<br>
> through those filters I'm having trouble visualizing what they are doing.<br>
> In the style manual some examples of the subst filter in action are shown<br>
> for illustrative purposes:<br>
><br>
> Example, if name ="Queen Street"<br>
> ${name|subst:"Queen=>"} returns " Street"<br>
> ${name|subst:"Queen=>King"} returns "King Street"<br>
> ${name|subst:".*\s~>"} returns "Street"<br>
><br>
> I was wanting some similar explanation for how that long rule works.<br>
> Something like this:<br>
><br>
> If the following tag exists on a way, destination:ref=US 20;Rochester<br>
> the results will be<br>
> ????<br>
><br>
> I was not seeing what this part of that single long rule was doing until<br>
> you mentioned cleaning up blanks and semicolons:<br>
><br>
> name '${destination:ref|subst: =>} ${destination|subst:;=> |subst:/=> }'<br>
><br>
> To me it appeared to be setting the name of the way to blank or null if it<br>
> encounters the tag destination:ref but now I understand it is eliminating<br>
> blanks and other punctuation because I noticed the blank character<br>
> following the colon in the subst command. So that means the second part<br>
> removes semicolons. But why is it doing that? And what part gets passed to<br>
> the Garmin "assistant" who then voices the information as the exit on a<br>
> route is approached?<br>
><br>
> Continuing: After all the punctuation has been stripped from the<br>
> destination tag we move to the next part of the rule.<br>
><br>
> 'Exit ${mkgmap:exit_hint_ref} ${mkgmap:exit_hint_name}' |<br>
> highway=road<br>
> 'Exit ${mkgmap:exit_hint_ref} ${mkgmap:exit_hint_exit_to}' |<br>
> 'Exit ${mkgmap:exit_hint_exit_to}' |<br>
> 'Exit ${mkgmap:exit_hint_name}' |<br>
> 'Exit ${mkgmap:exit_hint_ref}'<br>
><br>
> This seems to be setting a variable named "Exit" to whatever is contained<br>
> in the mkgmap internal variables. Is that what's happening? Where are<br>
> those<br>
> variables defined and set? Where does the data come from?<br>
><br>
> Another big question is about the exit_to tag. Take this example of a<br>
> motorway junction node. No destination tag appears on the linking way<br>
> itself but my Garmin will speak the words properly as you approach Exit<br>
> 10:<br>
><br>
> highway=motorway_junction<br>
> ref:Exit 10<br>
> exit_to:Greenville;South NC 40; US 421<br>
><br>
> I cannot find a rule that tells me how an exit_to tag is handled. Where<br>
> does that information get processed? And how does the "assistant" know<br>
> what<br>
> words to speak?<br>
><br>
> In summary, those are the questions I'm trying to answer. Now that I'm<br>
> writing style rules of my own I want to better understand how they work.<br>
> It's a slow process, especially when the examples in the manual are so<br>
> simple. Perhaps a more complex, real world, example would help future<br>
> mappers.<br>
><br>
> Dave<br>
><br>
><br>
> On Sat, May 16, 2015 at 3:04 AM, Gerd Petermann <<br>
<br>
> gpetermann_muenchen@<br>
<br>
</div></div>>> wrote:<br>
><br>
>><br>
>><br>
>> ------------------------------<br>
>> From:<br>
<br>
> gpetermann_muenchen@<br>
<br>
>> To:<br>
<br>
> daveswarthout@<br>
<span class=""><br>
>> Subject: RE: [mkgmap-dev] Routing parameters<br>
>> Date: Sat, 16 May 2015 12:02:22 +0200<br>
>><br>
>><br>
>> Hi Dave,<br>
>><br>
>> not sure what the problem is.<br>
>> The subst filters are just used to remove some blanks or semicolons.<br>
>> The rest is more or less "a list of alternative expressions separated<br>
>> with<br>
>> a vertical bar",<br>
>> you can search for that term in the style manual:<br>
>> <a href="http://www.mkgmap.org.uk/doc/pdf/style-manual.pdf" target="_blank">http://www.mkgmap.org.uk/doc/pdf/style-manual.pdf</a><br>
>><br>
>> I've never tried these options because I use my GPS only for cycling,<br>
>> but my understanding is that the types 0x08 and 0x09 are special<br>
>> as they instruct the Garmin device to use the name of the road for the<br>
>> destination hint, and these rules are used to fill this name with useful<br>
>> information.<br>
>><br>
>> Does that help?<br>
>><br>
>> Gerd<br>
>><br>
</span>>> ------------------------------<br>
>> From:<br>
<br>
> daveswarthout@<br>
<span class=""><br>
>> Date: Fri, 15 May 2015 17:51:13 -0700<br>
>> To:<br>
<br>
</span>> mkgmap-dev@.org<br>
<span class=""><br>
>> Subject: Re: [mkgmap-dev] Routing parameters<br>
>><br>
>> Yes, as you can see above, I understand the intent of those two options.<br>
>> But if someone could further explain what's happening in the rule, I<br>
>> would<br>
>> be most appreciative.<br>
>><br>
>> I'm guessing the first part assigns a name or ref if one appears in the<br>
>> tagging but understanding the logic of the series of "subst" filters<br>
>> following that is, for a newbie, quite challenging.<br>
>><br>
>> On Fri, May 15, 2015 at 12:17 PM, GerdP <<br>
<br>
> gpetermann_muenchen@<br>
<br>
> ><br>
</span><div><div class="h5">>> wrote:<br>
>><br>
>> Hi Dave,<br>
>><br>
>> please check the documentation for --process-destination and<br>
>> --process-exits:<br>
>> <a href="http://www.mkgmap.org.uk/doc/options" target="_blank">http://www.mkgmap.org.uk/doc/options</a><br>
>><br>
>> If I got this right, these option mark exits so that Garmin knows where<br>
>> they are where they lead.<br>
>><br>
>> Gerd<br>
>><br>
>><br>
>> Dave Swarthout wrote<br>
>> > I am curious to know how mkgmap handles the display of and text to<br>
>> speech<br>
>> > aspects of motorway junctions. It's hard to test for this without<br>
>> actually<br>
>> > creating a route and then driving it to see and hear what the Garmin is<br>
>> > doing with the data or to discover where it gets the information from.<br>
>> ><br>
>> > I'm assuming that whatever one puts in the exit_to=* tag gets displayed<br>
>> > and<br>
>> > spoken by the Garmin "assistant". Does mkgmap ever use the<br>
>> destination=*<br>
>> > tag, and if so under what circumstances?<br>
>> ><br>
>> > I found this rule in the lines style sheet, but I do not understand it<br>
>> > well<br>
>> > enough to help me answer my question<br>
>> ><br>
>> > (highway=motorway_link | highway=trunk_link) & mkgmap:exit_hint=true &<br>
>> > mkgmap:dest_hint=true<br>
>> > { name '${destination:ref|subst: =>} ${destination|subst:;=><br>
>> |subst:/=><br>
>> > }' |<br>
>> > '${ref|subst: =>} ${destination|subst:;=> |subst:/=> }' |<br>
>> > '${destination|subst:;=> |subst:/=> }' |<br>
>> > 'Exit ${mkgmap:exit_hint_ref} ${mkgmap:exit_hint_name}' |<br>
>> > highway=road<br>
>> > 'Exit ${mkgmap:exit_hint_ref} ${mkgmap:exit_hint_exit_to}' |<br>
>> > 'Exit ${mkgmap:exit_hint_exit_to}' |<br>
>> > 'Exit ${mkgmap:exit_hint_name}' |<br>
>> > 'Exit ${mkgmap:exit_hint_ref}'<br>
>> > }<br>
>> ><br>
>> ><br>
>> > As always, thanks in advance to any help you can provide.<br>
>> ><br>
>> > Dave<br>
>> ><br>
>> > --<br>
>> > Dave Swarthout<br>
>> > Homer, Alaska<br>
>> > Chiang Mai, Thailand<br>
>> > Travel Blog at <a href="http://dswarthout.blogspot.com" target="_blank">http://dswarthout.blogspot.com</a><br>
>> ><br>
>> > _______________________________________________<br>
>> > mkgmap-dev mailing list<br>
>><br>
>> > mkgmap-dev@.org<br>
>><br>
>> > <a href="http://www.mkgmap.org.uk/mailman/listinfo/mkgmap-dev" target="_blank">http://www.mkgmap.org.uk/mailman/listinfo/mkgmap-dev</a><br>
>><br>
>><br>
>><br>
>><br>
>><br>
>> --<br>
>> View this message in context:<br>
>> <a href="http://gis.19327.n5.nabble.com/Routing-parameters-tp5844762p5844766.html" target="_blank">http://gis.19327.n5.nabble.com/Routing-parameters-tp5844762p5844766.html</a><br>
>> Sent from the Mkgmap Development mailing list archive at Nabble.com.<br>
>> _______________________________________________<br>
>> mkgmap-dev mailing list<br>
>><br>
<br>
</div></div>> mkgmap-dev@.org<br>
<span class=""><br>
>> <a href="http://www.mkgmap.org.uk/mailman/listinfo/mkgmap-dev" target="_blank">http://www.mkgmap.org.uk/mailman/listinfo/mkgmap-dev</a><br>
>><br>
>><br>
>><br>
>><br>
>> --<br>
>> Dave Swarthout<br>
>> Homer, Alaska<br>
>> Chiang Mai, Thailand<br>
>> Travel Blog at <a href="http://dswarthout.blogspot.com" target="_blank">http://dswarthout.blogspot.com</a><br>
>><br>
>> _______________________________________________ mkgmap-dev mailing list<br>
>><br>
<br>
</span>> mkgmap-dev@.org<br>
<span class=""><br>
>> <a href="http://www.mkgmap.org.uk/mailman/listinfo/mkgmap-dev" target="_blank">http://www.mkgmap.org.uk/mailman/listinfo/mkgmap-dev</a><br>
>><br>
>> _______________________________________________<br>
>> mkgmap-dev mailing list<br>
>><br>
<br>
</span>> mkgmap-dev@.org<br>
<span class=""><br>
>> <a href="http://www.mkgmap.org.uk/mailman/listinfo/mkgmap-dev" target="_blank">http://www.mkgmap.org.uk/mailman/listinfo/mkgmap-dev</a><br>
>><br>
><br>
><br>
><br>
> --<br>
> Dave Swarthout<br>
> Homer, Alaska<br>
> Chiang Mai, Thailand<br>
> Travel Blog at <a href="http://dswarthout.blogspot.com" target="_blank">http://dswarthout.blogspot.com</a><br>
><br>
> _______________________________________________<br>
> mkgmap-dev mailing list<br>
<br>
</span>> mkgmap-dev@.org<br>
<br>
> <a href="http://www.mkgmap.org.uk/mailman/listinfo/mkgmap-dev" target="_blank">http://www.mkgmap.org.uk/mailman/listinfo/mkgmap-dev</a><br>
<br>
<br>
<br>
<br>
<br>
--<br>
View this message in context: <a href="http://gis.19327.n5.nabble.com/Routing-parameters-tp5844762p5844865.html" target="_blank">http://gis.19327.n5.nabble.com/Routing-parameters-tp5844762p5844865.html</a><br>
<div class="HOEnZb"><div class="h5">Sent from the Mkgmap Development mailing list archive at Nabble.com.<br>
_______________________________________________<br>
mkgmap-dev mailing list<br>
<a href="mailto:mkgmap-dev@lists.mkgmap.org.uk">mkgmap-dev@lists.mkgmap.org.uk</a><br>
<a href="http://www.mkgmap.org.uk/mailman/listinfo/mkgmap-dev" target="_blank">http://www.mkgmap.org.uk/mailman/listinfo/mkgmap-dev</a><br>
</div></div></blockquote></div><br><br clear="all"><div><br></div>-- <br><div class="gmail_signature"><div dir="ltr">Dave Swarthout<br>Homer, Alaska<br>Chiang Mai, Thailand<br>Travel Blog at <a href="http://dswarthout.blogspot.com" target="_blank">http://dswarthout.blogspot.com</a></div></div>
</div>