[postgis-devel] assumptions of &&& operator for missing dimensions

Sandro Santilli strk at keybit.net
Tue Feb 24 08:05:23 PST 2015


On Tue, Feb 24, 2015 at 04:26:02PM +0100, Even Rouault wrote:
> Le mardi 24 février 2015 16:15:53, Sandro Santilli a écrit :
> > On Tue, Feb 24, 2015 at 08:09:26AM -0500, Paul Ramsey wrote:
> > > Well, the old semantic has been there since 2.0, which is a very long
> > > time. A further question for it would be: what do the next functions do?
> > > What does a distance calculation between a 2d and 3d object return? does
> > > it also respect that semantic?
> > 
> > I just checked and ST_3DDistance is instead still confusing:
> > select ST_3DDistance('POINT Z (0 0 10)', 'POINT (0 0)'); -- 10
> > I think it should be 0 instead.
> 
> As an uninformed observer, 10 or an error because of heterogenous dimensions 
> would seem reasonable to me. But 0 would be very surprising !

How about overlap then ? Should they overlap or not ?

 'POINT Z (0 0 10)' &&& 'POINT (0 0)'

That's were we started, original question was,
which one do you prefer:

    1. Missing dimension is unknown, return NULL
    2. Missing dimension is infinite, overlaps everything
    3. Missing dimension is empty, overlaps nothing
    4. An impossible comparison was requested, raise exception

On Thu, Feb 19, 2015 at 09:04:16AM -0800, Paul Ramsey wrote:
> My preference was always to allow, for example,
> a 2d query box to extract a 3d column of data from a volume
> of points, and I would have implemented that way if I could.
> Now, what i cannot tell you, is why I felt I couldn’t…

--strk;



More information about the postgis-devel mailing list