【问题标题】:What format should my data be in for a Home Range analysis in adehabitatHR?在 adehabitatHR 中进行 Home Range 分析时,我的数据应该采用什么格式?
【发布时间】:2014-07-01 08:42:53
【问题描述】:

我有在南非追踪的动物的 latlong 数据,我正在使用 adehabitatHR 进行分析。这是我的数据示例:

Latitude        Longitude
-25.870265      27.947412
-25.816235      28.022442
-25.751107      28.1113
-25.670537      28.185403
-25.619823      28.290013

我需要转换我的数据,以便确定主航程。我一直在使用本教程来帮助我,他的数据看起来也是十进制度 http://www.mikemeredith.net/blog/1212_Data_for_home_range_analysis_in_R.htm 这是我的代码:

library(raster) 
library(rgdal)
library(maptools)
library(adehabitatHR)
library(sp)

data <- read.csv("stackoverflowEg.csv", sep = ",", header = T)
head(data)
coordinates(data) <- c("X", "Y")

proj4string(data) <- CRS("+init=epsg:4326")

## I got the projected coordinate system from here [http://epsg.io/22235][1]

track <- spTransform(data, CRS("+proj=longlat +init=epsg:22235"))

summary(track)

cp <- mcp(track, percent=95)

cp

问题是 mcp 的结果值太小(2.230023e-07),所以我认为我的预测有问题。任何帮助将非常感激。

【问题讨论】:

  • 从 spTransform proj 字符串中删除 'proj=longlat',它与指定 EPSG 代码不兼容,并且由于源为 4326,因此无意义。还要检查您是否选择了一个好的目标投影
  • 感谢您的建议。请问您选择一个好的目标投影是什么意思?
  • 这里的 UTM 可能是无害的,但没有正确的投影自动选择。

标签: r gis latitude-longitude spatial


【解决方案1】:

试试这个

coordinates(df) <- ~Longitude+Latitude
proj4string(df) <- CRS('+init=epsg:4326')
dfutm <- spTransform(df, CRS('+init=epsg:32735')) # utm 35S for SAfrica
dfutm
SpatialPoints:
     Longitude Latitude
[1,]  594921.4  7138341
[2,]  602485.7  7144268
[3,]  611454.0  7151409
[4,]  618966.7  7160268
[5,]  629521.1  7165787
Coordinate Reference System (CRS) arguments: +init=epsg:32735 +proj=utm +zone=35 +south
+datum=WGS84 +units=m +no_defs +ellps=WGS84 +towgs84=0,0,0 

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-10-17
    相关资源
    最近更新 更多