[postgis-users] Problem with LWGEOM_collect_garray - never returns MultiX from MultiX?

Marcus Jenkins mgwjenkins at gmail.com
Wed Feb 6 04:31:13 PST 2008

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.

More information about the postgis-users mailing list