如何将空间数据帧转换回普通数据帧?

Posted

技术标签:

【中文标题】如何将空间数据帧转换回普通数据帧?【英文标题】:How to convert a spatial dataframe back to normal dataframe? 【发布时间】:2012-03-09 04:16:54 【问题描述】:

这是一个基本问题,但遗憾的是我在其他地方找不到相关命令。

有没有办法可以将空间点数据帧转换为 R 中的普通数据帧。

例如如果普通数据框是df,以 Lat、Lon 作为位置坐标,我可以获得空间 df:

coordinates (df)= ~Lat + Lon

反过来怎么可能,甚至有可能?

【问题讨论】:

【参考方案1】:

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)

【讨论】:

感谢您的回答。你知道如何将空间坐标中的 xy 转换为以度为单位的标准值吗? 这当然取决于 x-y 坐标的coordinate reference system。不过,一般来说,您可以使用sp:spTransform()。这里是one example;虽然它恰好朝相反的方向发展(即从 long-lat 转变),但想法是一样的。 我怎样才能让它反转?我尝试在 CRS("+proj=longlat +datum=WGS84") 中切换值,它不起作用。 如果您有一个带有适当 CRS 的 SpatialPoints 对象(例如),那应该可以工作。 (您可以通过运行我在上面链接的答案中给出的示例,然后执行spTransform(res, CRS("+proj=longlat +datum=WGS84")) 以成功反转转换来看到它确实有效。由于这不适用于您的数据,因此您的@ 一定有问题987654329@ 对象而不是 spTransform() 命令。干杯。 我可以从示例开始并来回转换。问题是当我想从 NAD83 国家平面坐标开始时,它不起作用。我试过这个: xy ***.com/questions/39499999/…) 查看更多关于我卡在什么地方的详细信息。

以上是关于如何将空间数据帧转换回普通数据帧?的主要内容,如果未能解决你的问题,请参考以下文章

如何在scRGB色彩空间中从HDR视频中获取帧?

如何在 ipython 中将 Spark RDD 转换为 pandas 数据帧?

如何在 ipython 中将 Spark RDD 转换为 pandas 数据帧?

如何将流式 DataFrame 转换为常规批处理 DataFrame? [关闭]

Pandas 将数据帧转换为元组数组

如何将 sklearn 预处理交互变量的输出连接回原始数据帧?