Dare I say it, but I think there's a bug in lwgeom_functions_basic.c
in the LWGEOM_collect_garray function.  According to the docs /
comments, this should return a multiX if all the objects are multiX,
but the code on line 2112 (and around) appears to stop that happening.


                /* Output type not initialized */
                if ( ! outtype ) {
                        /* Input is single, make multi */
                        if ( intype < 4 ) outtype = intype+3;
                        /* Input is multi, make collection */
                        else outtype = COLLECTIONTYPE;
                }

Or, in pseudo-code, if the input object is a multiX or collection, the
output will be a GOEMETRYCOLLECTION.  Always.  This ain't what it says
in the function header.

 * returned geometry is the simplest possible, based on the types
 * of the collected objects
 * ie. if all are of either X or multiX, then a multiX is returned

I tried logging the bug on the PHP bug tracker, but I think I need to
be a different class of user since I'm asked to log in (when I'm
already logged in) to post a bug report.
_______________________________________________
postgis-users mailing list
postgis-users@postgis.refractions.net
http://postgis.refractions.net/mailman/listinfo/postgis-users

Reply via email to