logo separator

[mkgmap-dev] [PATCH v1] make DP filter avoid removing points located at nodes

From Mark Burton markb at ordern.com on Thu Nov 26 22:22:16 GMT 2009


Hi Johann,

> I have now looked into the code and must say, I don't understand why it 
> works. Previous for each node was created a CoordNode. Now instead a 
> flag is set. I see the difference: The flag is copied, the class 
> obviously not.
> But I didn't find the place, where this copy occurs. Could you point my 
> nose to the file and line number, where the line is duplicated? The only 
> place I found is in the round coord filter class (line 55), where it is 
> handled correctly.
> So why your patch works as expected and the original solution not??

As I said in a previous posting on this topic:

mb> Whenever a routable way gets split to limit the number of points or
mb> nodes it makes a new list of points so any changes to the points in the
mb> new list will not be visible in the original list.

So, wherever you see splitWay() that's where the "copying" occurs.

> I have another idea of solving this problem.
> Instead of do a new Coord or CoordNode call coord.copy(). The function 
> could be overwritten in the CoordNode class to return a CoordNode 
> object. (BTW. This should be done in the CoordPOI class too). So a 
> copied line should contain afterwards the same types as the original.

Doesn't the suggested patch do the job? (Felix, you reported it wasn't
working, is that still the case?)

Actually, I'm not keen on the CoordNode thing at all but it
works well enough to not warrant spending effort on it while there is
so much other stuff to be fixed.

Cheers,

Mark



More information about the mkgmap-dev mailing list