R语言 转换CSV文件的lat和long列的投影

xpcnnkqh  于 2023-04-03  发布在  其他
关注(0)|答案(1)|浏览(120)

我有一个CSV文件,有两个纬度和经度列。坐标是NAD 83/BC阿尔伯斯投影;epsg=3005。这里你可以看到我的CSV文件的一小部分。

我需要向表中添加两个新的坐标列,并将坐标转换为WGS 84,epsg= 4326。我已经在QGIS和r中使用了所有可能的技术。新的列被添加,但它们是相同的坐标,坐标值也没有改变。如何执行此转换?

6fe3ivhb

6fe3ivhb1#

像这样?

library(tidyverse)
library(sf)
#> Linking to GEOS 3.11.0, GDAL 3.5.3, PROJ 9.1.0; sf_use_s2() is TRUE

# define data
df <- tribble(
       ~x,       ~y,
  1266750, 488433.9,
  1194789,   388522,
  1114525, 399475.2,
  1249751, 478679.9
)

# make spatially aware and reproject
df |> 
  st_as_sf(coords = c("x", "y"), crs = 3005) |> 
  st_transform(crs = 4326)
#> Simple feature collection with 4 features and 0 fields
#> Geometry type: POINT
#> Dimension:     XY
#> Bounding box:  xmin: -124.45 ymin: 48.48 xmax: -122.33 ymax: 49.35
#> Geodetic CRS:  WGS 84
#> # A tibble: 4 × 1
#>          geometry
#> *     <POINT [°]>
#> 1 (-122.33 49.35)
#> 2 (-123.37 48.48)
#> 3  (-124.45 48.6)
#> 4 (-122.57 49.27)

创建于2023-04-02使用reprex v2.0.2

相关问题