Opened 9 years ago

Closed 9 years ago

Last modified 9 years ago

#2699 closed defect (fixed)

Change in API behavior: Higher level relations are not returned

Reported by: sebastiank Owned by: zerebubuth@…
Priority: major Milestone:
Component: api Version:
Keywords: Cc: osm@…

Description

For quite some time, the API did return network relations for a bounding box request. (I. e. parent relations of the relations that have members in the bounding box.)

This is no longer the case. It was speculated, that it has something to do with the change of the API from ruby to C++ in the beginning of February.

The problem is, that these network relations are now very hard to find. Because they are never returned for a bbox request, you have to guess or know a child relation and then go to the relation dialog -> parent relation tab and click reload (In JOSM). However most relations don't have any parent relations, so you are looking for needles in a haystack.

I am aware that the doc on the wiki does not guarantee to return parent relations, but it is a regression nonetheless and it would be very helpful if the old behavior could be restored.

The issue came up 2 times on talk-de:
http://lists.openstreetmap.org/pipermail/talk-de/2010-February/062456.html
http://lists.openstreetmap.org/pipermail/talk-de/2010-February/062713.html

I can provide examples if needed.

Attachments (1)

firstattempt.patch (3.7 KB) - added by amm 9 years ago.
An initial attempt at fixing the problem

Download all attachments as: .zip

Change History (10)

comment:1 Changed 9 years ago by Tom Hughes

Owner: changed from Tom Hughes to zerebubuth@…

comment:2 Changed 9 years ago by Tom Hughes

Please do provide an example...

comment:3 Changed 9 years ago by sebastiank

  • Download http://www.openstreetmap.org/?lat=54.09579&lon=13.38175&zoom=17 in JOSM
  • It will download relation 23258 ("Kreisfreie Stadt Greifswald") with a single member which is within the bounding box.
  • Open the relation in the relation dialog and go to the tab parent relation, click reload
  • It will add the relation 22956 (Mecklenburg-Vorpommern) to the dataset.

A view weeks ago, the relation 22956 was returned by the bbox request, already.

Changed 9 years ago by amm

Attachment: firstattempt.patch added

An initial attempt at fixing the problem

comment:4 Changed 9 years ago by amm

Oh, my comment didn't seem to have made it... (forgot to save it)

The patch is probably still broken, definitely needs more testing, and is rather ugly. So I have only attached it for reference in case someones else gets the time to look at it.

comment:5 Changed 9 years ago by malenki

Cc: osm@… added

Today I ran into this one. To make it short: After all I created three parent relations for the same issue but could see none after i downloaded a part of the ways afresh (working with josm). I discovered the parent relations by incident via osm => data => details. The next problem depending on this bug is that relations which unknowingly are childs of an invisible parent relation can not be deleted.

comment:6 Changed 9 years ago by zere

Resolution: fixed
Status: newclosed

(In [21049]) Added functionality to fetch meta-relations with cgimap. Should fix #2699, but needs performance testing.

comment:7 Changed 9 years ago by zere

(In [21059]) Better relations query for cgimap - this time actually fixes #2699 as far as i can tell.

comment:8 Changed 9 years ago by zere

(In [21062]) Fixed another bug - should have been pulling in unwayed nodes into the relation lookup too. Refs #2699.

comment:9 Changed 9 years ago by Matt

Ran OsmMapCallValidator? on the bbox (13, 54, 13.5, 54.5) and after 1000 checks there were no errors. I think it might be fixed, finally!

Note: See TracTickets for help on using tickets.