【发布时间】:2012-03-09 04:16:54
【问题描述】:
这是一个基本问题,但遗憾的是我在其他地方找不到相关命令。
有没有办法可以将空间点数据帧转换为 R 中的普通数据帧。
例如如果普通数据框是df,以 Lat、Lon 作为位置坐标,我可以获得空间 df:
coordinates (df)= ~Lat + Lon
反过来怎么可能,甚至有可能?
【问题讨论】:
标签: r type-conversion dataframe spatial
这是一个基本问题,但遗憾的是我在其他地方找不到相关命令。
有没有办法可以将空间点数据帧转换为 R 中的普通数据帧。
例如如果普通数据框是df,以 Lat、Lon 作为位置坐标,我可以获得空间 df:
coordinates (df)= ~Lat + Lon
反过来怎么可能,甚至有可能?
【问题讨论】:
标签: r type-conversion dataframe spatial
as.data.frame() 可以满足您的需求:
library(sp)
# Construct a SpatialPointsDataFrame
data(meuse)
xy <- meuse[1:2]
df <- meuse[-1:-2]
SPDF <- SpatialPointsDataFrame(coords=xy, data=df)
# And then convert it (back) to a data.frame
DF <- as.data.frame(SPDF)
【讨论】:
sp:spTransform()。这里是one example;虽然它恰好朝相反的方向发展(即从 long-lat 转变),但想法是一样的。
SpatialPoints 对象(例如),那应该可以工作。 (您可以通过运行我在上面链接的答案中给出的示例,然后执行spTransform(res, CRS("+proj=longlat +datum=WGS84")) 以成功反转转换来看到它确实有效。由于这不适用于您的数据,因此您的@ 一定有问题987654329@ 对象而不是 spTransform() 命令。干杯。