logo separator

[mkgmap-dev] question regarding MapRoad

From GerdP gpetermann_muenchen at hotmail.com on Sun Oct 20 22:39:28 BST 2013

Hi,

finally I found a way to store the correct order of segments 
even if they were created during the sub div split process.
The code for this is quite complex, so this is makes only 
sense if we can use it to implement a better split algo
or when it really improves something.

See r2778 in the branch.

Gerd


GerdP wrote
> Hi,
> 
> I've created branch reduce_limits.
> This is for testing of patches that reduce
> img size and improve the creation of NOD and NET.
> Style processing is like in trunk.
> 
> @Steve: Regarding MapRoad I still found no good 
> solution. For now, I've added code to sort
> segments in RoadDef, but this is not fail safe.
> Trying to code sort of double linked list to solve it...
> 
> Gerd
> GerdP wrote
>> Hi Steve,
>> 
>>> Yes MapRoad should probably not be limited to 250 points since it is in
>>> .mkgmap.general and the limitations should be applied on the conversion
>>> to Polyline.
>> yes, absolutely, and I already have it working.
>> 
>>> OK - not sure where to start and I think the first task is to understand
>>> how the data flows through the different classes. I will think about it 
>>> over the weekend.
>> 
>> I did a lot of research during the last days and created some patches
>> based
>> on it. My general approach for now:
>> 1) StyledConverter (and RoadMerger) should try to create as few MapRoads
>> as possible, so that indexes do not contain multiple entries.
>> 
>> 2) With the end of StyledConverter.end() we know the number of
>> a) MapRoad instances and b)  CoordNode instances.
>> With the current implementation that means:
>> For a routable map we must make sure that this number is not changed in
>> the following chain for level 0, means, no filter should remove
>> a MapRoad instance (or replace it by a MapLine) or replace 
>> a CoordNode by a normal Coord instance.  The current implementation 
>> contain errors like this, e.g.  in LineSplitterFilter (fixed with r2765).
>> I try to add sanity checks for this.
>> 
>> 3) For all levels > 0 there is no need to bother about CoordNodes,
>> and it is also okay to drop MapRoad instances in the filters.
>> Current implementation of the filters doesn't 
>> completely ignore CoordNodes, so it is possible that 
>> overlaying lines are "moved". This should not happen.
>> 
>> Conclusion:
>> To remove obsolete checks in StyledConverter we have to make sure
>> that all these errors are fixed and that all img write methods are
>> working correct with the changed input. The latter is quite difficult.
>> 
>> I'll create a branch to experiment with this.
>> 
>> Gerd
>> 
>>  		 	   		  
>> _______________________________________________
>> mkgmap-dev mailing list

>> mkgmap-dev at .org

>> http://lists.mkgmap.org.uk/mailman/listinfo/mkgmap-dev





--
View this message in context: http://gis.19327.n5.nabble.com/question-regarding-MapRoad-tp5781633p5782333.html
Sent from the Mkgmap Development mailing list archive at Nabble.com.


More information about the mkgmap-dev mailing list