我正在努力将英国国家电网(BNG)的R坐标转换为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?
spTransform
包中有一个名为rgdal
的函数,但文档非常混乱。
有什么建议吗?
答案 0 :(得分:1)
以下是使用R中的sf
包进行此操作的方法。我们将表转换为点几何,指定这些值在BNG坐标参考系中。然后我们转换为WGS84,将坐标提取为矩阵,并返回一个数据框。
我相信快速谷歌英国国家网格有EPSG代码27700,但如果这不是正确的预测,那么你可以修改crs =
中的st_as_sf
参数。给出的要点似乎是在汤顿以南的布莱克当丘陵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 package(v0.2.0)创建于2018-05-11。