[postgis-users] Calculate variance of a multipoint
Stephen Woodbridge
woodbri at swoodbridge.com
Fri May 27 19:33:15 PDT 2011
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 <aren at arencambre.com
> <mailto:aren at 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 <aren at arencambre.com
> <mailto:aren at 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 at postgis.refractions.net
> http://postgis.refractions.net/mailman/listinfo/postgis-users
More information about the postgis-users
mailing list