osmandapp / OsmAnd

OsmAnd
https://osmand.net
Other
4.6k stars 1.01k forks source link

residential areas within island areas, are not rendered at all #17760

Open Martin868 opened 1 year ago

Martin868 commented 1 year ago

Description

I notice that the app does not render landuse=residential when the area is also within an island area. I have seen that issue multiple times. Openstreetmap.org have no issue rendering those.

How to reproduce

Vie on enclosed area with tag place=island, and with landuse=residential polygons within it. The residential areas are not being rendered at all.

Actual result

Expected result

Environment OsmAnd Version: latest 4.4.9 Android/iOS version: latest 16.5.1c Device model: iPhone 14 Pro Max

DmitryAlexei commented 1 year ago

OsmAnd~ 4.6.0#514m, released: 2023-07-31

  1. 45.4621400, 12.3538004
  2. Island 1, 2, 3 tagged with tags place=island landuse=residential
  3. Polygons are shown.

We will also check iOS version of the app.

Martin868 commented 1 year ago

Thanks Dmitry. I chould have been more specific with examples. Here are a few.

A simpler case, the https://www.openstreetmap.org/#map=16/46.1071/-72.8792 The village Notre-Dame-de-Pierreville rendes correctly in OSM If you look at the same location in OSMAND it does not. I notice the place=island here is attached to a multi polygon relation rather than a simple island area. 

Two complex cases because that are large urban areas. The Island lf Montreal, and the suburb city of Laval just north. Both are complex multipolygon. Here are the OSM links to them Here https://www.openstreetmap.org/#map=12/45.5490/-73.7014 If you zoom around you can see the residential mapping is there in OSM but nothing shows in OSMAND.

Finally I found a case in Lake Champlain, the little village of North Hero, located on a larger island. Here https://www.openstreetmap.org/#map=15/44.8173/-73.2885 Same thing happen, residential area shows gray in OSM but cannot be seen using OSMAND 

IMPORTANT. While checking those I noticed that in the OSMAND app the residential area are rendered correctly when I use the hiking profile, which for me uses the Topo rendering. When I use the Browse Map profile with the OsmAnd rendering, or my cycling profile with the OSM-carto rendering, residential does not show.

So Here we go I tried to provide more specific information. Hope this helps.

On Jul 31, 2023, at 5:44 AM, DmitryAlexei @.***> wrote:

OsmAnd~ 4.6.0#514m, released: 2023-07-31

45.4621400, 12.3538004 Island 1 https://www.openstreetmap.org/way/1088941396, 2 https://www.openstreetmap.org/way/1088941395, 3 https://www.openstreetmap.org/way/1088941398 tagged with tags place=island landuse=residential Polygons are shown. https://user-images.githubusercontent.com/116079541/257179427-97b97615-9531-4dd6-8614-b6eb5b253cf9.jpg https://user-images.githubusercontent.com/116079541/257180448-47d3ade4-bdc1-47cf-861f-3c406de6f1d9.jpg https://user-images.githubusercontent.com/116079541/257179902-0aa997f1-27a9-4467-86ba-57e116fccf7c.png — Reply to this email directly, view it on GitHub https://github.com/osmandapp/OsmAnd/issues/17760#issuecomment-1658032653, or unsubscribe https://github.com/notifications/unsubscribe-auth/AIGA7HCIRBVLAAOLSDFPFHDXS547LANCNFSM6AAAAAA244C4XI. You are receiving this because you authored the thread.

yuriiurshuliak commented 1 year ago

To reproduce the bug, we carefully examined the specified island's territory on the map. The polygon and its nearby regions are being shown accurately. Provide additional details and a step-by-step account of encountering the error. If possible, share screenshots or a short video for better identification.

OsmAnd 4.4.10

Martin868 commented 1 year ago

Is what I did in my previous replay an hour ago, sufficient ? To reproduce I simply open OSMand at the location and compare with openstreetmap.org http://openstreetmap.org/. The former does not display any gray zone where residential is used while the latter does. I included links and screenshots.

On Jul 31, 2023, at 9:38 AM, yuriiurshuliak @.***> wrote:

To reproduce the bug, we carefully examined the specified island's territory on the map. The polygon and its nearby regions are being shown accurately. Provide additional details and a step-by-step account of encountering the error. If possible, share screenshots or a short video for better identification.

OsmAnd 4.4.10

https://user-images.githubusercontent.com/127092082/257234650-40ee6b5b-811f-488d-858d-2a7ddd4b7f9f.jpg https://user-images.githubusercontent.com/127092082/257234664-46d598af-fabd-4bb9-8886-a52889dadea1.jpg — Reply to this email directly, view it on GitHub https://github.com/osmandapp/OsmAnd/issues/17760#issuecomment-1658395352, or unsubscribe https://github.com/notifications/unsubscribe-auth/AIGA7HFTFK7DHC4I5CNAEEDXS6YNNANCNFSM6AAAAAA244C4XI. You are receiving this because you authored the thread.

