#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 исправили проблему. Спасибо!