Re: Box query
From: Bob Badour <bbadour_at_pei.sympatico.ca>
Date: Sat, 22 Apr 2006 02:33:05 GMT
Message-ID: <BBg2g.64017$VV4.1199224_at_ursa-nb00s0.nbnet.nb.ca>
>
>
> Excellent! "not exists (no overlaps)." I like it. I was
> thinking "exists (all overlap)."
>
> I think
>
> and (b4.high <= b3.low or b4.low >= b3.high)
>
> prevents responses where the boxes abut each other; although
> not stated, I don't think that sharing part of an edge - even
> a single point - means that boxes intersect. I'm guessing
> the volume of the intersection s/b > 0.
Date: Sat, 22 Apr 2006 02:33:05 GMT
Message-ID: <BBg2g.64017$VV4.1199224_at_ursa-nb00s0.nbnet.nb.ca>
>> Mikito Harakiri wrote: >> >>> Mikito Harakiri wrote: >>> >>>> Given a set of n-dimensional boxes >>>> >>>> table boxes ( >>>> dimension# integer, >>>> low integer, >>>> high integer >>>> ) >>>> >>>> find all the pairs that intersect... >>> >>> >>> >>> >>> And those pairs supposed to be what? Right, box ids: >>> >>> table boxes ( >>> *id* integer, >>> dimension# integer, >>> low integer, >>> high integer >>> ) >>> >> >> select b1.id as box1, b2.id as box2 >> from boxes b1, boxes b2 >> where b1.id < b2.id >> and not exists ( >> select 1 from boxes b3, boxes b4 >> where b3.id = b1.id >> and b4.id = b2.id >> and b4.dimension# = b3.dimension# >> and (b4.high < b3.low or b4.low > b3.high) >> ) >> group by 1, 2 >> ;
>
>
> Excellent! "not exists (no overlaps)." I like it. I was
> thinking "exists (all overlap)."
>
> I think
>
> and (b4.high <= b3.low or b4.low >= b3.high)
>
> prevents responses where the boxes abut each other; although
> not stated, I don't think that sharing part of an edge - even
> a single point - means that boxes intersect. I'm guessing
> the volume of the intersection s/b > 0.
Does a point intersect with itself? Received on Sat Apr 22 2006 - 04:33:05 CEST