<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 Steve,<br><br>thanks, don't know what I have missed before that I went so wrong :-O<br><br>Two open questions:<br>1)&nbsp; Why do we need the new class NumberCoord?<br>I'd say we just have to use one of the spare bits in the Coord.flags field.<br>Major problem is to find all places where we create copies of existing<br>Coord instances and make sure that the info is copied properly?<br><br>2) Is a CoordNode always also a number node?&nbsp; Or is it possible<br>to combine the numbers for multiple arcs? I guess that would allow<br>to save some bytes.<br><br>Gerd<br><br><br><div>&gt; Date: Thu, 8 Jan 2015 23:26:04 +0000<br>&gt; From: steve@parabola.me.uk<br>&gt; To: mkgmap-dev@lists.mkgmap.org.uk<br>&gt; Subject: Re: [mkgmap-dev] random housenumbers<br>&gt; <br>&gt; <br>&gt; Hi Gerd<br>&gt; <br>&gt; &gt; I guess we have to<br>&gt; &gt; 1) add a flag to RouteNode which says whether or not the node is used<br>&gt; &gt; for routing. A RouteNode for housenumbers will have arcs<br>&gt; &gt; like a normal one, but they are only used to allow placing the<br>&gt; &gt; housenumber infos.<br>&gt; <br>&gt; I don't think the change will involve RouteNode.<br>&gt; <br>&gt; Currently we have road lines made up of Coord<br>&gt; and CoordNode.  There should be something between those two.<br>&gt; Lets call it NumberCoord here for want of a better name.<br>&gt; <br>&gt; Add a method to Coord that returns false.<br>&gt; <br>&gt; class Coord {<br>&gt;            public boolean isNumberNode() { return false; }<br>&gt; }<br>&gt; <br>&gt; // Then NumberCoord extends that and overrides it to return true.<br>&gt; class NumberCoord extends Coord {<br>&gt;         ... isNumberNode() { return true; }<br>&gt; }<br>&gt; Then CoordNode extends NumberCoord.<br>&gt; <br>&gt; Then in LinePreparer around line 380 where it says:<br>&gt; <br>&gt;         * Current thought is that the node indicator is set when<br>&gt;         * the point is a node. There's a separate first extra bit<br>&gt;         * that always appears to be false. The last points' extra bit<br>&gt;         * is set if the point is a node and this is not the last<br>&gt;         * polyline making up the road.<br>&gt;         * Todo: special case the last bit<br>&gt; <br>&gt; The comment needs the 'current thought' changing ;)<br>&gt; <br>&gt; Then use co.isNumberNode() instead of co.getId()<br>&gt; <br>&gt; &gt; 2) change RoadDef.writeNod2()<br>&gt; &gt; to create the bitstream using this flag.<br>&gt; &gt; 3) What happens with the complex<br>&gt; &gt; routing routines in RouteNode, e.g.<br>&gt; &gt; addArcsToMajorRoads() ?<br>&gt; <br>&gt; I don't think you would have to change any of that so<br>&gt; long as there are no invalid assumptions in there.<br>&gt; <br>&gt; &gt; Do we have to add arcs to the "housenumber nodes" ?<br>&gt; <br>&gt; No. Well you could but then they would be routing nodes ;)<br>&gt; <br>&gt; &gt; 4) In StyledConverter I see a call<br>&gt; &gt; road.setStartsWithNode(nodeIndices.get(0) == 0);<br>&gt; &gt; which seems to always set the bit to true.<br>&gt; &gt; The code in RoadHelper may be work different.<br>&gt; &gt; Do you have an example that explains this?<br>&gt; <br>&gt; I believe that code is intended to deal with the case<br>&gt; where the first node is a dead end.<br>&gt; <br>&gt; &gt; Attached patch shows how I intend to implement the random<br>&gt; &gt; housenumbers, it doesn't do anything useful yet.<br>&gt; &gt; Maybe you can tell me if I am on the right way?<br>&gt; <br>&gt; I think that is probably not the place to start as explained above.<br>&gt; Sorry I may have been misleading as there are so many things called<br>&gt; Node.  We need some new terms!<br>&gt; <br>&gt; The NetCheck program was written after this was understood so<br>&gt; it will correctly display housenumbers in this case. The output<br>&gt; is a bit verbose, just look for the Number lines.<br>&gt; <br>&gt; ..Steve<br>&gt; _______________________________________________<br>&gt; mkgmap-dev mailing list<br>&gt; mkgmap-dev@lists.mkgmap.org.uk<br>&gt; http://www.mkgmap.org.uk/mailman/listinfo/mkgmap-dev<br></div>                                               </div></body>
</html>