[postgis-devel] Re: NULL geometries

Carl Anderson carl.anderson at co.fulton.ga.us
Mon Jun 7 09:49:05 PDT 2004


Carl Anderson wrote:
> strk wrote:
> 
>> On Mon, Jun 07, 2004 at 11:53:03AM -0400, Carl Anderson wrote:
>>
>>> strk wrote:
>>>
>>>
>>>> Carl, you were right, it was the error function ....
>>>> I've fixed it. Now you get ERRORs instead of traps.
>>>>
>>>> Also, I've unleashed the parser to accept miXeD case.
>>>>
>>>> A rimaning issue is about wheter to accept (MULTI)POINT(),
>>>> (MULTI)LINESTRING(), (MULTI)POLYGON(), GEOMETRYCOLLECTION()
>>>> as empty geometries... I think that would be nice, are there
>>>> comments ?
>>>>
>>>
>>> I am against it becuase it would tend to create in users minds the 
>>> concept of a finer grain of null geometry
>>>
>>> sort of a null point vs a null polygon vs ...
>>> when really there exists only a null geometry super class
>>>
>>
>>
>> Currently postgis supports (geometry and lwgeom):
>>     POINT(EMPTY)
>>     MULTIPOINT(EMPTY)
>>     LINESTRING(EMPTY)
>>     MULTILINESTRING(EMPTY)
>>     POLYGON(EMPTY)
>>     MULTIPOLYGON(EMPTY)
>>     GEOMETRYCOLLECTION(EMPTY)
>>
>> Do you think it should drop all but last form support ?
>>
>> Another note: table constraints added by AddGeometryColumn never
>> allow the NULL geometry to be inserted, as the check goes:
>>
>>   ((geometrytype(the_geom) = '<type>'::text) OR (the_geom IS NULL))
>>
>> Maybe we should add an isnullgeom(geometry) returning true for
>> NULL and GEOMETRYCOLLECTION(EMPTY).
>>
>> comments ?
>>
>> --strk;
>>
>>
> 
> Reading the SFSQL 1.0 spec
>     postgis is required to accept
>       'POINT()', 'LINESTRING()',  etc
> 
> But I don't see a requirement that it has to be stored as such
> 
> looking at 3.2.10.2 Language Constructs
>   IsEmpty(g geometry): Integer
>      The return type is Integer, with a return value of 1 for TRUE,
>      0 for FALSE, and –1 for UNKNOWN corresponding to a function
>      invocation on NULL arguments.
> 
Reading what I just wrote I take this back 'POINT()' must equate to a
empty geometry sub type POINT not a NULL.

> 
> But I think in the bigger picture you may tend to outsmart the statement 
> parser/planner.
> 
> 


-- 
Carl Anderson
GIS Manager, Fulton County E&CD
404.730.8026
carl.anderson at co.fulton.ga.us




More information about the postgis-devel mailing list