logo separator

[mkgmap-dev] [PATCH v3] Multipolygon: Improved role handling

From WanMil wmgcnfg at web.de on Wed Mar 17 20:13:15 GMT 2010

> Hi WanMil,
>
>>> By the way, how could I fix this kind of messages:
>>>
>>> 2010/03/17 07:06:33 WARNING (MultiPolygonRelation): 63240003.osm.gz: Polygon 461
>>> 1686018427476479(16P : (4611686018427472578[16P]) carries role inner but lies in
>>> side an inner polygon. Potentially its role should be outer.
>>>
>>> Could the message include the way ID?
>>>
>>> 	Marko
>>
>> You don't see it but the message includes the way id:-) It is an
>> artificially generated way (4611686018427472578) from the generate-sea
>> algorithm so there is no "original" OSM way id.
>
> I do understand that there is no OSM relation ID for generate-sea, but
> I do not understand how there could be no way ID.  The natural=coastline
> are genuine OSM ways, aren't they?

Yes they are genuine OSM ways. But these ways are assembled by the 
generate-sea algorithm to polygons which get a new artificial id (the 
4611686018427472578). The multipolygon algorithm does not have any 
knowledge about the source OSM ways and their ids so it is not possible 
to create a more detailed log message at that point.

>
> Why are these messages generated?  Generate-sea is not complaining anything,
> now that my script strips any incomplete islands from the extract and patches
> the mainland coastline so that it will reach the tile borders.  Also the map
> is looking good.  It is not really a big deal.  I have been grepping away
> the generated IDs from the output, in addition to selected IDs that I have
> analyzed before (splitter or Geofabrik's osmosis problem).

The messages are generated because the generate-sea algorithm generated 
two polygons with role=inner and one of these polygons lies inside the 
other. I don't know if that's a bug of the generate-sea code or if the 
OSM data has a problem.

I have tried a quick patch so that the mp code can output the original 
way ids if there is a problem. This patch should NOT be committed. It is 
not tested....
But hopefully it can help you to find the problem you've had.

You will get messages like:
Polygon 4611686018427482402(128P : (4603087[82P],4603088[46P]) carries 
role inner but is not inside any other polygon. Potentially it does not 
belong to this multipolygon.
The first id (4611686018427482402) is the artificial id. The ids in the 
list (4603087, 4603088) are the original OSM ids.

WanMil

-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: gs_wayids_v1.patch
Url: http://lists.mkgmap.org.uk/pipermail/mkgmap-dev/attachments/20100317/b6f91260/attachment.pl 


More information about the mkgmap-dev mailing list