logo separator

[mkgmap-dev] [Patch v3] LocationHook with new Quadtree

From GerdP gpetermann_muenchen at hotmail.com on Fri Jan 13 18:08:56 GMT 2012

Hi WanMil,

yes, it improves performance because the merge is done only once, and
without the merge it would be needed to do more or less the same action for
each single search. I see no better way to handle the problem with those
level=7 areas.

Ciao,
Gerd


WanMil wrote
> 
>>  > > >
>>  > > > * I don't understand why you need a merge() method. Could you
>> explain
>>  > > > what you are doing in this method and why it's required?
>>  > > The get method() of the tree returns the data for the first area
>> that
>>  > > contains the coord.
>>  > > This area should contain all tags of the area itself plus those from
>>  > > areas intersecting it.
>>  > > Maybe this is not correct?
>>  >
>>  > Sounds wrong. If Area a1 is intersected by a2 only in 10% of its area
>>  > then an element located in the 90% that does not intersect would be
>>  > tagged with a1 and a2?
>>  >
>> The merge() first creates a new nodeElem with the intersection, it
>> merges the tags into this
>> and subtracts the intersection from the others, so only the 10% part
>> gets more tags.
>> Thinking again about this I might not need both subtract() calls since I
>> move the intersection part
>> before the others .
>>
> 
> I doubt that merge improves the performance. It breaks two areas into 
> three probably with intersecting bounding boxes. So I would expect that 
> you don't save much contains checks.
> But don't mind about my doubts: Did you measure a noticeable performance 
> difference?
> 
> WanMil
> _______________________________________________
> mkgmap-dev mailing list
> mkgmap-dev at .org
> http://www.mkgmap.org.uk/mailman/listinfo/mkgmap-dev
> 


--
View this message in context: http://gis.638310.n2.nabble.com/Patch-v3-LocationHook-with-new-Quadtree-tp7181669p7184965.html
Sent from the Mkgmap Development mailing list archive at Nabble.com.



More information about the mkgmap-dev mailing list