Reporter: sebastiank
[Submitted to the original trac issue database at 9.29pm, Friday, 22nd January 2010]
In JOSM we always need to know all relations an object is in. (1)
For a normal map?bbox= request, this is fulfilled. However for a relation, we don't get all members (which is a good thing). So the incomplete members need to be downloaded separately, if the user requests it. For this we use the API calls relation/#id/full (to download all members) and ways?ways= (similar for nodes, relations; to download only the missing members).
Then the precondition fails and some of these objects might be in a relation, but the editor doesn't know that.
In principle one could request
[node|way|relation]/#id/relations
for each primitive that was retrieved by the ways or full call. But usually one deals with hundreds or even thousands of objects (that may be all member of large relations), so this produces way too much traffic.
It would be nice to have an API call to
-
download all members of a relation as well as all relations, these members are in;
-
download a list of nodes/ways/relations as well as all relations, these objects are in.
A little difficulty here: It should return only a list of the relation ids or otherwise it would produce a lot of unnecessary traffic, again.
(1) Some example: A boundary way can be in multiple boundary relations. When splitting the way, all parts need to be added as members of these relations. When editing boundaries, it is often necessary to download missing members, so it is easy to run into this trap.
Reporter: sebastiank
[Submitted to the original trac issue database at 9.29pm, Friday, 22nd January 2010]
In JOSM we always need to know all relations an object is in. (1)
For a normal
map?bbox=request, this is fulfilled. However for a relation, we don't get all members (which is a good thing). So the incomplete members need to be downloaded separately, if the user requests it. For this we use the API callsrelation/#id/full(to download all members) andways?ways=(similar for nodes, relations; to download only the missing members).Then the precondition fails and some of these objects might be in a relation, but the editor doesn't know that.
In principle one could request
for each primitive that was retrieved by the
waysorfullcall. But usually one deals with hundreds or even thousands of objects (that may be all member of large relations), so this produces way too much traffic.It would be nice to have an API call to
download all members of a relation as well as all relations, these members are in;
download a list of nodes/ways/relations as well as all relations, these objects are in.
A little difficulty here: It should return only a list of the relation ids or otherwise it would produce a lot of unnecessary traffic, again.
(1) Some example: A boundary way can be in multiple boundary relations. When splitting the way, all parts need to be added as members of these relations. When editing boundaries, it is often necessary to download missing members, so it is easy to run into this trap.