#r #r-raster #rgdal #map-projections #proj
#r #r- растр #rgdal #карта-проекции #проект
Вопрос:
У меня есть растр с 4 слоями, и я хочу преобразовать экстент в lon / lat, чтобы выполнить извлечение, но точки и проекция растра или экстент не совпадают. Не могли бы вы мне помочь, пожалуйста?
pp.an
class : RasterBrick
dimensions : 530, 748, 396440, 4 (nrow, ncol, ncell, nlayers)
resolution : 1000, 1000 (x, y)
extent : 133000, 881000, 225000, 755000 (xmin, xmax, ymin, ymax)
crs : proj=longlat datum=WGS84 ellps=WGS84 towgs84=0,0,0
source : memory
names : X01, X02, X03, X04
min values : 13.12333, 12.16333, 16.02000, 13.00667
max values : 75.00333, 65.92000, 88.52333, 100.46333
: 01, 02, 03, 04
pshp
class : SpatialPoints
features : 5
extent : 27.25892, 27.38349, 44.43456, 44.55279 (xmin, xmax, ymin, ymax)
crs : proj=longlat datum=WGS84 ellps=WGS84 towgs84=0,0,0
pshp<- data.frame(Y = c(44.548684, 44.533389, 44.537298, 44.4345597, 44.552794), X = c(27.258922,27.282476,27.347930,27.331980,27.383491))
coordinates(pshp) <- ~X Y
proj4string(pshp)<- CRS(" init=epsg:4326")
pshp1 <- spTransform(pshp,projection(p.p))
crs(pshp) <-" proj=longlat datum=WGS84 ellps=WGS84 towgs84=0,0,0"
projectRaster(pp.an, crs = projection(pshp))
ex <- extract(pp.an, pshp1)
Ответ №1:
-
Чтобы извлечь значения для точек из растра с другим crs, вы должны преобразовать свои точки, а не растр (чтобы избежать потери точности).
-
вы показываете, что crs для
pp.an
имеет значениеproj=longlat datum=WGS84
. Это явно неверно, учитывая, что вы говорите, что это UTM и степень133000, 881000, 225000, 755000
Итак, сначала вам нужно установить правильные crs
crs(pp.an) <- " proj=utm zone=??? datum=WGS84"
Затем преобразуйте точки
pshp1 <- spTransform(pshp, projection(pp.an))
И затем используйте extract
e <- extract(pp.an, pshp1)