[postgis-users] Calculate variance of a multipoint
Aren Cambre
aren at arencambre.com
Sun Aug 21 08:43:15 PDT 2011
Just wanted to again say thanks for this help from last May.
It turns out that my problem was that I was inadvertently geocoding some
state highway mile markers to US highways and vice versa. The dataset that
identified the events didn't well-distinguish between them...until I found a
field named "str1" (what a descriptive name!!) that provided the highway
designation more clearly.
After getting that fixed, the upper end of the variance on my geocoding
dropped sharply.
Aren
On Sat, May 28, 2011 at 8:09 AM, Aren Cambre <aren at arencambre.com> wrote:
> Thank you!
>
>
> On Fri, May 27, 2011 at 9:33 PM, Stephen Woodbridge <
> woodbri at swoodbridge.com> wrote:
>
>> 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
>>>
>>
>> _______________________________________________
>> postgis-users mailing list
>> postgis-users at postgis.refractions.net
>> http://postgis.refractions.net/mailman/listinfo/postgis-users
>>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osgeo.org/pipermail/postgis-users/attachments/20110821/b1c4781b/attachment.html>
More information about the postgis-users
mailing list