[OSM-dev] [OSM-talk] Circular relation by user mapper_07
Matt Amos
zerebubuth at gmail.com
Thu Jul 16 11:19:50 BST 2009
On Thu, Jul 16, 2009 at 10:41 AM, Chris Browet<cbro at semperpax.com> wrote:
> 2009/7/16 Frederik Ramm <frederik at remote.org>
>> Chris Browet wrote:
>>>
>>> I'd be curious to know how the api calculates the bounding box of such a
>>> relation
>>
>>
>> http://wiki.openstreetmap.org/wiki/OSM_Protocol_Version_0.6#Bounding_box_computation
>>
>>> assuming the api definition is "the smallest bbox containg all
>>> children bbox'es".
>>
>> It isn't.
>>
>
> Ok. If I understand well, it adds to a relation bbox all the nodes and ways
> of children relations (+ the "pure" ways and nodes, of course).
>
> That won't remove the problem of infinite recursion: R1 -> R2 -> R1; it will
> add to R1 all ways/nodes of R2, which itself will add all ways/nodes of R1,
> which will...
>
> Bottomline question is: How does the api handle the case?
short answer: it doesn't.
long answer: the position taken by the API for both map calls and
changeset bboxes is that relations don't have physical extent - only
their node and way members do. bboxes are calculated only from the
immediate members of the relation, so recursion is necessary.
(there is a bug, which means something is recursing, but it's not supposed to)
cheers,
matt
More information about the dev
mailing list