[postgis-users] points to polyline or polygon
chodgson@refractions.net
chodgson@refractions.net
Tue Jul 15 21:59:55 2003
You definitely do NOT want to do this - the COLLECT() aggregate function
doesn't gauarantee any sort of order in the points it has collected.
Furthermore, a Multipoint object is not necessarily ordered (it will always
list the points in the same order, but not by necessity, only because it is
simplest).
The best way to solve this problem is to select your list of points from the
table (they will also need to have an "order" column in order to make sure they
are made into a line in the correct order) and use PHP or your language of
choice to build a new WKT string.
HTH.
Chris
> This is an interesting question to me. If I understand correctly, you want
> to "cast" a set of points into a linestring. Getting your list of points
> should be as easy as:
>
> SELECT COLLECT(the_geom) FROM mytable GROUP BY somefield.
>
> But this returns the geometry as MULTIPOINT, which isn't really want you
> want, but if you see the text representation, it does look like a
> linestring:
>
> SRID=-1;MULTIPOINT(596681.75 5830977.5,532989.625 5869892,547653.0625
> 5808612,608081.1875 5799629)
>
> So can anyone else give a pointer on taking the above output and casting it
> into a linestring instead?
>
> Tyler