<html>
<head>
<style><!--
.hmmessage P
{
margin:0px;
padding:0px
}
body.hmmessage
{
font-size: 12pt;
font-family:Calibri
}
--></style></head>
<body class='hmmessage'><div dir='ltr'>Hi programmers,<br><br>sorry, maybe too many parallel threads in my head...<br><br>I'd like to commit the attached patch to trunk as a first step.<br>The 2nd step would be to modify display tool.<br>The 3rd is to change the branch so that display tool works with both <br>mkgmap binaries.<br><br>I am desperately searching for good names for the new / changed classes.<br>Trunk has now<br>(RoadDef) List&lt;Numbers&gt;<br>with Numbers containing a set of fields for the left and the right side<br>which describe the house numbers.<br><br>The attached patch implements <br>(RoadDef) List&lt;RoadAddrInfo&gt; -&gt; AddrInfo-&gt;Numbers <br>with left/right only in RoadAddrInfo, the planned fields for zip / city<br>names will be added to AddrInfo.<br><br>The suffix "Info" is not very informative, and the prefix Road is a bit misleading,<br>as it applies to one part of a road with one or more line segments.<br><br>In trunk we don't separate between routing arcs and these number arcs,<br>but in the branch we have the so called "number node". <br><br>I think of a road in these terms:<br>A road has n points where a point is a Coord instance (a pair of lat/lon plus some bit flags)<br>The line segment between two consecutive points is a "road segment". If needed,<br>two different points can have the same lat/lon values, the road segment between those is <br>what I call a zero-length-segment.<br>Each point may or may not have the attribute "number node", which means that we <br>have address information (housenumbers, in the future also zip code or city) <br>for the part of the road that follows. The address information is stored <br>So, I think of such a part of the road as a "address segment" or "maybe better "address arc". <br>For routable maps we also need points with the attribute "route node",<br>such a route node is at the start and end of road and at each other point that is shared with other roads.<br>These points have an additional attribute (an id), so we use class CoordNode first and later RouteNode.<br>The part of the road between two "route nodes" is a "route arc" and is described with the class RouteArc.<br>A "route arc" can also have a zero length, for example when OSM data says that there is a 1.0 m<br>segment with stairs within a way, the 1.0 m is below the Garmin resolution. We cannot display<br>the segment, but we can change routing attributes here.<br><br>The old class Numbers described the housenumbers for both sides of one "address arc",<br>the new class RoadAddrInfo does the same and wil, the class AddrInfo describes a single side <br>of such an "address arc" and will be extended by the city and zip code,<br>and (new) Numbers which just describes the house numbers (three fields).<br><br>So, maybe we should keep the name Numbers for the topmost class as it also coresponds to the<br>name in the polish format?<br><br>Gerd<br><br><br>                                               </div></body>
</html>