【问题标题】:R: how to transform EPSG 25832 coordinates into EPSG 4326 onesR:如何将 EPSG 25832 坐标转换为 EPSG 4326 坐标
【发布时间】:2017-10-10 10:12:46
【问题描述】:

我有一个 csv 文件,其中包含 value x y 形式的三列。 我知道 x 和 y 指的是 EPSG 25832。 我需要将这些坐标转换为 EPSG 4326,因为当我在要绘制数据的 shapefile 上调用 summary() 时,我得到了这一行:

proj4string :
[+proj=longlat +datum=WGS84 +no_defs +ellps=WGS84 +towgs84=0,0,0]

WGS84 对应 EPSG 4326,对吧?

通过阅读其他答案,我了解到我需要使用 rgdal 包中的 spTransform 函数。但是我没有找到任何关于函数用法的详尽解释。请帮忙!

documentation 对我来说非常神秘(我是 R 和空间数据的新手),所以它对我没有帮助。

EDIT:添加dput(head(data))的输出

structure(list(Value = c(10L, 9L, 17L, 13L, 10L, 6L), X = c(687199.0608, 
687199.0608, 687199.0608, 687199.0608, 687199.0608, 687199.0608
), Y = c(4928179.721, 4928179.721, 4928179.721, 4928179.721, 
4928179.721, 4928179.721)), .Names = c("Value", "X", "Y"), row.names = c(NA, 
-6L), class = c("tbl_df", "tbl", "data.frame"))

【问题讨论】:

  • 您能否编辑您的问题以包含csv 文件的前几行(即head(csv)),最好是dput(head(csv)) 的输出?
  • @Phil 我已经添加了
  • 顺便说一句,是的,WGS84 对应 EPSG4326

标签: r geospatial coordinate-systems rgdal


【解决方案1】:

这应该可以解决问题!

问题是……你需要用 CRS 定义两个坐标系……这些确实是由他们的 EPSG 代码定义的。然后你可以用 spTransform 转换它们 :) 但这当然只有当你用坐标和 proj4string 为数据分配正确的坐标系时才有可能。

library(rgdal)
library(data.table)
d <- structure(list(Value = c(10L, 9L, 17L, 13L, 10L, 6L), X = c(687199.0608, 
687199.0608, 687199.0608, 687199.0608, 687199.0608, 687199.0608
), Y = c(4928179.721, 4928179.721, 4928179.721, 4928179.721, 
4928179.721, 4928179.721)), .Names = c("Value", "X", "Y"), row.names = c(NA, 
-6L), class = c("tbl_df", "tbl", "data.frame"))

d = as.data.table(d)
d = d[,.(X,Y)]
coordinates(d) <- c("X","Y")
proj4string(d) <- CRS("+init=epsg:25832") 
CRS.new <- CRS("+init=epsg:4326") # WGS 84
dnew <- spTransform(d, CRS.new)

【讨论】:

  • 您能否解释一下这个 CRS 是什么以及这个 proj4string(d) 是什么以及意味着什么(特别是因为您创建了它,但后来您不再使用它)?
  • 稍后我会给你一个更详细的答案......但是把这个坐标()和proj4string()函数想象成names()函数。在这样的一行中,我们设置了变量的某个属性。因此,您可以检查设置此属性之前和之后的 d 输出
  • 更详细一点...查看epsg-registry.org 了解有关 EPSG 和 CRS 的信息。用于描述 CRS 的符号是 proj4string。见nceas.ucsb.edu/~frazier/RSpatialGuides/…
猜你喜欢
  • 1970-01-01
  • 2019-06-04
  • 2016-09-28
  • 2019-06-19
  • 2011-11-26
  • 1970-01-01
  • 2020-04-06
  • 2022-08-22
  • 1970-01-01
相关资源
最近更新 更多