[postgis-users] Aggregate Function Malfunction

Mark Fenbers Mark.Fenbers at noaa.gov
Mon May 23 04:44:17 PDT 2005


I have a table populated with geometries (polygons to be exact) that 
were created with other PostGIS functions.  They were added to this 
table after passing the IsValid() test.  A SELECT query using IsValid() 
verifies that all geometries in the table are valid.  But when I run the 
query,

SELECT Npoints( MultiIntersection( the_geom )) FROM myTable WHERE 
IsValid(the_geom);

I get an error "parse error - invalid geometry".  I cannot tell which 
record is triggering the error because MultiIntersection() is an 
*aggregate* function I created to take the cumulative Intersection() of 
several polygons in the table (one per row).  It is defined as such:

CREATE AGGREGATE MultiIntersection (
    BASETYPE = GEOMETRY,
    SFUNC = Intersection,
    STYPE = GEOMETRY,
    INITCOND = ''
);

I'm going on the assumption that, because this is my first attempt at my 
own aggregate function, I am doing something incorrectly.  But I can 
figure out what it is I am doing wrong.  Can you help, please? 

Some of my cluelessness may be in part due to a lack of my understanding 
the STYPE, and BASETYPE parameters as well as what the INITCOND setting 
should be.  I have not successfully found any documentation on these 
other than syntax and examples.

Mark

-------------- next part --------------
A non-text attachment was scrubbed...
Name: Mark.Fenbers.vcf
Type: text/x-vcard
Size: 283 bytes
Desc: not available
URL: <http://lists.osgeo.org/pipermail/postgis-users/attachments/20050523/99c6600b/attachment.vcf>


More information about the postgis-users mailing list