Протяженность в UTM и проекция в широте lon

#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:

  1. Чтобы извлечь значения для точек из растра с другим crs, вы должны преобразовать свои точки, а не растр (чтобы избежать потери точности).

  2. вы показываете, что 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)