logo separator

[mkgmap-dev] mkgmap r2179: Still NullPointerException in BoundaryUtil

From WanMil wmgcnfg at web.de on Thu Jan 26 21:42:36 GMT 2012

I have checked the Way.clockwise() method and I think it's completely 
correct. I doubt that it is possible to create an overflow with normal 
map data.

Also the 4 points example should be completely correct if the points are 
given as longitude/latitude. In this case it is counterclockwise.
[2412980/371559, 2412981/371558, 2412992/371544, 2412980/371559]

The misinterpretation is caused by errornously assigning longitude to 
the x axis but it is the y axis.

WanMil

> Rather the same method is implemented in
> Multipolygon.calcAreaSize(List<Coord>  points). Maybe the two methods can
> be merged to use the same area calculation. The Multipolygon variant
> uses doubles. Maybe the fixes it.
>
> I don't mind moving the calculation from the Multipolygon class to a
> better util class.
>
> WanMil
>
>> Hi WanMil,
>>
>> I verified the result of the area calculation with a slightly different
>> algorithm that I found in the net,
>> that produced always exactly the same result.
>> Maybe it is not a good idea to use integer/long values for this. I'll
>> continue investigation with this tomorrow.
>>
>> ciao,
>> Gerd
>>
>>   >  Date: Tue, 24 Jan 2012 22:30:50 +0100
>>   >  From: wmgcnfg at web.de
>>   >  To: mkgmap-dev at lists.mkgmap.org.uk
>>   >  Subject: Re: [mkgmap-dev] mkgmap r2179: Still NullPointerException in
>> BoundaryUtil
>>   >
>>   >  Hi,
>>   >
>>   >  in case your are right Gerd (I have no time today to check that in
>>   >  deep), it is a bug of the clockwise method. So this method needs a
>>   >  bugfix - not the parts that use the method clockwise method.
>>   >
>>   >  WanMil
>>   >
>>   >  >  Hi Thorsten,
>>   >  >
>>   >  >  I can confirm this problem. I can repdroduce it with a "boundary" which
>>   >  >  contains these 4 points:
>>   >  >  [2412980/371559, 2412981/371558, 2412992/371544, 2412980/371559]
>>   >  >  The Way.clockwise() method says it is counter-clockwise.
>>   >  >  Besides rounding errors, it is a line, not a shape, and I guess
>> that causes
>>   >  >  the problem. The clockwise() method calculates an area size of 3,
>> which is
>>   >  >  almost zero.
>>   >  >
>>   >  >  It is quite likely that the intersection of two areas produces
>> these "nearly
>>   >  >  empty" (parts of) areas, what we need is a filter that throws them
>> away.
>>   >  >
>>   >  >  I am not sure if WanMil is already working on this?
>>   >  >
>>   >  >  Gerd
>>   >  >
>>   >  >
>>   >  >  Thorsten Kukuk wrote
>>   >  >>
>>   >  >>  Hi,
>>   >  >>
>>   >  >>  I compiled mkgmap r2179 and tried to create the bounds files with
>>   >  >>  it:
>>   >  >>
>>   >  >>  osmconvert data/planet/planet-120122.osm.pbf --out-o5m
>>   >  >>  osmfilter data/boundaries/world-20120122.o5m --keep-nodes=
>>   >  >>  '--keep-ways-relations=boundary=administrative =postal_code
>> postal_code='
>>   >  >>  mkgmap --createboundsfile=data/boundaries/boundaries-20120122.osm.gz
>>   >  >>  --bounds=data/boundaries/20120122
>>   >  >>  Schwerwiegend (BoundarySaver): Calculate bbox to
>>   >  >>  (-90.12222290039062,-180.24444580078125) to
>>   >  >>  (82.6120376586914,179.17156219482422)
>>   >  >>  Exception in thread "main" java.lang.NullPointerException
>>   >  >>  at
>>   >  >>
>> uk.me.parabola.mkgmap.reader.osm.boundary.BoundaryUtil.loadBoundaryFile(BoundaryUtil.java:169)
>>   >  >>  at
>>   >  >>
>> uk.me.parabola.mkgmap.reader.osm.boundary.BoundaryPreparer.workoutBoundaryRelations(BoundaryPreparer.java:144)
>>   >  >>  at
>>   >  >>
>> uk.me.parabola.mkgmap.reader.osm.boundary.BoundaryPreparer.run(BoundaryPreparer.java:110)
>>   >  >>  at uk.me.parabola.mkgmap.main.Main.endOptions(Main.java:333)
>>   >  >>  at
>>   >  >>
>> uk.me.parabola.mkgmap.CommandArgsReader.readArgs(CommandArgsReader.java:126)
>>   >  >>  at uk.me.parabola.mkgmap.main.Main.main(Main.java:112)
>>   >  >>  Command exited with non-zero status 1
>>   >  >>
>>   >  >>
>>   >  >>  Thorsten
>>   >  >>
>>   >  >>  --
>>   >  >>  Thorsten Kukuk, Project Manager/Release Manager SLES
>>   >  >>  SUSE LINUX Products GmbH, Maxfeldstr. 5, D-90409 Nuernberg
>>   >  >>  GF: Jeff Hawn, Jennifer Guild, Felix Imendörffer, HRB 16746 (AG
>> Nürnberg)
>>   >  >>  _______________________________________________
>>   >  >>  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/mkgmap-r2179-Still-NullPointerException-in-BoundaryUtil-tp7215004p7220841.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
>>   >
>>   >  _______________________________________________
>>   >  mkgmap-dev mailing list
>>   >  mkgmap-dev at lists.mkgmap.org.uk
>>   >  http://www.mkgmap.org.uk/mailman/listinfo/mkgmap-dev
>>
>>
>> _______________________________________________
>> mkgmap-dev mailing list
>> mkgmap-dev at lists.mkgmap.org.uk
>> http://www.mkgmap.org.uk/mailman/listinfo/mkgmap-dev
>
> _______________________________________________
> 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