Martin868 commented 1 year ago

Hi all. I am a little confused now. Did I provide what is needed to understand the issue or this is getting lost ? Thanks

On Jul 31, 2023, at 9:58 AM, Martin Chalifoux @.***> wrote:

Is what I did in my previous replay an hour ago, sufficient ? To reproduce I simply open OSMand at the location and compare with openstreetmap.org http://openstreetmap.org/. The former does not display any gray zone where residential is used while the latter does. I included links and screenshots.

On Jul 31, 2023, at 9:38 AM, yuriiurshuliak @.***> wrote:

To reproduce the bug, we carefully examined the specified island's territory on the map. The polygon and its nearby regions are being shown accurately. Provide additional details and a step-by-step account of encountering the error. If possible, share screenshots or a short video for better identification.

OsmAnd 4.4.10

https://user-images.githubusercontent.com/127092082/257234650-40ee6b5b-811f-488d-858d-2a7ddd4b7f9f.jpg https://user-images.githubusercontent.com/127092082/257234664-46d598af-fabd-4bb9-8886-a52889dadea1.jpg — Reply to this email directly, view it on GitHub https://github.com/osmandapp/OsmAnd/issues/17760#issuecomment-1658395352, or unsubscribe https://github.com/notifications/unsubscribe-auth/AIGA7HFTFK7DHC4I5CNAEEDXS6YNNANCNFSM6AAAAAA244C4XI. You are receiving this because you authored the thread.

DmitryAlexei commented 1 year ago

Residential area (https://www.openstreetmap.org/way/507823934) is not rendered or not seen (screenshot 1) Residential area (https://www.openstreetmap.org/way/943072416) is rendered (screenshot 2). At the same time, the rendering color is different from the one specified in our map legend (https://osmand.net/docs/user/map-legend/osmand/#landuse)

xmd5a2 commented 1 year ago

Related to https://github.com/osmandapp/Osmand/issues/8743

xmd5a2 commented 1 year ago

landuse=residential should be under natural=water to fix https://github.com/osmandapp/OsmAnd/issues/8743 but place=island should be over natural=water.

<<top>>
place=island
natural=water
landuse=residential
<<bottom>>

But current issue required that landuse=residential should be over place=island which is rendered over natural=water:

<<top>>
landuse=residential
place=island
natural=water
<<bottom>>

So conflict occurs. It is not possible to fix these 2 issues simultaneously by just changing object order. It must be fixed somehow.

vshcherb commented 1 year ago

Shouldn't we delete order at all? What issues will happen? @xmd5a2

Martin868 commented 1 year ago

I would think ordering based on tags makes little sense if you do not take into account if a shape in inclosed within another. For example if the water shape is enclosed within the island it shows. If the island is enclosed within the water then island shows.

That said proper tagging should be that an island is also an inner relation with the water is it within, and in those cases there should not be confusion.

Il the case I reported it is residential that is not rendered when within an island. Is you stop rendering island as a shape and rely on the relation to cut out the water it is within, that should let the residential render properly. To me island in itself is not something that should render other than for the name tag. It must be liked to the water body with a relation and excluded with the inner tag. If that was not done it is improperly mapped to start with.

All said I do not know much about how the code works. Just making a suggestion.

On Aug 18, 2023, at 5:24 AM, vshcherb @.***> wrote:

Shouldn't we delete order at all? What issues will happen? @xmd5a2 https://github.com/xmd5a2 — Reply to this email directly, view it on GitHub https://github.com/osmandapp/OsmAnd/issues/17760#issuecomment-1683625849, or unsubscribe https://github.com/notifications/unsubscribe-auth/AIGA7HHTXJWXKRMIBBHKE4DXV4YGHANCNFSM6AAAAAA244C4XI. You are receiving this because you authored the thread.

xmd5a2 commented 1 year ago

@vshcherb If we remove order for place=island and landuse=residential then residential areas in Netherlands will be rendered over water (https://github.com/osmandapp/OsmAnd/issues/8743) Screenshot_2023-08-21_10-13-38 Screenshot_2023-08-21_10-13-21

ivanPyrohivskyi commented 1 year ago

Difficult to fix.

vshcherb commented 1 year ago

To do: we need to understand how Mapnik works so it doesn't produce residential area over sea borders though residential area is bigger (and later implement the same)

vshcherb commented 1 year ago

Strangely enough this ways is not visible not clear why - https://www.openstreetmap.org/way/6337167#map=17/52.15063/4.78207 on Mapnik however it's much smaller than https://www.openstreetmap.org/relation/2741394#map=16/52.1511/4.7903