Thank you a lot, Ben!

It works perfect! I have just one question... why I cannot use the "h" in
calculation of kernel area?
Other thing is that I think I can use the argument id=NULL, if there is
just one animal, it is not needed to create the id=rep('1', npoints) as you
suggested... I have tried both, and they give the same result.
Best regards,

Zuzana




On 16 September 2013 22:21, Ben <galuardi@mit.edu> wrote:

> Hi Zuzana,
>
> try this:
> read in your data as 'dat'
>
> Karea_xyUTM<- kernel.area(dat, id=rep('1', nrow(dat)))
>
> 20 0.001132550
> 25 0.001470329
> 30 0.001847845
> 35 0.002265101
> 40 0.002722095
> 45 0.003238697
> 50 0.003834776
> 55 0.004510333
> 60 0.005285235
> 65 0.006139616
> 70 0.007073473
> 75 0.008146416
> 80 0.009358443
> 85 0.010769164
> 90 0.012656748
> 95 0.015617275
>
>
> # then
> npoints = nrow(dat)
> # convert to SpatialPoints
> dat = SpatialPoints(dat, proj4string=CRS("+proj=longlat +datum=WGS84"))
>
> #convert to UTM, be sure to include the zone. very important. This may be
> worng for several of your points since the area is so large.
> datUTM<- spTransform(dat, CRS("+proj=utm +zone=24 +ellps=WGS84
> +datum=WGS84 +units=m +no_defs"))
>
> # do the area calculation using the new coordinates only. Be sure to
> include names as a character. Leave out the 'h=' argument. That is where
> your error was occurring.
> Karea_xyUTM<- kernel.area(as.data.frame(**datUTM), id=rep('1', npoints),
> grid=500, unin ="m", unout = "km2")
>
> 20  135351.2
> 25  175756.6
> 30  219788.8
> 35  268222.6
> 40  322081.0
> 45  382727.9
> 50  452100.7
> 55  532989.0
> 60  625501.5
> 65  727065.3
> 70  840175.7
> 75  967684.5
> 80 1111777.1
> 85 1282512.1
> 90 1506315.1
> 95 1861067.6
>
> This website is helpful
>
> http://r.789695.n4.nabble.com/**Converiting-longitude-**
> latitude-to-utm-td4632377.html<http://r.789695.n4.nabble.com/Converiting-longitude-latitude-to-utm-td4632377.html>
>
> Cheers,
>
> Ben
>
>
>
>
> On 9/13/2013 10:58 AM, zuzana zajkova wrote:
>
>> Hi,
>>
>> I would like to calculate kernel areas using kernel.area  function from
>> adehabitat package.
>>
>> My original coordintes are in latidude/longitude. I suppose that as an
>> input for the function the coordinates should be in other fomat - I assume
>> it is UTM coordinates (seeing the example in help, I haven't found more
>> information about it...). Therefore I converted the lat/long coordinates
>> and calculated the area for various kernels. The problem is that it gives
>> me the same area for all levels...
>>
>> ## sample of my data
>>
>>  dput(xy)structure(list(long = c(-32.73, -32.12, -31.39, -31.02, -32.16,
>>>
>> -32.17, -32.06, -32.32, -32.58, -33.22, -32.85, -33.36, -33.37,
>> -33.5, -34.76, -35.51, -34.39, -33.27, -32.65, -32.66, -34.41,
>> -35.79, -34.29, -35.04, -34.67, -33.92, -34.54, -35.79, -34.66,
>> -34.66, -35.91, -35.78, -38.15, -38.15, -36.89, -35.76, -35.75,
>> -35.75, -35.62, -37.73, -36.72, -35.84, -36.71, -37.82, -37.06,
>> -36.05, -36.91, -37.65, -37.51, -37.87, -37.36, -36.97, -38.08,
>> -38.07, -37.05, -35.91, -35.14, -36.5, -36.48, -36.59, -36.82,
>> -37.55, -36.16, -36.39, -37.49, -35.35, -35.83, -36.93, -36.66,
>> -36.64, -36.49, -36.47, -36.45, -36.42, -36.27, -34.75, -34.85,
>> -35.08, -33.8, -35.28, -35.25, -33.73, -33.7, -34.93, -35.28,
>> -34, -33.6, -33.57, -33.55, -35.89, -35.99, -36.09, -36.56, -36.54,
>> -37.13, -38.11, -39.2, -38.93, -38.53, -37.62, -37.35, -37.07,
>> -36.54, -36.89, -36.74, -37.43, -37.78, -36, -36.1, -35.7, -35.93,
>> -37.9, -37.5, -35.85, -37.07, -38.8, -38.77, -38.62, -37.72,
>> -38.82, -38.67, -36.65, -36.37, -35.6, -35.7, -35.43, -35.66,
>> -36.38, -36.86, -36.84, -34.95, -34.92, -36.65, -36.63, -36.24,
>> -36.34, -34.95, -35.06, -36.16, -36.52, -36.01, -35.86, -35.47,
>> -35.21, -34.94, -35.8, -34.54, -34.78, -36.26, -35, -34.74, -35.1,
>> -34.72, -35.33, -35.32, -35.44, -35.05, -34.67, -35.16, -35.03,
>> -32.77, -33.02, -31.76, -32.01, -34.38, -34.5, -33.25, -32.37,
>> -31.37, -31.24, -32.12, -33.12, -33.12, -33.12, -33.62, -32.13,
>> -31.5, -31.88, -31.01, -30.89, -30.4, -30.53, -31.54, -28.66,
>> -29.01, -28.87, -29.35, -29.33, -29.31, -30.16, -30.64, -29.74,
>> -29.47, -29.95, -29.92, -29.53, -29.88, -30.98, -30.58, -31.18
>> ), complat = c(23.04, 20.44, 20.95, 21.12, 18.51, 16.92, 17.13,
>> 16.98, 16.83, 17.73, 18.6, 19.77, 20.26, 20.43, 18.35, 17.56,
>> 20.29, 20.45, 19.38, 19.86, 17.24, 16.8, 20.36, 22.54, 23.78,
>> 23.64, 21.56, 21.99, 24.82, 25.71, 24.02, 22.57, 19.42, 17.01,
>> 18.64, 18.82, 17.01, 16.92, 17.11, 18.97, 22.57, 22.72, 20.29,
>> 20.46, 22.91, 22.31, 19.92, 19.84, 21.03, 21.19, 22.1, 22.26,
>> 20.44, 19.35, 20.29, 20.46, 19.89, 21.54, 22.89, 23.05, 22.51,
>> 22.9, 25.31, 26.11, 25.39, 22.87, 19.99, 20.18, 22, 21.95, 22.13,
>> 22.07, 22.02, 21.98, 22.16, 21.2, 19.04, 19.01, 20.85, 23.06,
>> 24.33, 23.43, 21.62, 22.48, 23.55, 22.21, 21.06, 21.48, 21.46,
>> 22.99, 25.3, 25.48, 25.05, 24.62, 23.98, 24.39, 24.16, 23.31,
>> 23.08, 22.86, 22.42, 22.42, 22.42, 23.08, 23.72, 17.87, 16.19,
>> 18.6, 20.23, 20.48, 20.94, 19.12, 17.47, 18.68, 21.02, 20.59,
>> 19.22, 19.48, 18.8, 16.65, 15.43, 17.92, 19.39, 19.89, 20.63,
>> 21.13, 21.17, 20.75, 20.79, 21.3, 19.7, 17.8, 19.32, 21.27, 21.09,
>> 20.43, 19.28, 17.59, 18.4, 19.7, 18.77, 18.58, 18.38, 18.45,
>> 18.51, 16.76, 15.22, 13.08, 14.8, 18.08, 19.19, 18.49, 17.77,
>> 16.5, 16.02, 15.82, 15.61, 15.41, 16.61, 17.52, 15.35, 11.89,
>> 10.73, 8.28, 11.17, 13.99, 12.85, 12, 12.07, 11.2, 12.23, 12.31,
>> 11.1, 11.18, 11.91, 14.56, 15.61, 14.76, 13.24, 12.34, 11.75,
>> 10.81, 12.28, 13, 13.23, 13.99, 14.48, 14.96, 14.91, 13.55, 13.51,
>> 14.79, 15.78, 14.71, 14.16, 14.38, 15.12, 14.32, 12.99, 11.64
>> )), .Names = c("long", "complat"), row.names = c("48", "49",
>> "50", "51", "52", "53", "54", "55", "56", "57", "58", "59", "60",
>> "61", "62", "63", "64", "65", "66", "67", "68", "69", "70", "71",
>> "72", "73", "74", "75", "76", "77", "78", "79", "80", "81", "82",
>> "83", "84", "85", "86", "87", "88", "89", "90", "91", "92", "93",
>> "94", "95", "96", "97", "98", "99", "100", "101", "102", "103",
>> "104", "105", "106", "107", "108", "109", "110", "111", "112",
>> "113", "114", "115", "116", "117", "118", "119", "120", "121",
>> "122", "123", "124", "125", "126", "127", "128", "129", "130",
>> "131", "132", "133", "134", "135", "136", "137", "138", "139",
>> "140", "141", "142", "143", "144", "145", "146", "147", "148",
>> "149", "150", "151", "152", "153", "154", "155", "156", "157",
>> "158", "159", "160", "161", "162", "163", "164", "165", "166",
>> "167", "168", "169", "170", "171", "172", "173", "174", "175",
>> "176", "177", "178", "179", "180", "181", "182", "183", "184",
>> "185", "186", "187", "188", "189", "190", "191", "192", "193",
>> "194", "195", "196", "197", "198", "199", "200", "201", "202",
>> "203", "204", "205", "206", "207", "208", "209", "210", "211",
>> "212", "213", "214", "215", "216", "217", "218", "219", "220",
>> "221", "222", "223", "224", "225", "226", "227", "228", "229",
>> "230", "11310", "11410", "1154", "1161", "1171", "1181", "1191",
>> "1201", "1211", "1221", "1231", "1241", "1251", "1261", "1271",
>> "1281", "1291"), class = "data.frame")
>>
>>
>>  head(xy)     long complat
>>>
>> 48 -32.73   23.04
>> 49 -32.12   20.44
>> 50 -31.39   20.95
>> 51 -31.02   21.12
>> 52 -32.16   18.51
>> 53 -32.17 16.92
>>
>>
>> ## create a matrix
>>
>>
>> xy<- cbind(xy$long, xy$complat)
>>
>>
>> ## convert to UTM coordinates
>>
>>
>> ## my data are widely spread over the central Atlantic
>> ## Ocean, so I think it is not possible to define the "zone"
>>
>>
>> ## needs to be as dataframe for kernelarea
>>
>>
>> xyUTM<-as.data.frame(project(**xy, "+proj=utm ellps=WGS84"))
>>
>>
>> ## calculate kernelarea
>> kernLevels <- seq(5,95, by = 5)
>>
>>
>> Karea_xyUTM<- kernel.area(xyUTM,id=NULL, h=1.8, grid=500,
>>                                  levels = kernLevels,
>>                                  unin ="m",
>>                                  unout = "km2")
>>
>>
>> ## the results...
>>
>> Karea_xyUTM            1
>> 5  4990969904
>> 10 4990969904
>> 15 4990969904
>> 20 4990969904
>> 25 4990969904
>> 30 4990969904
>> 35 4990969904
>> 40 4990969904
>> 45 4990969904
>> 50 4990969904
>> 55 4990969904
>> 60 4990969904
>> 65 4990969904
>> 70 4990969904
>> 75 4990969904
>> 80 4990969904
>> 85 4990969904
>> 90 4990969904
>> 95 4990969904
>>
>>
>>
>> I wuld appreciate a lot if anyone could check where the error is coming
>> from.
>> Thank you,
>>
>> Zuzana
>>
>>         [[alternative HTML version deleted]]
>>
>> ______________________________**_________________
>> R-sig-Geo mailing list
>> R-sig-Geo@r-project.org
>> https://stat.ethz.ch/mailman/**listinfo/r-sig-geo<https://stat.ethz.ch/mailman/listinfo/r-sig-geo>
>>
>
>
> --
> ==============================**====================
> Benjamin Galuardi
> -
> PhD Student
> NMFS-Seagrant Population Dynamics Fellow
> SMAST, UMass Dartmouth
> -
> T: 978 283 0368
>
>
> ______________________________**_________________
> R-sig-Geo mailing list
> R-sig-Geo@r-project.org
> https://stat.ethz.ch/mailman/**listinfo/r-sig-geo<https://stat.ethz.ch/mailman/listinfo/r-sig-geo>
>

	[[alternative HTML version deleted]]

