<html><head></head><body><div style="font-family: Verdana;font-size: 12.0px;"><div>
<div>Hi Colin and Gerd,</div>

<div>&nbsp;</div>

<div>that&#39;s an interesting approach.<br/>
And it is something I thought about yesterday, when I came across a type that worked well on my Oregon 450 and 650 but not in Basecamp.</div>

<div>So I was thinking about a list of capabilities. That means a simple table (at first for us, not for the program) where we can<br/>
hold the information which type works on which device (or do we have this?). And as I understand Gerd has something similar with the type used for camp_site on Oregon650.</div>

<div>&nbsp;</div>

<div>Something like</div>

<div>&nbsp;</div>

<div><span style="font-family:courier new,courier,monospace;">Type&nbsp; &#124; Oregon 450 &#124; Oregon 650 &#124; Legend HCx &#124; edge 705 &#124; .... &#124; N&uuml;vi xxx &#124; Basecamp&nbsp; &#124; Mapsource &#124;<br/>
NN&nbsp;&nbsp;&nbsp; &#124;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; X&nbsp;&nbsp;&nbsp;&nbsp; &#124;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; X&nbsp;&nbsp;&nbsp;&nbsp; &#124;&nbsp;&nbsp;&nbsp; -&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &#124;&nbsp;&nbsp;&nbsp; -&nbsp;&nbsp;&nbsp;&nbsp; &#124;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &#124;&nbsp;&nbsp;&nbsp;&nbsp; X&nbsp;&nbsp;&nbsp; &#124;&nbsp;&nbsp;&nbsp;&nbsp; X&nbsp;&nbsp;&nbsp;&nbsp; &#124;&nbsp;&nbsp;&nbsp;&nbsp; X&nbsp;&nbsp;&nbsp;&nbsp; &#124;<br/>
NN1&nbsp;&nbsp; &#124;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; X&nbsp;&nbsp;&nbsp;&nbsp; &#124;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; X&nbsp;&nbsp;&nbsp;&nbsp; &#124;&nbsp;&nbsp;&nbsp; X&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &#124;&nbsp;&nbsp;&nbsp; -&nbsp;&nbsp;&nbsp;&nbsp; &#124;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &#124;&nbsp;&nbsp;&nbsp;&nbsp; -&nbsp;&nbsp;&nbsp; &#124;&nbsp;&nbsp;&nbsp;&nbsp; X&nbsp;&nbsp;&nbsp;&nbsp; &#124;&nbsp;&nbsp;&nbsp;&nbsp; -&nbsp;&nbsp;&nbsp;&nbsp; &#124;<br/>
0x2b05&#124;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; X&nbsp;&nbsp;&nbsp;&nbsp; &#124;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; X&nbsp;&nbsp;&nbsp;&nbsp; &#124;&nbsp;&nbsp;&nbsp; -&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &#124;&nbsp;&nbsp;&nbsp; -&nbsp;&nbsp;&nbsp;&nbsp; &#124;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &#124;&nbsp;&nbsp;&nbsp;&nbsp; -&nbsp;&nbsp;&nbsp; &#124;&nbsp;&nbsp;&nbsp;&nbsp; X&nbsp;&nbsp;&nbsp;&nbsp; &#124;&nbsp;&nbsp;&nbsp;&nbsp; X&nbsp;&nbsp;&nbsp;&nbsp; &#124;<br/>
0x2b03&#124;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; -&nbsp;&nbsp;&nbsp;&nbsp; &#124;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; -&nbsp;&nbsp;&nbsp;&nbsp; &#124;&nbsp;&nbsp;&nbsp; X&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &#124;&nbsp;&nbsp;&nbsp; X&nbsp;&nbsp;&nbsp;&nbsp; &#124;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &#124;&nbsp;&nbsp;&nbsp;&nbsp; X&nbsp;&nbsp;&nbsp; &#124;&nbsp;&nbsp;&nbsp;&nbsp; X&nbsp;&nbsp;&nbsp;&nbsp; &#124;&nbsp;&nbsp;&nbsp;&nbsp; X&nbsp;&nbsp;&nbsp;&nbsp; &#124;</span></div>

<div>&nbsp;</div>

<div>If we would have something like that then we can see if we have groups of devices which work the same way and others don&#39;t.</div>

<div><br/>
For creating such a list we should have some test data, e.g. a map legend with all types listed, so that everybody (also map users) can test on<br/>
their device and report which types are visible and which aren&#39;t.</div>

<div>&nbsp;</div>

