Растровый экстент больше не корректен после использования projectRaster в R

#r #raster #projection

#r #растровый #проекция

Вопрос:

У меня есть один растр высот и один набор точек данных, которые я хотел бы иметь в одной и той же проецируемой системе координат. Когда я использую projectRaster, размер слоя становится совершенно другим и больше не совпадает с другими точками данных.

 dat <- read.csv(file = "ebd.csv")
elev <- raster("elev30mpa2.tif")

#Turning points into spatial object
ebdpoint <- st_as_sf(dat, coords=c("longitude","latitude"))

#Set coordinate system
ebdpoint <- st_set_crs(ebdpoint, " proj=utm  zone=18  ellps=GRS80  datum=NAD83  units=m  no_defs")
> head(ebdpoint)
Simple feature collection with 6 features and 35 fields
geometry type:  POINT
dimension:      XY
bbox:           xmin: -78.1582 ymin: 40.4502 xmax: -76.7758 ymax: 41.96633
CRS:             proj=utm  zone=18  ellps=GRS80  datum=NAD83  units=m  no_defs

#This is the extent and CRS of the raster before projecting
> elev
class      : RasterLayer 
dimensions : 14412, 25212, 363355344  (nrow, ncol, ncell)
resolution : 0.0002777778, 0.0002777778  (x, y)
extent     : -81.00167, -73.99833, 38.99833, 43.00167  (xmin, xmax, ymin, ymax)
crs        :  proj=longlat  datum=NAD83  no_defs 
names      : elev30mpa2 
values     : -86, 1332  (min, max)

#Project Raster
elev <- projectRaster(elev, crs = " proj=utm  zone=18  ellps=GRS80  datum=NAD83  units=m  no_defs") 
class      : RasterLayer 
dimensions : 15007, 25939, 389266573  (nrow, ncol, ncell)
resolution : 23.4, 30.8  (x, y)
extent     : -20069.59, 586903, 4316447, 4778663  (xmin, xmax, ymin, ymax)
crs        :  proj=utm  zone=18  datum=NAD83  units=m  no_defs
names      : elev30mpa2 
values     : -86, 1332  (min, max)
  

Мне отчаянно нужно, чтобы мои данные находились в одной и той же проецируемой системе координат. Я не уверен, связана ли проблема с тем фактом, что он распространяется на 2 зоны UTM (17 и 18) или потому, что я переношу слой рельефа из географической системы координат в проецируемую (мне нужно, чтобы он проецировался, чтобы я мог использовать более поздние функции в метрах).).

Комментарии:

1. Проблема в том, что вы назначаете проекцию своим точечным данным, но фактически не проецируете ее, тогда как фактически вы перепроектируете свой растр. Попробуйте использовать st_transform вместо st_set_crs для ваших векторных данных, и они должны совпасть. Вам нужно будет использовать st_set_crs для назначения текущей проекции вашим данным векторной точки. Скорее всего, перед повторным проектированием » proj = longlat datum = WGS84″.

2. Вы были правы, используя st_set_crs, а затем st_transform исправили проблему. Спасибо!