On Thu, Jun 7, 2012 at 2:10 PM, PCB <pedrocontebarros@> wrote:
I have a dataset that represents measurements of fish density at a number
of
sampling locations at sea, in several different occasions (the sampling
locations are not always the same), stored as a a list of
SpatialPointsDataFrame objects.
So your data is:
Lat, Long, Time, Mass
I want to calculate the center of mass of each distribution, to describe
whether there is a trend in the overall distribution of the fish.
What do you mean by 'each distribution'? Your second sentence makes
me think that Time is discreet, or can be grouped into discreet
'Occasions'.
I have three main questions:
a) Should I use the original points for calculating the centre of mass,
or
should I interpolate them first to a grid? I assume doing it on the
original
points will make the result dependent on the location of these points,
that
is really not linked to the underlying fish distribution
Your data are samples from an underlying distribution of mass, so you
want to do something like Kriging to get an interpolated surface over
a grid.
b) Should I reproject the data before calculating the center of mass
(they
are in lon-lat). If so, which projection should I use?
If the Kriging package you use (and there's about 4 in R - gstat,
geoR, et al - read the Spatial Task View) can work out distances from
lat-long on the sphere (or ellipsoid) then you don't need to. However
computing distances from lat-long can be slower than from x-y
cartesian coords.. so...
If your data are over a relatively small area then convert to a
cartesian coordinate system in metres for units and then all the
Kriging packages will work, and they'll compute distances using
Pythagoras.
Now, which projection? Depends on the region you have data for. UTM
is a fairly safe bet, unless you're close to the poles, in which case
I think there must be polar projections. Check
www.spatialreference.org and see what turns up.
c) A rectangular grid will include many locations on land, where no fish
could have been recorded anyway. How do I get a grid I can use to
meaningfully calculate the center of mass?
I think most of the Kriging packages can mask the output region by a
polygon, or you can mask raster objects with rasters or clip them to
polygons.
Thanks for your time, and any pointers will be highly appreciated.
The Spatial Task View is the place to start!
Barry