On 05/12/08 12:27, Peter Löwe wrote:
[...]
is there an easy way to derive the centre of a cloud of points ?
I am aware that the set of vector points ("cloud of points") could be
used to stake out a polygon/boundary and use v.centroid etc etc to
derive in turn its' centroid, but I am hoping for an easier solution
.. ?
This issue stems from working with v.to.db: currently it is not
possible to upload xy coordinates for "multiploygons" into a
database, i.e: Within a vector layer, there might be several
boundaries which all share the same category value. If the
"gravitational centre/ super-centroid" for these boundaries could be
(conveniently) calculated, the v.to.db issue could be taken care of.
Why not use v.dissolve on these polygons and then get the centroids of
the result ?
This option fails if the polygons don't have common borders. An example for this would be multiple polygons describing spatial exclaves of a territory/county/soil type, etc.
Another (very wild) guess: what about the mean of the coordinates of the
individual polygons' centroids ?
That would be great if it could be automated.
Using a "real" DB-backend, it should be as easy as (assuming that when
you say boundaries, you mean areas, each of which has a centroid):
- v.to.db type=centroid option=coor
- SELECT cat, avg(X), avg(Y) from TABLE group by cat
If you have boundaries with categories, but no centroids, I imagine that
v.centroids + v.distance with upload=cat should do the trick to transfer
boundary cats to their centroids.
Moritz
_______________________________________________
grass-user mailing list
grass-user@lists.osgeo.org
http://lists.osgeo.org/mailman/listinfo/grass-user