[postgis-devel] Should EMPTY be spatially equal to self ?

Paragon Corporation lr at pcorp.us
Tue Jan 17 01:32:23 PST 2012


Wikipedia is our friend :)

http://en.wikipedia.org/wiki/DE-9IM

 

> -----Original Message-----
> From: postgis-devel-bounces at postgis.refractions.net 
> [mailto:postgis-devel-bounces at postgis.refractions.net] On 
> Behalf Of Chris Hodgson
> Sent: Monday, January 16, 2012 1:45 PM
> To: PostGIS Development Discussion
> Subject: Re: [postgis-devel] Should EMPTY be spatially equal to self ?
> 
> Just going to throw my bits into this discussion.
> >> I belive the spatial relationship of two empty geometries is well 
> >> defined as :
> >>
> >>        i  b  e
> >>     i  F  F  F
> >>     b  F  F  F
> >>     e  F  F  2
> > I think you should justify this.  Is it not so that the 
> empty set is a 
> > member of all sets?  If the interior and boundary of the 
> empty set is 
> > the empty set, How come you get so many F's in your matix?
> I believe that matrix is correct. The empty set is not a 
> member of all sets; if it were, the intersection between any 
> two sets could never be empty. The empty set IS a subset of 
> all sets; but that is not at issue here. Personally I don't 
> think it is necessary to define the matrix at all.
> 
> The reason why I believe it is necessary to have the empty 
> geometry is for "geometric formulas". Consider the following, 
> where A, B, and C are arbitrary geometries:
> 
> A minus (B intersect C)
> 
> If (B intersect C) is empty, and we return NULL, then A minus 
> NULL will return NULL, leaving us with no answer. If we allow 
> for (B intersect C) to return an EMPTY geometry, then we can 
> proceed with A minus EMPTY and return A, which is almost 
> certainly the answer we were looking for. You can replace the 
> minus and intersect with whatever operations you like, 
> certainly there are other even more interesting cases which 
> suggest that EMPTY has a use.
> 
> Given that this is a valid reason for having EMPTY 
> geometries, and treating them with different semantics than 
> NULLs, we consider what semantics we should use for EMPTY == 
> EMPTY, and it seems to me, that if you were ever doing an 
> equals test where it was possible to have empty geometries on 
> either side, having two empty geometries be equal is the only 
> useful meaning. If you really want to attach another meaning 
> is possible to do by specifically filtering for EMPTY cases - 
> though the same is true either way so this doesn't lend much 
> weight to my argument; if anything it should lift some weight 
> from the overall decision.
> 
> Overall it seems to me than EMPTY has more similar mechanics 
> to zero than to null, and clearly 0 == 0.
> 
> Cheers,
> Chris
> _______________________________________________
> postgis-devel mailing list
> postgis-devel at postgis.refractions.net
> http://postgis.refractions.net/mailman/listinfo/postgis-devel
> 





More information about the postgis-devel mailing list