Aren,

Your purposed approach sounds reasonable to me. You can do it all in one query like:

select c.gid, sum(c.dist*c.dist)/count(*) as variance
  from (
    select b.gid, b.cent, st_distance(b.geom, b.cent) as dist
      from (
select a.gid, (st_dump(a.the_geom)).geom as geom, centroid(a.the_geom) as cent
          from (
select 99 as gid, 'MULTIPOINT(1 2,2 3,3 4,4 5)'::geometry as the_geom
            union all
select 88 as gid, 'MULTIPOINT(1 2,2 3,3 4,4 5,3 5,9 9)'::geometry as the_geom
            ) as a
        ) as b
    ) as c
 group by gid order by variance desc;

You should be able to replace the select...union all select ... with your table of multipoints.

-Steve W

On 5/27/2011 6:19 PM, Aren Cambre wrote:
Did anyone have thoughts on this? :-)

Aren

On Wed, May 4, 2011 at 2:12 PM, Aren Cambre <a...@arencambre.com
<mailto:a...@arencambre.com>> wrote:

    The more I think about it, is this a job for R? I know I need to
    start using R at some point, just haven't begun yet.

    Aren


    On Wed, May 4, 2011 at 1:42 PM, Aren Cambre <a...@arencambre.com
    <mailto:a...@arencambre.com>> wrote:

        Suppose you have a geometry type with a multipoint. How would
        you calculate the variance of the points in that multipoint?

        I looked through the PostGIS 1.5 function reference and am not
        coming up with any easy way.

        A hard way seems to be using st_centroid(multipoint) to find the
        multipoint's  center. From there, I can calculate the distance
        of each point from its center, and use that towards calculating
        the variance (each distance is squared, all squared distances
        are added together, then divide by number of points).

        I guess my ultimate need is to measure relative dispersion of
        multipoints. The multipoints that have the most dispersion are
        suspect, but I need a way of identifying which ones are like this.

        Aren





_______________________________________________
postgis-users mailing list
postgis-users@postgis.refractions.net
http://postgis.refractions.net/mailman/listinfo/postgis-users

_______________________________________________
postgis-users mailing list
postgis-users@postgis.refractions.net
http://postgis.refractions.net/mailman/listinfo/postgis-users

Reply via email to