1ec5 left a comment (openstreetmap/openstreetmap-website#2772)
> I think what may be happening is that the API response include the relation
> you asked for, and the ways and relations that are part of it (there is
> certainly more that one relation in the response) but not the ways which are
> members of the child relations and hence you effectively don't see the child
> relation.
The /full response for [this route
superrelation](https://www.openstreetmap.org/relation/9973398) includes each
member relation and its member relations (which happen to be ways). In turn,
that relation belongs to [this route
superduperrelation](https://www.openstreetmap.org/relation/11486089), whose
/full response recurses three levels down to the ways. Neither response
includes any way’s nodes. We’d need the nodes to reconstruct a geometry for
display.
https://github.com/openstreetmap/openstreetmap-website/blob/3e447d802ccb269dc468340c54f6c5268f7d4ebf/app/controllers/api/relations_controller.rb#L41-L64
> I would discourage unconstrained relation resolution for the API, in
> particular for use cases like the one mentioned here. Looking at relation
> 60189 (Russia) with all its nested multi level subareas, this would quickly
> produce 584MB worth of data. That's a pretty good way to kill your browser.
Any fix for this issue would definitely need to exclude `subarea` members. Even
if the API response includes them, the client-side conversion code would need
to ignore them anyways, since the user wouldn’t be expecting the map to
highlight subareas.
Even if we could eliminate the `subarea` tagging convention from OSM (pretty
please), mappers have gone overboard with other elaborate relation structures,
such as [all the numbered roads in South
Korea](https://www.openstreetmap.org/relation/6818098). At the same time, there
are definitely superrelations that would benefit greatly from a map
visualization. (This is especially true in OpenHistoricalMap:
OpenHistoricalMap/issues#601.) Unless we have a way to gauge the overall data
size ahead of time, it should only be available on demand, after the user
explicitly asks for it by clicking a button or something.
> If the route cannot be displayed, the interface **actually says so**; a list
> of the components of the superroute could for instance be stated as a list,
> which means the user at least gets some sense of what to do next.
I think this is the biggest pain point for both this issue and #3841. A
disclaimer could appear on the map, noting that we’ve loaded the current
element and some or all of its members are undownloaded ways.
--
Reply to this email directly or view it on GitHub:
https://github.com/openstreetmap/openstreetmap-website/issues/2772#issuecomment-3757114161
You are receiving this because you are subscribed to this thread.
Message ID:
<openstreetmap/openstreetmap-website/issues/2772/[email protected]>
_______________________________________________
rails-dev mailing list
[email protected]
https://lists.openstreetmap.org/listinfo/rails-dev