Преобразование из карты Behrmann CRS в + proj = longlat WGS84 в R

У меня есть шейп-файл ячеек сетки размером 200 x 200 км, покрывающих земные участки мира, в цилиндрической проекции Behrmann Equal Area Cylindrical. Моя цель - преобразовать шейп-файл в формат + proj = longlat WGS84, чтобы я мог сопоставить его с картами в часто используемых проекциях, таких как wrld_simpl в maptools. Однако я не добился успеха и был бы признателен за помощь в этом.

rm(list = ls())
library(RCurl)
library(raster)
library(maptools)
library(rgdal)
data("wrld_simpl")

tmp <- tempfile() download.file("https://github.com/darunabas/extras/blob/master/temp_shapefile.zip?raw=true", destfile = tmp)
unzip(tmp, exdir = ".")

s <- rgdal::readOGR("temp_shapefile")
proj4string(s) = CRS("+proj=cea +lon_0=0 +lat_ts=30 +x_0=0 +y_0=0 +datum=WGS84 +ellps=WGS84 +units=m +no_defs")

p <- spTransform(s, CRS("+proj=longlat +datum=WGS84"))

Я получил следующую ошибку: обнаружено неконечное преобразование: [, 1] [, 2] [, 3] [, 4] Ошибка в .spTransform_Polygon (input [[i]], to_args = to_args, from_args = from_args,: ошибка в Полигоны 1106 Многоугольник 1 точек Дополнительно: Предупреждающее сообщение: В .spTransform_Polygon (input [[i]], to_args = to_args, from_args = from_args,: 2 проекции точки не конечны


person BHD    schedule 19.01.2019    source источник


Ответы (1)


Я не очень опытен в геомире, но это может помочь:

library( sf )
sf <- read_sf( "./temp_shapefile.shp")
st_crs( sf ) <- "+proj=cea +lon_0=0 +lat_ts=30 +x_0=0 +y_0=0 +datum=WGS84 +ellps=WGS84 +units=m +no_defs"
sf2 <- st_transform( sf, crs = "+proj=longlat +datum=WGS84" )
person Wimpel    schedule 19.01.2019
comment
Спасибо за предложение @Wimpel. Хотя он не возвратил никаких ошибок, полученный график выглядит очень странно с длинной линией, протягивающейся ниже экватора, а многие ячейки сетки отсутствуют на спроецированной карте. - person BHD; 21.01.2019