logo separator

[mkgmap-dev] RE Commit r3801: merge split-shape branch

From Ticker Berkin rwb-mkgmap at jagit.co.uk on Tue Feb 14 23:23:18 GMT 2017

Hi Mike

I have the raw postcode data (codePointOpen.zip) which I processes just
to take the first few at the same point but I can change it do all of
them individually. Do you feed it with a map through the splitter or
just make a postcode only overlay? What is the bit of style you use to
represent each postcode? I can probably knock up something similar.

The code should cope - I can't see anything obviously wrong so need to
try and reproduce the problem

Ticker 

On Tue, 2017-02-14 at 18:17 +0000, Mike Baggaley wrote:
> Hi Ticker the data is postcode centres (points). As well as
> geographic postcodes, the Royal Mail postcode data includes a number
> of postcodes that are centred on sorting offices (presumably for box
> numbers). There are quite a few at large sorting offices, but if each
> split should be able to accept 255 points, and it is exceeding 2000
> splits before crashing, it looks like the splitting is not working -
> there won't be more than 2000 * 255 postcodes at the same place. My
> OSM file is rather large. I can see whether I can extract a map
> centred on a sorting office.
> 
> Regards,
> Mike
> 
> -----Original Message-----
> From: Ticker Berkin [mailto:rwb-mkgmap at jagit.co.uk] 
> Sent: 14 February 2017 17:52
> To: mkgmap-dev at lists.mkgmap.org.uk
> Subject: Re: [mkgmap-dev] RE Commit r3801: merge split-shape branch
> 
> Hi Mike
> 
> This is an area of code I've changed and it should be able to cope
> with
> many items at the same location without recursing.
> 
> Do you have some sample data? what are the items (point/line/shape
> extended?)
> 
> Ticker
> 
> On Tue, 2017-02-14 at 17:40 +0000, Mike Baggaley wrote:
> > Hi Gerd, since this change I am getting a
> > java.lang.StackOverflowError crash
> > caused by the code recursively attempting to split something which
> > is
> > unsplittable (assuming the split is based on location), as I have a
> > large
> > number of points at exactly the same location (from external data I
> > add to
> > the OSM data).
> > 
> > The offending line is at
> > uk.me.parabola.mkgmap.build.MapSplitter.addAreasToList(MapSplitter.
> > ja
> > va:187)
> > . It is failing on my system with a depth of 2342. I suggest there
> > needs to
> > be a maximum depth after which it should give up trying to split.
> > 
> > 				} else if (mustSplit) { // can't reduce
> > size, so force more subdivisions
> > 					log.debug("splitting area by
> > contents", area);
> > 					MapArea[] sublist =
> > area.split(1, 1,
> > bounds, true);
> > 					addAreasToList(sublist, alist,
> > depth
> > + 1);
> > 					continue;
> > 				}
> > 
> > I am unsure whether you would want a fixed depth limit, would want
> > it
> > to be
> > set by parameter, would prefer to catch the error or think it would
> > be
> > possible to see whether the proposed area split has made any
> > improvement,
> > and give up if it hasn't.
> > 
> > Regards,
> > Mike
> > 
> > 
> > _______________________________________________
> > mkgmap-dev mailing list
> > mkgmap-dev at lists.mkgmap.org.uk
> > http://www.mkgmap.org.uk/mailman/listinfo/mkgmap-dev
> 


More information about the mkgmap-dev mailing list