Я пытаюсь создать буфер вокруг полигона 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")