Сбой, потому что вы используете зону 32 utm. Вам нужно использовать зону исходя из долготы страны.Вы можете видеть их здесь
Вы можете автоматизировать поиск зоны с помощью ceiling((longitude+180)/6)
library(raster)
s <- getData(country = "FRA", level = 0)
Получить центроид.В этом случае вы можете сделать
centr <- coordinates(s)
Если есть несколько полигонов, вы можете сделать что-то вроде этого
centr <- apply(coordinates(s), 2, mean)
Вычислить UTM-зону.(обратите внимание, что у вас было 32 для Франции, что нехорошо)
zone <- ceiling((centr[1] + 180)/6)
zone
#[1] 31
А затем используйте это вот так
crs <- paste0("+proj=utm +datum=WGS84 +unit=m +zone=", zone)
st <- spTransform(s, crs)
Для Таиланда вы получите
s <- getData(country = "THA", level = 0)
centr <- apply(coordinates(s), 2, mean)
zone <- ceiling((centr[1] + 180)/6)
zone
#[1] 47
Однако это , а не подход, который будет работать для всех стран.Зоны UTM имеют ширину 6 градусов, и многие страны охватывают несколько зон (Россия берет пирог с 28 зонами).Поэтому, в зависимости от ваших целей, вы можете использовать другую систему координат (crs).
После этого альтернативный способ получения квадратных многоугольников состоит в создании слоя RasterLay со степенью s и разрешением по выбору.Но я сомневаюсь, что это лучший способ получить данные из GEE.Я бы предложил вместо этого загрузить схему страны.
r <- raster(st, res=10000)
r <- rasterize(st, r, 1)
x <- as(r, "SpatialPolygons")
# write to file
shapefile(x, "test.shp")
# view
plot(x)
![enter image description here](https://i.stack.imgur.com/s8b7t.png)