[postgis-devel] EMPTY

Paul Ramsey pramsey at cleverelephant.ca
Tue Oct 6 14:19:21 PDT 2009


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
>



More information about the postgis-devel mailing list