Как заменить координаты XY растра в R? - PullRequest
0 голосов
/ 20 февраля 2020

Я понимаю, что название этого вопроса похоже на другой вопрос, но решение там не работает для меня.

У меня есть растровый файл. У меня есть матрица широт и матрица долгот. Я хочу заменить координаты x и y растрового файла на координаты в двух матрицах.

Я загрузил примеры файлов здесь. Существует три файла: один растровый (GeoTIFF) и две матрицы долготы и широты.



## read in the raster
raster <- raster("test.tif")

## Read in the coordinates 
lat1 <- read.csv("lat1.csv")
lon1 <- read.csv("lon1.csv")

raster$lon <- lon1 ##??? no clue
raster$lat <- lat1 ##???



https://www.dropbox.com/sh/0lsdgo3mk95hua8/AAA9fMuCo2XZmu50U6QFq4cEa?dl=0

Какой простой способ сделать это? Могу ли я использовать те же методы на RasterBrick?

Я много чего перепробовал, не могу найти, как заменить координаты.

Любая помощь будет оценена.

1 Ответ

0 голосов
/ 21 февраля 2020

Может помочь что-то подобное:

library(raster)
library(rgdal)

# starting raster:
r<- raster(matrix(1:100, nrow = 10))

# new coordinates:
x <- 51:60
y <- 21:30
xy <- expand.grid(x, y)

# create new raster via SpatialPixelsDataFrame, copying the values from the original raster but supplying the new coordinates
r2 <- raster(SpatialPixelsDataFrame(xy, data.frame(values(r))))

# plot to have a look:
par(mfrow = c(1,2))
plot(r)
plot(r2)

Обратите внимание, что растр принимает координаты xy в качестве центра пикселя, давая экстент, который может вас удивить:

extent(r2)

Но вы можно легко настроить на все, что вы хотите

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...