[postgis-users] Help?: Constructing a geometry collection
Richard Greenwood
richard.greenwood at gmail.com
Mon Sep 27 15:43:14 PDT 2010
I think this should do the trick:
SELECT EXTENT(the_geom)
FROM parcels_public
WHERE gid > 27611 AND gid < 28000;
Rich
On Mon, Sep 27, 2010 at 9:05 AM, John Poole <jlpoole56 at gmail.com> wrote:
> I've been grappling with the following concept and reviewing the
> PostGIS 1.5.1 Manual and cannot seem to come up with a working
> solution to achieve this simple goal:
>
> GOAL: I want to collect various polygons and then determine the
> bounding box or extent of the collection in order to display an
> appropriately zoomed image on MapServer
>
> Here's the SQL I'm starting with:
>
> select the_geom from parcels_public where gid > 27611 and gid < 28000
> returns
> 388 rows of geometries.
>
> How do I create a geometry collection from a set of rows? I've been
> looking at ST_Collect and trying:
>
> * * * warning below is bad code * * *
> Select ST_Collect((select the_geom from parcels_public where gid >
> 27611 and gid < 28000)) as myCollectionObject
>
> which produces:
> ERROR: more than one row returned by a subquery used as an expression
>
> ********** Error **********
>
> ERROR: more than one row returned by a subquery used as an expression
> SQL state: 21000
>
> * * *
>
> Referencing the thread in the documentation,
> http://postgis.refractions.net/pipermail/postgis-users/2008-June/020331.html
> ,
> I tried this
>
> * * * warning below is bad code * * *
> SELECT ST_Multi(ST_Collect(f.the_geom)) as singlegeom
> FROM (
> SELECT (
> select the_geom
> from parcels_public
> where gid > 27611 and gid < 27640
> )
> ) As f
> which produces:
> ERROR: column f.the_geom does not exist
> LINE 1: SELECT ST_Multi(ST_Collect(f.the_geom)) as singlegeom
> ^
>
> ********** Error **********
>
> ERROR: column f.the_geom does not exist
> SQL state: 42703
> Character: 28
> * * *
>
> I know this can be done, but I seemed to be missing something very
> basic both in creating subqueries and in the documentation and I'm
> confusing structure, e.g. rows returned vs. a geometry collection.
> Maybe my problem is that I do not know how to construct a geometry
> collection from a given set of rows?
>
> The end goal is to have the coordinates of the collection so I can use
> them as an extent to send to MapServer to create an image that is
> zoomed into the minimum size that displays all members of the
> collection. I anticipate using ST_Extent(myCollectionObject) once I'm
> able to create the collection object.
>
> --
> John L. Poole
>
> P.O. Box 6566
> Napa, CA 94581-6566
> 707-812-1323
>
> jlpoole56 at gmail.com
> _______________________________________________
> postgis-users mailing list
> postgis-users at postgis.refractions.net
> http://postgis.refractions.net/mailman/listinfo/postgis-users
>
--
Richard Greenwood
richard.greenwood at gmail.com
www.greenwoodmap.com
More information about the postgis-users
mailing list