Modify

Opened 4 years ago

Closed 4 years ago

Last modified 4 years ago

#3574 closed enhancement (fixed)

False positive of not closed way for landuse

Reported by: robome Owned by: bilbo
Priority: normal Component: Core validator
Version: latest Keywords:
Cc:

Description

When using multipolygon for combining multiple ways forming a ring as outlined in http://wiki.openstreetmap.org/wiki/Talk:Relation:multipolygon#Advanced_multipolygons, the validator does output a warning for landuse forest - not closed way.

While that for itself is correct (the way is really not closed), it's at least irritating because there's not really a problem. JOSM itself as well as Mapnik and Osmarender do draw the forest just fine.

Attachments (0)

Change History (11)

comment:1 follow-up: Changed 4 years ago by stoecker

When learned Mapnik the advanced multipolygons?

comment:2 in reply to: ↑ 1 Changed 4 years ago by robome

Replying to stoecker:

When learned Mapnik the advanced multipolygons?

I don't know. But if I'm not wrong it does, see relation 70787 and 30738 for example.

comment:3 Changed 4 years ago by bilbo

  • Owner changed from team to bilbo

comment:4 Changed 4 years ago by bilbo

  • Cc singularita@… added
  • Component changed from Core validator to Plugin multipoly
  • Version set to latest

comment:5 Changed 4 years ago by bilbo

  • Status changed from new to assigned

comment:6 Changed 4 years ago by stoecker

  • Cc singularita@… removed
  • Component changed from Plugin multipoly to Core validator

Actually this is a validator problem and not one of multipoly (p.s. you don't need to set cc, you automatically get mails when using assignment or when you added a comment :-). Seems validator does not yet know about advanced multipolygons. Solution would probably be to turn of the closed way checks for multipolygon relations, as these are anyway checked by josm's drawing code and produce a different warning when wrong.

comment:7 Changed 4 years ago by bilbo

But the problem is in multipoly too - it does not know advanced multipolygons either. There is algorithm to detect which way is outer, which works reliably in ordinary cases (one outer way that encompasses any amount of inner ways) but will result in a "guess" in case when there is no single way to be classified as outer way (or if you select some random polygons that won't form multipolygon no matter what roles you use). In such case, one way is guessed as role=outer and the rest are set as role=inner. Result: bad multipolygon

So multipoly plugin should first intrnally "join" all ways before deciding which part of new relation (it could be more than one way) should have role=outer. If validator detects this as bug, then this could be correct detection.

Which means I have to fix the plugin.

comment:8 Changed 4 years ago by bilbo

I forgot I add check there so the multipoly first checks that all ways are closed. So in this case it won't create invalid multipolygon, but will just report error and won't do anything. But still I could add advanced multipolygon support, since this is required if outer way is over 2000 nodes. I know many places where such ways are used, mostly large forests, about 50 - 100 km large in reality.

comment:9 Changed 4 years ago by stoecker

You may take the joining code from josm's mappaint class.

comment:10 Changed 4 years ago by stoecker

  • Resolution set to fixed
  • Status changed from assigned to closed

comment:11 Changed 4 years ago by stoecker

BTW: 70787 and 30738 are no advanced multipolygons. Mapnik still does not support them as I have seen today after creating one. And Osmarender has also troubles when the area is really large. It gets time these issues get fixed in the renderers as we have a 2000 points limit for ways now.

Add Comment

Modify Ticket

Change Properties
<Author field>
Action
as closed .
as The resolution will be set. Next status will be 'closed'.
The resolution will be deleted. Next status will be 'reopened'.
Author


E-mail address and user name can be saved in the Preferences.

 
Note: See TracTickets for help on using tickets.