R中的栅格和面数据不匹配

时间:2018-09-08 20:18:26

标签: r raster

Unmatch dem and shp file

(从shapefile中读取的)多边形为:

class       : SpatialPolygonsDataFrame 
features    : 653 
extent      : -7115213, 4895580, 1368240, 7805331  (xmin, xmax, ymin, 
ymax)
coord. ref. : +proj=aea +lat_1=55 +lat_2=65 +lat_0=50 +lon_0=-154 
+x_0=0 +y_0=0 +datum=NAD27 +units=us-ft +no_defs +ellps=clrk66 
+nadgrids=@conus,@alaska,@ntv2_0.gsb,@ntv1_can.dat 
variables   : 6
names       : cat,   NAME,      AREA_MI,      lccount,        lcsum,      
lcmean 
min values  :   1, Alaska, 1.006402e+00, 1.000000e+01, 0.000000e+00,  
0.00000000 
max values  :  99, Alaska, 9.945810e-01, 9.900000e+01, 9.960000e+02, 
12.00000000 

栅格(高程)数据为

class       : RasterLayer 
dimensions  : 6800, 9200, 62560000  (nrow, ncol, ncell)
resolution  : 1305.521, 946.6311  (x, y)
extent      : -7115213, 4895580, 1368240, 7805331  (xmin, xmax, ymin, 
ymax)
coord. ref. : +proj=aea +lat_1=55 +lat_2=65 +lat_0=50 +lon_0=-154 
+x_0=0 +y_0=0 +datum=NAD27 +units=us-ft +no_defs +ellps=clrk66 
+nadgrids=@conus,@alaska,@ntv2_0.gsb,@ntv1_can.dat 
data source : /Users/hong/Documents/GitHub/Alaska/akshd300m.tif 
names       : akshd300m 
values      : 0, 255  (min, max)

有人可以解决这个问题吗?我用tmap绘制了这个图

1 个答案:

答案 0 :(得分:0)

尽管两个数据集的坐标参考系统都报告为+proj=aea +lat_1=55 +lat_2=65 +lat_0=50 +lon_0=-154 +x_0=0 +y_0=0 +datum=NAD27 +units=us-ft +no_defs +ellps=clrk66,但显然这不是正确的。通过将已知多边形转换为该crs,很容易找出哪个是正确的。例如

library(raster)
library(rgdal)
usa <- getData('GADM', country='USA', level=1)
ak <- usa[usa$NAME_1 == 'Alaska', ]
ak_asa <- spTransform(ak, '+proj=aea +lat_1=55 +lat_2=65 +lat_0=50 +lon_0=-154 +x_0=0 +y_0=0 +datum=NAD27 +units=us-ft +no_defs +ellps=clrk66')

并绘制那个。确定哪个是正确的(最好是两个是正确的)后,您可以尝试追溯另一个错误的原因。根据您提供的信息,我们无法为您解决这个问题。