0

我正在努力将 R 坐标从英国国家网格 (BNG) 转换为 WGS84 Lat Lon。

这里是一个数据示例:

df = read.table(text = 'Easting Northing 
 320875 116975     
 320975 116975     
 320975 116925     
 321175 116925    
 321175 116875     
 321275 116875', header = TRUE)

如何将 Easting 和 Northing 转换为 WGS84 Lat Lon?

有一个spTransformrgdal包中调用的函数,但文档非常混乱。

有什么建议吗?

4

1 回答 1

5

这是使用sfR 中的包执行此操作的一种方法。我们将表格转换为点几何图形,指定这些值在 BNG 坐标参考系中。然后我们转换为WGS84,将坐标提取为矩阵,并返回一个数据框。

crs =我从快速谷歌上相信英国国家电网的 EPSG 代码为27700 ,但如果这不是正确的投影,那么您可以修改st_as_sf. 给出的点似乎位于汤顿以南 Blackdown Hills AONB 的一些田地;我会自己检查地理配准。

df = read.table(text = 'Easting Northing 
 320875 116975     
                320975 116975     
                320975 116925     
                321175 116925    
                321175 116875     
                321275 116875', header = TRUE)

library(tidyverse)
library(sf)
#> Linking to GEOS 3.6.1, GDAL 2.2.3, proj.4 4.9.3
df %>%
  st_as_sf(coords = c("Easting", "Northing"), crs = 27700) %>%
  st_transform(4326) %>%
  st_coordinates() %>%
  as_tibble()
#> # A tibble: 6 x 2
#>       X     Y
#>   <dbl> <dbl>
#> 1 -3.13  50.9
#> 2 -3.13  50.9
#> 3 -3.13  50.9
#> 4 -3.12  50.9
#> 5 -3.12  50.9
#> 6 -3.12  50.9

reprex 包(v0.2.0) 于 2018 年 5 月 11 日创建。

于 2018-05-11T17:15:34.963 回答