Установить систему координат для полигона, созданного в R - PullRequest
0 голосов
/ 06 декабря 2018

Я пытаюсь создать масштабируемый квадрат (многоугольник) на карте, которая строится с использованием ggplot2 :: geom_sf (). Поэтому мне нужно, чтобы многоугольник был простой функцией, чтобы я мог построить квадрат и карту вместе.,Я мог бы создать многоугольник, используя следующий код:

zoom_square_1<- rbind(c(-10.821079,-68.403542),
                  c(-10.821079,-68.367060),
                  c(-10.862918,-68.367060),
                  c(-10.862918,-68.403542),
                  c(-10.821079,-68.403542)) # add the first point again to it wrap up.
zoom_square_1_pol <- st_polygon(list(zoom_square_1))
plot(zoom_square_1_pol) # it returns the polygon.

Однако, когда я попытался назначить ему систему координат координат (CRS), он не работает.Это коды, которые я пробовал до сих пор.

sp::proj4string(zoom_square_1_pol) <- CRS("+proj=longlat +datum=WGS84 +no_defs")
zoom_square_1_pol_ex1 <- st_as_sf(x = zoom_square_1_pol[[1]],
                              crs = "+proj=longlat +datum=WGS84 +no_defs")
zoom_square_1_pol_ex2 <- st_transform(x = zoom_square_1_pol,
                                  crs = "+proj=longlat +datum=WGS84 +no_defs")

Любая помощь приветствуется.

После комментария Криса я мог бы на самом деле построить полигоны, используя ggplot2 :: geom_sf (), и понял, чтомои лат и длинные координаты были в неправильном положении с самого начала.Итак, это окончательная версия кода:

 zoom_square_1<- rbind(c(-68.403542,-10.821079),
                       c(-68.367060,-10.821079),
                       c(-68.367060,-10.862918),
                       c(-68.403542,-10.862918),
                       c(-68.403542,-10.821079)) #add the first point again to it wrap up.
zoom_square_1_pol <- st_polygon(list(zoom_square_1))
zoom_square_1_pol_CRS<- st_sfc(x = zoom_square_1_pol,
                               crs = "+proj=longlat +datum=WGS84 +no_defs")

1 Ответ

0 голосов
/ 06 декабря 2018

Мне удалось установить crs, предоставив квадрат в виде списка st_as_sfc:

res <- st_as_sfc(list(zoom_square_1_pol), 
                 crs = "+proj=longlat +datum=WGS84 +no_defs")
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...