On 12/08/10 16:51, Markus Metz wrote:
Start from scratch:

I've put a new module in grass-addons, called v.vect.stats. It counts
points in polygons, fairly fast, but, as the name implies, can do a
bit more. Optionally, it calculates statistics for areas based on the
attributes of all points falling into an area. Currently supported
methods are sum, average, median, mode, min, min_cat, max, max_cat,
range, stddev, variance, diversity. The meaning of min_cat and max_cat
is the category value corresponding to the observed minimum/maximum
value, e.g. the hospital with the largest number of beds and not the
largest number of beds.

The module is meant as the companion to v.rast.stats, update area
attributes from raster: v.vect.stats, update area attributes from
vector

Have fun,

Markus M

PS: No entry on wiki because I am not sure what will happen with the
module. If it's regarded nonsense, it will be removed again. OTOH, it
might end up in trunk.

No nonsense in my eyes. Very nice and useful little module.

In terms of usage time, the parts that take most time with large files (the 600,000 points and 100x100 grid used before) are the creation of the spatial index and (if a stats method is applied) the collecting of attributes from the points vector (at one point we will probably have to attack db driver efficiency issues in GRASS... example: do we really have to create a select cursor and loop through every line this returns ?). The actual point-in-areas is very fast !

A few small questions/remarks:

- Any special reason why you construct a whole SQL statement to add the columns, instead of using db_add_column() (defined in lib/db/dbmi_client/c_add_col.c) ?

- Maybe add a key to point_column_opt to call it point_column (instead of the default "column")

- If one sets a method and a stats_column, but no point_column, the first two settings are simply ignored. Maybe a fatal error would be better (I took me a bit of time to understand that I had forgotten the point_column.

No time for more, but I really think this would be a useful addition to trunk...

Moritz
_______________________________________________
grass-dev mailing list
[email protected]
http://lists.osgeo.org/mailman/listinfo/grass-dev

Reply via email to