<div>If we have that, then we can go ahead with making different styles for devices. I would do that in a kind of pre-processing. That means I would prefer<br/>
a solution with which I can describe a style for different devices (if that is really necessary for me), then call a &quot;style pre-processor&quot; to get the<br/>
style I can use with mkgmap.</div>

<div><br/>
In my opinion this makes it independend from mkgmap. Maybe it&#39;s more failsafe too.</div>

<div>&nbsp;</div>

<div>Gert</div>

<div>&nbsp;
<div name="quote" style="margin:10px 5px 5px 10px; padding: 10px 0 10px 10px; border-left:2px solid #C3D9E5; word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;">
<div style="margin:0 0 10px 0;"><b>Gesendet:</b>&nbsp;Montag, 12. Mai 2014 um 08:17 Uhr<br/>
<b>Von:</b>&nbsp;&quot;Colin Smale&quot; &lt;colin.smale@xs4all.nl&gt;<br/>
<b>An:</b>&nbsp;mkgmap-dev@lists.mkgmap.org.uk<br/>
<b>Betreff:</b>&nbsp;Re: [mkgmap-dev] Commit: r3259: remove most checks regarding routable/non-routable types.</div>

<div name="quoted-content">
<div style="font-size: 10.0pt;font-family: Verdana , Geneva , sans-serif;">
<p>Hi Gerd,</p>

<p>I certainly was not envisioning anything with SQL! More like an &quot;ini-file&quot;. At present the program itself and the default styles have to address all kinds of devices, so they probably play it safe. Users can customise the program and styles or develop their own, but there is no mechanism to support sharing the nuances of each type of device within the distribution. What I am suggesting will allow some of the differences to be collected, and&nbsp;</p>

<p>Let&#39;s see if I can work through an example.</p>

<p>1) the command line</p>

<p>java -jar mkgmap.jar ........ --target-device=oregon450t</p>

<p>2) the &quot;device capability database&quot;, let&#39;s call it &quot;devcap&quot;</p>

<p>[oregon450t]</p>

<p>camp_site_poi_type=0x2b03</p>

<p>routable_types=1,2,3,4,5</p>

<p>has_extended_icons=true</p>

<p>3) the styles</p>

<p>tourism=campsite &amp; mkgmap:device=oregon450t {} [0x2b05 resolution 24]</p>

<p>tourism=campsite &amp; mkgmap:device!=oregon450t {} [0x2b03 resolution 24]</p>

<p>tourism=campsite &amp; devcap:has_extended_icons=true {}&nbsp;[0x2b05 resolution 24]&nbsp;</p>

<p>4) the styles, if we could use variables in the last block</p>

<p>tourism=campsite {} [&#36;(devcap:camp_site_poi_type) resolution 24]</p>

<p>5) the style checker</p>

<p>respects the routable_types information from devcap to generate/suppress warnings</p>

<p>6) some kind of simple &#39;include&#39; function in the devcap file to allow device families to be used</p>

<p>[oregon]</p>

<p>camp_site_poi_type=0x2b04</p>

<p>routable_types=1,2,3,4,5</p>

<p>[oregon450t]</p>

<p>include oregon</p>

<p>camp_site_poi_type=0x2b04</p>

<p>&nbsp;</p>

<p>All pretty simple basic functions, which when you combine them, open a world of possibilities. You can keep it really simple by just implementing the option plus exposing that in the styles, or you can make it really complex by putting all the information about POI icons, supported features etc in the devcap file. Once the framework is there, it can be leveraged (I hate that word) for many things limited only by imagination.</p>

<p>I&#39;m afraid my experience is limited to various Nuvi models plus the wealth of vicarious experience gained from following this list!</p>

<p>Colin</p>

<div>&nbsp;</div>

<p>On 2014-05-12 07:04, Gerd Petermann wrote:</p>

