logo separator

[mkgmap-dev] Multipolygon-Relation checks in mkgmap

From Gerd Petermann GPetermann_muenchen at hotmail.com on Thu Jan 26 10:54:14 GMT 2017

Hi Ticker,

I like the idea to do the cutting only at high-prec. Maybe some backtracking algo would help here?
Something like
"If the shape is still to complex after DouglasPeucker was applied go back, split, and try again."

Gerd

________________________________________
Von: mkgmap-dev <mkgmap-dev-bounces at lists.mkgmap.org.uk> im Auftrag von Ticker Berkin <rwb-mkgmap at jagit.co.uk>
Gesendet: Donnerstag, 26. Januar 2017 11:40:09
An: mkgmap-dev at lists.mkgmap.org.uk
Betreff: Re: [mkgmap-dev] Multipolygon-Relation checks in mkgmap

Hi Gerd

Ah.

I need to have a think about when the filters operate and do they
generate new points. It is quite expensive to detect polygon self
-intersection (and that probably quite a bit of the cost if using
Java2D intersect) so don't think this should be added into filters as
well.

My idea would be along the lines of always cutting at high-prec, only
doing real filtering at the final map generation stage, but having pre
-filter functions that have estimates of the number of points in
line/poly so that splitting can be done earlier presumed necessary

Also, when a polygon is known to cover too large an area, instead of
being split arbitrarily by PolyonSubDivSizeSplitter, it is split as
part of MapSplitter.SplitMaxSize, forcing it into the
MapArea.splitIntoAreas logic.

Ticker

On Thu, 2017-01-26 at 08:42 +0000, Gerd Petermann wrote:
> Hi Ticker,
>
> the overlap is produced by the RoundCoordsFilter at res 20. This is
> quite normal and the algo should be able to handle
> them. The alternative would be to change the the filter(s) so that
> they don't produce self- intersecting polygons.
>
> Gerd
>
> ________________________________________
> Von: Gerd Petermann
> Gesendet: Mittwoch, 25. Januar 2017 16:22:05
> An: Development list for mkgmap
> Betreff: AW: [mkgmap-dev] Multipolygon-Relation checks in mkgmap
>
> Hi Ticker,
>
> okay, I'll have a look at the branch. The problem  in
> http://www.openstreetmap.org/relation/2199651
> is solved with r3773, but your case looks different.
>
> Gerd
>
> ________________________________________
> Von: mkgmap-dev <mkgmap-dev-bounces at lists.mkgmap.org.uk> im Auftrag
> von Ticker Berkin <rwb-mkgmap at jagit.co.uk>
> Gesendet: Mittwoch, 25. Januar 2017 15:56:06
> An: mkgmap-dev at lists.mkgmap.org.uk
> Betreff: Re: [mkgmap-dev] Multipolygon-Relation checks in mkgmap
>
> Hi Gerd
>
> Using your split of germany, 63240135.osm.pbf gives me the problem
> after I converted PolygonSplitterBase and AreaClipper to the new algo
>
> It is the outer way of relation/27312 at 48.94071,13.70245
> At highest resolution, openStreetMap shows no intersection, but when
> I
> dump the highRes points after the split complains and plot them it
> shows an overlap.
>
> Ticker
>
> On Wed, 2017-01-25 at 14:29 +0000, Gerd Petermann wrote:
> > Hi Ticker,
> >
> > do you have an example for such a problem case?
> >
> > Gerd
> >
> > ________________________________________
> > Von: mkgmap-dev <mkgmap-dev-bounces at lists.mkgmap.org.uk> im Auftrag
> > von Ticker Berkin <rwb-mkgmap at jagit.co.uk>
> > Gesendet: Mittwoch, 25. Januar 2017 13:25:34
> > An: mkgmap-dev at lists.mkgmap.org.uk
> > Betreff: Re: [mkgmap-dev] Multipolygon-Relation checks in mkgmap
> >
> > Hi Gerd
> >
> > Yes - please
> >
> > I started looking at MultiPolygonRelation yesterday with a view of
> > trying to convert it to use the new ShapeSplitter algorithm.
> >
> > I think that the way a self-intersecting polygon is rewritten after
> > a
> > split using the Java2D library causes problems for the new
> > algorithm
> > when it makes a later cut for points limits or subdivisions, even
> > when
> > the next cut isn't in the overlapped area.
> >
> > All I've done so far is convert a few more places to use highPrec
> > logic
> > and then slightly disparaging at the complexity of the whole thing.
> >
> > Ticker
> >
> > On Wed, 2017-01-25 at 09:05 +0000, Gerd Petermann wrote:
> > > Hi all,
> > >
> > > I'd like to rewrite the code in MultiPolygonRelation so that it
> > > tolerates more mp-rels.
> > > For example, the relation
> > > http://www.openstreetmap.org/relation/2199651
> > > produces these warnings:
> > > WARN: uk.me.parabola.mkgmap.reader.osm.MultiPolygonRelation
> > >  f:\osm\rel2199651.osm: Some polygons are intersecting. This is
> > > not
> > > allowed in multipolygons.
> > > WARN: uk.me.parabola.mkgmap.reader.osm.MultiPolygonRelation
> > >  f:\osm\rel2199651.osm: -
> > > http://www.openstreetmap.org/way/165084794
> > > WARN: uk.me.parabola.mkgmap.reader.osm.MultiPolygonRelation
> > >  f:\osm\rel2199651.osm: -
> > > http://www.openstreetmap.org/way/165084810
> > > WARN: uk.me.parabola.mkgmap.reader.osm.MultiPolygonRelation
> > >  f:\osm\rel2199651.osm: Polygon
> > > 4611686018427387906(8P)(165084810[8P]) carries role inner but is
> > > not
> > > inside any other polygon. Potentially it does not belong to this
> > > multipolygon.
> > > The inner way touches the outer way in one point. My
> > > understanding
> > > is
> > > that this is correct, mkgmap should not complain about it.
> > >
> > >  OK?
> > > Gerd
> > >
> > > _______________________________________________
> > > 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
> _______________________________________________
> 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