[postgis-devel] EMPTY

Martin Davis mbdavis at refractions.net
Tue Oct 6 14:25:24 PDT 2009


FALSE!!!!

Paul Ramsey wrote:
> OK, the uber question (Kevin can meditate over this one tonight):
>
> ST_Relate(geometry, empty)
> ST_Relate(empty, empty)
>
>  :)
>
> On Tue, Oct 6, 2009 at 2:11 PM, Paragon Corporation <lr at pcorp.us> wrote:
>   
>> Yap 0 on all counts.  Wow those Microsoft people are really smart.
>>
>>  --geometry contains empty
>>  SELECT Geometry::STGeomFromText('POINT(1
>> 2)',4326).STContains(Geometry::STGeomFromText('POLYGON EMPTY',4326))
>>        => 0
>>
>> --geometry within empty
>>  SELECT Geometry::STGeomFromText('POINT(1
>> 2)',4326).STWithin(Geometry::STGeomFromText('POLYGON EMPTY',4326))
>>         => 0
>>
>> --empty contains geometry
>>  SELECT Geometry::STGeomFromText('POLYGON
>> EMPTY',4326).STContains(Geometry::STGeomFromText('POINT(1 2)',4326))
>>  => 0
>>
>>  --empty within geometry
>> SELECT Geometry::STGeomFromText('POLYGON
>> EMPTY',4326).STWithin(Geometry::STGeomFromText('POINT(1 2)',4326))
>>  => 0
>>
>> Thanks,
>> Regina
>>
>> -----Original Message-----
>> From: postgis-devel-bounces at postgis.refractions.net
>> [mailto:postgis-devel-bounces at postgis.refractions.net] On Behalf Of Chris
>> Hodgson
>> Sent: Tuesday, October 06, 2009 5:03 PM
>> To: PostGIS Development Discussion
>> Subject: Re: [postgis-devel] EMPTY
>>
>> I agree with you Regina, and I bet SQL Server does too.
>>
>> Chris
>>
>> Paragon Corporation wrote:
>>     
>>> They should all be false.
>>>
>>> Isn't the first requirement of containment/contains be that the two
>>> geometries intersect -- so if we say empty can't intersect with
>>> anything including empty, how can anything possibly contain  it?
>>>
>>> Though have to pull out my sql server 2008 to see if it is in agreement.
>>>
>>> Thanks,
>>> Regina
>>>
>>>
>>>
>>> -----Original Message-----
>>> From: postgis-devel-bounces at postgis.refractions.net
>>> [mailto:postgis-devel-bounces at postgis.refractions.net] On Behalf Of
>>> Paul Ramsey
>>> Sent: Tuesday, October 06, 2009 4:39 PM
>>> To: PostGIS Development Discussion
>>> Subject: Re: [postgis-devel] EMPTY
>>>
>>> In the spirit of maintaining the geometry logical flow, what do you
>>> think of these ideas?
>>>
>>>  * ST_Contains(geometry, empty) == TRUE
>>>  * ST_Within(geometry, empty) == FALSE
>>>  * ST_Contains(empty, geometry) == FALSE
>>>  * ST_Within(empty, geometry) == TRUE
>>>
>>> What does SQL Server say?
>>>
>>> P
>>>
>>> On Tue, Oct 6, 2009 at 1:34 PM, Paul Ramsey
>>> <pramsey at cleverelephant.ca>
>>> wrote:
>>>
>>>       
>>>> I'm going to change my intersection/disjoint answers to agree w/ SQL
>>>> Server. They are not bad, and they maintain the symmetry between
>>>> where intersection => ! disjoint.
>>>>
>>>> P.
>>>>
>>>> On Tue, Oct 6, 2009 at 12:45 PM, Chris Hodgson
>>>> <chodgson at refractions.net>
>>>>
>>>>         
>>> wrote:
>>>
>>>       
>>>>> I moved these and summarized the interesting results from SQL Server
>>>>> 2008 next to your original lines Paul.
>>>>>
>>>>> Note that SQL Server says that everything is disjoint from empty,
>>>>> including empty itself - whereas your original guesses were to
>>>>> return
>>>>>
>>>>>           
>>> false.
>>>
>>>       
>>>>> So far I think I like SQL Server's answers. Would be good to compare
>>>>> with oracle spatial too.
>>>>>
>>>>> Chris
>>>>>
>>>>> Paul Ramsey wrote:
>>>>>
>>>>>           
>>>>>> Regina, could you move your SQL Server examples down to a big block
>>>>>> at the end, so the main part of the document is more readable? So
>>>>>> far I agree with SQL Server in all the examples! Those guys are
>>>>>> smart! :)
>>>>>>
>>>>>> P
>>>>>>
>>>>>> On Tue, Oct 6, 2009 at 12:12 PM, Paul Ramsey
>>>>>> <pramsey at cleverelephant.ca>
>>>>>> wrote:
>>>>>>
>>>>>>
>>>>>>             
>>>>>>> On Tue, Oct 6, 2009 at 12:03 PM, Chris Hodgson
>>>>>>> <chodgson at refractions.net>
>>>>>>> wrote:
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>               
>>>>>>>> I would dare say that geometry empty is more like zero, than null.
>>>>>>>>
>>>>>>>>
>>>>>>>>                 
>>>>>>> Bingo, there's a useful mental model. Wikify that!
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>               
>>>>>> _______________________________________________
>>>>>> postgis-devel mailing list
>>>>>> postgis-devel at postgis.refractions.net
>>>>>> http://postgis.refractions.net/mailman/listinfo/postgis-devel
>>>>>>
>>>>>>
>>>>>>             
>>>>> _______________________________________________
>>>>> postgis-devel mailing list
>>>>> postgis-devel at postgis.refractions.net
>>>>> http://postgis.refractions.net/mailman/listinfo/postgis-devel
>>>>>
>>>>>
>>>>>           
>>> _______________________________________________
>>> postgis-devel mailing list
>>> postgis-devel at postgis.refractions.net
>>> http://postgis.refractions.net/mailman/listinfo/postgis-devel
>>>
>>>
>>>
>>> _______________________________________________
>>> postgis-devel mailing list
>>> postgis-devel at postgis.refractions.net
>>> http://postgis.refractions.net/mailman/listinfo/postgis-devel
>>>
>>>       
>> _______________________________________________
>> postgis-devel mailing list
>> postgis-devel at postgis.refractions.net
>> http://postgis.refractions.net/mailman/listinfo/postgis-devel
>>
>>
>>
>> _______________________________________________
>> postgis-devel mailing list
>> postgis-devel at postgis.refractions.net
>> http://postgis.refractions.net/mailman/listinfo/postgis-devel
>>
>>     
> _______________________________________________
> postgis-devel mailing list
> postgis-devel at postgis.refractions.net
> http://postgis.refractions.net/mailman/listinfo/postgis-devel
>
>   

-- 
Martin Davis
Senior Technical Architect
Refractions Research, Inc.
(250) 383-3022




More information about the postgis-devel mailing list