Paul Ramsey wrote:
Faster than creating a multipoint is to recognize that ST_Centroid()
is just going to return the center of the bbox of the collection
anyways...
Unfortunately, Paul, ST_Centroid returns the center of mass, not the center of
the bbox.
SELECT astext(st_centroid(st_collect(column1))),
FROM (values ('POINT(0 0)'),
('POINT(0 1)'),
('POINT(0 2)'),
('POINT(1 0)')) as foo;
astext
------------------
POINT(0.25 0.75)
(1 row)
Your second post, taking the avg of the x,y does seem to be the nice approach, and produces the same results as
ST_Centroid - the center of mass.
SELECT astext(st_makepoint(avg(st_x(column1)), avg(st_y(column1))))
FROM (values ('POINT(0 0)'),
('POINT(0 1)'),
('POINT(0 2)'),
('POINT(1 0)')) as foo;
astext
------------------
POINT(0.25 0.75)
(1 row)
If Dustin is after the center of the collection, then something along your
first suggestion might be more appropriate.
(taking the center of the extents)
Cheers,
Kevin
_______________________________________________
postgis-users mailing list
[email protected]
http://postgis.refractions.net/mailman/listinfo/postgis-users