[mkgmap-dev] [Patch v5] LocationHook with new Quadtree
From WanMil wmgcnfg at web.de on Sat Jan 21 21:00:58 GMT 2012
Hi Gerd, sounds good although I don't understand how that should work. I think I am missing one part of the idea. My problem is that the bounds are prepared with a distinct raster (50000) but the quadtree is created with the bbox of the tile. So how do you know during preparation that an area will be located in child[0] (which is for example the northeast part of the bbox)? Example: Bounds 1 with bbox (0/0,100/100) and the path 0 (north east) Tile bbox 1 (0/0,1000/1000) => path 0 is ok Tile bbox 2 (-900/-900, 100/100) => path 0 is nok - I would expect path 3 (south west) What am I missing? WanMil > Hi WanMil, > > I think I have found a good solution which still fits into the current bnd > format. It allows to rebuild the quadree without any merge() or split(), the > file size is not much bigger, and preparer creates the new content much > quicker than trunk. The trick is to save the "path" in the quadtree for each > saved boundary. So, I'll save e.g. a boundary with tag > mkgmap:boundaryid=r12345_032_2 , and that means the area is a part of > relation r12345, and it has to be saved in child[0]->child[3]->child[2], the > final _2 means that the bbox of this quadtree node contains another part of > r12345. > Most of the coding is done, I just have to decide where to put the methods. > > ciao, > Gerd > > > > WanMil wrote >> >> Hi Gerd, >> >> in an abstract way that's also a dictionary. Like I wrote I would first >> continue to implement the functionality and improve it afterwards if >> required. Keep it simple :-) >> >> WanMil >> >>> Hi WanMil, >>> >>> OK, so I try to keep all available info available. >>> I thought about saving the original boundary information with an empty >>> area section, >>> and for the boundaries that were merged in quadtree add a tag similar to >>> lies_in, e.g. >>> intersects_with=2:r19884;4:r20039;6:r998818 >>> Will try that tomorrow... >>> >>> ciao, >>> Gerd >>> >>> >>> >>> > Date: Thu, 19 Jan 2012 21:51:20 +0100 >>> > From: wmgcnfg@ >>> > To: mkgmap-dev at .org >>> > Subject: Re: [mkgmap-dev] [Patch v5] LocationHook with new Quadtree >>> > >>> > > Hi WanMil, >>> > > >>> > > I have coded a first version of the preparer with quadtree. It works >>> so >>> > > far, the bnd files are not >>> > > much bigger and the format is still the old one (boundaryLister can >>> read >>> > > them), the creation is a >>> > > little bit faster compared to trunk. >>> > >>> > Great! >>> > >>> > > >>> > > I think I understand now your question regarding the merging the >>> tags. >>> > > In the trunk implementation we save all kinds of tags for the >>> boundary, >>> > > although only a few are >>> > > needed by LocationHook. Now, when BoundaryQuadTree.Node.merge() has >>> > > executed, I have >>> > > some areas that are intersections of two or more boundaries. It is >>> clear >>> > > that we have to save the >>> > > location relevant tags, but what about the other? Can we simply >>> ignore >>> > > them? I guess no, because >>> > > we loose information like name:en, name:fr if they exist. >>> > >>> > Yes, that's a problem. The name that is used for the boundaries is >>> taken >>> > from the name-tag-list option. I think this should not be dropped - >>> > otherwise we loose the option to create a map with french or spanish >>> > country and boundary names. But the tags used in the name-tag-list >>> > option are not limited to "name:*" tags. So we cannot create a rule >>> > which tags could be dropped during preparation. >>> > >>> > It would be possible to create a dictionary with tag names at the >>> > beginning of each bnd file. But I think it's better to implement the >>> > whole functionality first with the current bnd file format. Once that >>> is >>> > done we might check if it improves the performance to optimize the bnd >>> > format. But I doubt that it makes a big difference because most of the >>> > bnd files are not very big. 99% of the bnd files of the world are >>> > smaller than 1 MB. >>> > >>> > WanMil >>> > >>> > > >>> > > Any ideas? >>> > > >>> > > Ciao, >>> > > Gerd >>> > > >>> > > >>> > _______________________________________________ >>> > mkgmap-dev mailing list >>> > mkgmap-dev at .org >>> > http://www.mkgmap.org.uk/mailman/listinfo/mkgmap-dev >>> >>> >>> _______________________________________________ >>> mkgmap-dev mailing list >>> mkgmap-dev at .org >>> http://www.mkgmap.org.uk/mailman/listinfo/mkgmap-dev >> >> _______________________________________________ >> 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-v5-LocationHook-with-new-Quadtree-tp7199763p7211809.html > Sent from the Mkgmap Development mailing list archive at Nabble.com. > _______________________________________________ > mkgmap-dev mailing list > mkgmap-dev at lists.mkgmap.org.uk > http://www.mkgmap.org.uk/mailman/listinfo/mkgmap-dev
- Previous message: [mkgmap-dev] [Patch v5] LocationHook with new Quadtree
- Next message: [mkgmap-dev] [Patch v5] LocationHook with new Quadtree
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
More information about the mkgmap-dev mailing list