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
