Как преобразовать координаты в десятичном градусе в формат UTM в R? - PullRequest
0 голосов
/ 04 октября 2019

Итак, я получил, например, следующие координаты в десятичном формате:

X       Y
50.13   9.81
50.75   9.84
50.78   10.25
50.45   10.58

Я хочу преобразовать в WGS 84 UTM 32N;Результат должен выглядеть так:

X              Y
556678.000     5664593.472
559258.226     5622360.938
...

Ответы [ 2 ]

1 голос
/ 04 октября 2019

вот решение с использованием sf -пакета

library(data.table) #for reading in sample data
library(magrittr)   #for pipe
library(sf)

dt <- data.table::fread("X       Y
50.13   9.81
50.75   9.84
50.78   10.25
50.45   10.58")

dt %>% 
  sf::st_as_sf( coords = c("Y", "X") ) %>%
  sf::st_set_crs( 4326 ) %>%      #current CRS is WSG84 (I think)  <--!! check!!
  sf::st_transform( 32632 ) %>%   #transform CRS to 32632
  sf::st_coordinates()  #export new coordinates


#          X       Y
# 1 557893.3 5553399
# 2 559258.2 5622361
# 3 588124.7 5626105
# 4 612170.9 5589858
0 голосов
/ 04 октября 2019

Вы можете сделать это и с пакетами gstat, sp и rgdal:

library(gstat)
library(sp)
library(rgdal)

dt <- data.frame(x=c(50.13,50.75,50.78,50.45),y=c(9.81,9.84,10.25,10.58))
coordinates(dt) <- ~ y + x
proj4string(dt) <- CRS("+init=epsg:4326")
spTransform(dt, CRS("+init=epsg:32632"))

# SpatialPoints:
#          y       x
# 1 557893.3 5553399
# 2 559258.2 5622361
# 3 588124.7 5626105
# 4 612170.9 5589858

По некоторым причинам эти значения не соответствуют значениям, указанным в вопросе, но они соответствуют результатам @Wimpel

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...