I wouldn't quite call it runnning the function in that table.  Basically
the SQL statement will create a temporary or in memory table so to
speak.  So short answer - yes it is correct - no need to create a new
table or geometry column.  Sometimes you may want to if you use it often
or you are grouping many geometries since the planner has to recalculate
each time if it is a dynamic query as below or view (a saved dynamic
query as Kevin pointed out in last post) .
 
 
Well there should be an alias there otherwise it usually will just alias
it as something dumb like ST_Union - so let me correct my mistake.
SELECT somefield, ST_Union(the_geom) as newgeom
FROM sometable
GROUP BY somefield;
 
If you wanted to materialize it, I tend to do something like
 
SELECT somefield, ST_Union(the_geom) as newgeom
INTO somenewtable
FROM sometable
GROUP BY somefield;
 
A lot of people do 
CREATE TABLE somenewtable As 
SELECT somefield, ST_Union(the_geom) as newgeom
FROM sometable
GROUP BY somefield;
 
But I tend to avoid that second syntax since its not as portable as
option 1 (from DBMS to DBMS at least the DBMS I tend to deal with) and
the speed is the same.  Granted
I guess the second version is a bit clearer.
 
Hope that helps,
Regina


________________________________

From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of
George Silva
Sent: Wednesday, April 30, 2008 10:47 PM
To: PostGIS Users Discussion
Subject: Re: [postgis-users] Line To Path


In the same trailing of that question and the answer, that select
statement would run the function st_union in that table, without the
need to create a new table or geometry column?
 
Sorry to use this post for this, just tought its a quite novice
question, so more people could use the answer.
 
Thx
 
Att.
 
George


On Wed, Apr 30, 2008 at 7:20 PM, Paragon Corporation <[EMAIL PROTECTED]>
wrote:


        Bob,
        
        If I understand you correctly, I think you want to use one of
the following
        
        SELECT somefield, ST_Union(the_geom)
        FROM sometable
        GROUP BY somefield
        
        So lets say you want to collapse 3 rows into 1 then you just
need to group
        by some common field.
        
        E.g. if somefield = 1 for your 3 records, then those would get
rolled into
        the same record.
        
        The above will give you a LINESTRING or MULTILINESTRING.  If you
have all
        LINESTRINGS, then may be more efficient to do this.  The below
will first
        collapse all with common somefield into a MULTILINESTRING and
then the
        LineMerge will do the best it can to stitch back into a single
line string.
        This is not possible with completely disjoint linestrings.
        
        SELECT somefield, ST_LineMerge(ST_Collect(the_geom))
        FROM sometable
        GROUP BY somefield
        
        
        If you are using the older version of Postgis, you can just take
out the ST_
        in the examples I have above.
        
        Hope that helps,
        Regina
        

        -----Original Message-----
        From: [EMAIL PROTECTED]
        [mailto:[EMAIL PROTECTED] On Behalf
Of Bob
        Pawley
        Sent: Wednesday, April 30, 2008 12:40 PM
        To: PostGIS Users Discussion
        Subject: [postgis-users] Line To Path
        
        Is there a method of converting three lines that require three
rows into a
        path that occupies a single row??
        
        Bob Pawley
        
        _______________________________________________
        postgis-users mailing list
        [email protected]
        http://postgis.refractions.net/mailman/listinfo/postgis-users
        
        
        
        _______________________________________________
        postgis-users mailing list
        [email protected]
        http://postgis.refractions.net/mailman/listinfo/postgis-users
        




-----------------------------------------
The substance of this message, including any attachments, may be
confidential, legally privileged and/or exempt from disclosure
pursuant to Massachusetts law. It is intended
solely for the addressee. If you received this in error, please
contact the sender and delete the material from any computer.
_______________________________________________
postgis-users mailing list
[email protected]
http://postgis.refractions.net/mailman/listinfo/postgis-users

Reply via email to