StrandedKitty / streets-gl

🗺 OpenStreetMap 3D renderer powered by WebGL2
http://streets.gl
MIT License
598 stars 44 forks source link

Pedestrian area outer relation with grass/forest inners buggy #120

Open zyphlar opened 1 year ago

zyphlar commented 1 year ago

Describe the bug Some locations like this https://streets.gl/#44.94065,-123.02938,22.75,202.50,222.36 render properly in f4 and in 2d but not in Streets-GL -- it's as though the southerly half of the capitol mall is clipped or failed to load some/all vector points despite the loaded and unloaded parts having no discernible differences.

Expected behavior Consistency with iD, Carto, F4map, etc

Map location https://streets.gl/#44.94065,-123.02938,22.75,202.50,222.36

Screenshots image

System information

sekerob commented 1 year ago

Where things seem to go wonky is where a footway is mapped on top of a road on layer=-1. Loaded the area into JOSM and ran validator spitting out 65 issues, so not all is mapped text book.

image

PS, I'm impressed though with the backrested benches all facing in the park at both sides without any direction tags.

zyphlar commented 1 year ago

Unsure how else to tag it, the two features are colinear and only separated vertically. I don't see any JOSM issues that seem like they'd affect this, most seem to be cosmetic/pedantic or relating to building:parts inside of buildings. JOSM does complain that we're using highway=pedestrian + area=yes ("area on a relation") instead of the apparently updated area:highway=pedestrian tagging scheme, but JOSM itself doesn't even render area:highway=pedestrian and the wiki acknowledges that the current tagging is correct (large areas where pedestrians can walk any way they want, like a square or plaza)

This area does have a history of excessive relations where they're not necessary, so if it's valid I'd be happy to remove the relation, but renderers would have to treat grass and woods as higher vertically than pavement in order to display properly. I suspect that both types of groundcover were once considered to be equal and caused issues, especially clipping in 3D.

ivanbranco commented 1 year ago

JOSM does complain that we're using highway=pedestrian + area=yes ("area on a relation") instead of the apparently updated area:highway=pedestrian tagging scheme

I don't use JOSM, but I don't think it complains of highway=pedestrian+area=yes instead of area:highway=pedestrian, but more likely about the fact that every multipolygon is an area, so tagging it is redundant.

kayD commented 1 year ago

Another example of a multipolygon missing its innner cutout is https://streets.gl/#49.84893,9.96558,45.00,0.00,258.67 (i.e. the round building should have an open atrium)

StrandedKitty commented 1 year ago

Another example of a multipolygon missing its innner cutout is https://streets.gl/#49.84893,9.96558,45.00,0.00,258.67 (i.e. the round building should have an open atrium)

This is because roof:shape=pyramidal doesn't respect multipolygon holes. For this particular building you should probably use roof:shape=hipped.

kayD commented 1 year ago

I tried roof:shape=hipped. It cuts the hole, but the roof is flat. (Maybe related to #1 ?) Also, in F4, the roof looks very wonky. F4 worked with pyramidal and hole. Thinking about it, roof:shape=skillion seems more appropriate. Hole is there, but also flat roof.

StrandedKitty commented 1 year ago

roof:shape=hipped is not guaranteed to work sadly. It often fails on polygons with holes, especially on donut-like multipolygons like this one.