<blockquote style="padding-left: 5.0px;border-left: rgb(16,16,255) 2.0px solid;margin-left: 5.0px;">
<div>Hi Colin,<br/>
<br/>
I am not sure what you mean. Let me try an example:<br/>
I am aware that my Oregon 450t needs e.g.<br/>
tourism=camp_site [0x2b05 resolution 24]<br/>
instead of<br/>
tourism=camp_site [0x2b03 resolution 24]<br/>
which is used in the default style.<br/>
<br/>
If I got you right, you want to create some kind of database to keep track of these<br/>
differences and a style that uses a symbol to reference the database.<br/>
So, for my example, we would have a database with a symbol<br/>
&quot;camp_site_poi_type&quot; and a default value 0x2b03 and a special value<br/>
for the Oregon 450t containing 0x2b05.<br/>
The style would then use something like<br/>
<br/>
tourism=camp_site [db:camp_site_poi_type resolution 24]<br/>
<br/>
When reading the style, mkgmap could look up the database to find<br/>
the right value.<br/>
<br/>
If the database would use SQL, we probably need a few tables<br/>
for device types, groups of device types, firmware versions, etc.<br/>
Without SQL, it might be another XML file.<br/>
<br/>
Any ideas how many differences we have&nbsp; and how they could be stored?<br/>
<br/>
Gerd<br/>
&nbsp;
<div>
<hr id="stopSpelling"/>Date: Sun, 11 May 2014 12:22:50 +0200<br/>
From: colin.smale@xs4all.nl<br/>
To: mkgmap-dev@lists.mkgmap.org.uk<br/>
Subject: Re: [mkgmap-dev] Commit: r3259: remove most checks regarding routable/non-routable types.<br/>
<br/>
As there are clearly differences in features supported by various models, would it maybe be an idea to externalise the differences in some way? How about a file to contain the capabilities of device types, an option to target a particular entry in that file, and a way to expose the selected device in the style files? That could also help address the differences in supported POI categories and icons.<br/>
Colin<br/>
&nbsp;
<div>&nbsp;</div>
On 2014-05-11 11:52, Gerd Petermann wrote:

<blockquote style="padding-left: 5.0px;border-left: rgb(16,16,255) 2.0px solid;">
<div>Hi Minko,<br/>
<br/>
thanks for your help. This is now implemented with r3269.<br/>
<br/>
Gerd<br/>
&nbsp;
<div>&gt; Date: Sun, 11 May 2014 11:45:47 +0200<br/>
&gt; From: ligfietser@online.nl<br/>
&gt; To: mkgmap-dev@lists.mkgmap.org.uk<br/>
&gt; Subject: Re: [mkgmap-dev] Commit: r3259: remove most checks regarding routable/non-routable types.<br/>
&gt;<br/>
&gt; &gt; what about 0xa ? Or was that meant to be 0x1a ?<br/>
&gt;<br/>
&gt; Hi Gerd<br/>
&gt;<br/>
&gt; 0x0a gives also a routing error, so everything in the range<br/>
&gt; 0x01-0x13, 0x16 and 0x1b<br/>
&gt; _______________________________________________<br/>
&gt; mkgmap-dev mailing list<br/>
&gt; mkgmap-dev@lists.mkgmap.org.uk<br/>
&gt; <a href="http://www.mkgmap.org.uk/mailman/listinfo/mkgmap-dev" target="_blank">http://www.mkgmap.org.uk/mailman/listinfo/mkgmap-dev</a></div>
</div>
&nbsp;

<pre>_______________________________________________mkgmap-dev mailing list<a href="mkgmap-dev@lists.mkgmap.org.uk" target="_parent">mkgmap-dev@lists.mkgmap.org.uk</a><a href="http://www.mkgmap.org.uk/mailman/listinfo/mkgmap-dev" target="_blank">http://www.mkgmap.org.uk/mailman/listinfo/mkgmap-dev</a></pre>
</blockquote>
<br/>
_______________________________________________ mkgmap-dev mailing list mkgmap-dev@lists.mkgmap.org.uk <a href="http://www.mkgmap.org.uk/mailman/listinfo/mkgmap-dev" target="_blank">http://www.mkgmap.org.uk/mailman/listinfo/mkgmap-dev</a></div>
</div>
&nbsp;

<pre>_______________________________________________mkgmap-dev mailing list<a href="mkgmap-dev@lists.mkgmap.org.uk" target="_parent">mkgmap-dev@lists.mkgmap.org.uk</a><a href="http://www.mkgmap.org.uk/mailman/listinfo/mkgmap-dev" target="_blank">http://www.mkgmap.org.uk/mailman/listinfo/mkgmap-dev</a></pre>
</blockquote>
_______________________________________________ mkgmap-dev mailing list mkgmap-dev@lists.mkgmap.org.uk <a href="http://www.mkgmap.org.uk/mailman/listinfo/mkgmap-dev" target="_blank">http://www.mkgmap.org.uk/mailman/listinfo/mkgmap-dev</a></div>
</div>
</div>
</div>
</div>

<div>&nbsp;</div>

<div class="signature">&nbsp;</div></div></body></html>