Использование Meters для ST_buffer вместо ar c градусов в R - PullRequest
0 голосов
/ 05 августа 2020

Я пытаюсь создать буфер вокруг полигона SF. Я хотел бы иметь возможность делать это в метрах (то есть добавить радиус 30 метров вокруг моего многоугольника). Проблема в том, что мои данные находятся в WGS84. Я не могу преобразовать его в локальную систему координат (например, 27700), потому что я хотел бы запустить это несколько раз в разных местах по всему миру.

Есть ли безопасный способ оценки метров? Это не обязательно должно быть точно, но должно быть по крайней мере реалистично c. Пожалуйста, посмотрите мой код ниже:

poly - это одиночный sf-полигон с CRS ("+ init = epsg: 4326")

poly_buff <- st_buffer(poly, 30) # where 30 relates to 30 meters not 30 arc degress

Пример многоугольника, который я хочу разместить буфер на:

   x<- c(3.885404, 3.893676, 3.893676, 3.885404, 3.885404)
    y<- c(7.379483, 7.379483, 7.385313, 7.385313, 7.37948)
    poly<-cbind(x,y)

    poly<-as.data.frame(poly)
    colnames(poly)<-c("lat","lon")
    poly<- poly%>%
      st_as_sf(coords = c("lat", "lon"), crs = 4326) %>%
      summarise(geometry = st_combine(geometry)) %>%
      st_cast("POLYGON")
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...