繁体   English   中英

以较大的分辨率重新投影栅格(WGS84为BNG)

[英]reproject raster (WGS84 to BNG) with large resolution

我正在做一个足够简单的操作,将栅格从WGS84重新投影到British National Grid,但是我想知道重新投影后的某些结果。 生成的栅格的总和有很大的不同。 这是由于分辨率和“ projectRaster”中的双线性插值工作的原因吗?

我从一个csv开始,该csv的全局数据在纬度和经度上都覆盖-180至180度的范围(仅整数值),并带有一些z值。 这是子集,被制成投影WGS84的栅格并转换为BNG(下面的子集):

x <- rep(c(-10:3), times = 10)
n <- 14
y <- rep(48:57, each=n)
z <- rnorm(n=140, mean=20, sd=5)
ind <- which(z %in% sample(z, 45))
z[ind]<-NA
df <- data.frame("x"=x,"y"=y,"value"=z)

bng <- '+proj=tmerc +lat_0=49 +lon_0=-2 +k=0.9996012717 +x_0=400000 +y_0=-100000 +ellps=airy +datum=OSGB36 +units=m +no_defs'
wgs84 <- '+proj=longlat +ellps=WGS84 +datum=WGS84 +no_defs'

coordinates(df) = ~x + y
ras = rasterFromXYZ(df, crs=wgs84)
cellStats(ras,sum)
plot(ras)

ras_bng <- projectRaster(ras,crs=bng)
plot(ras_bng)
cellStats(ras_bng,sum)

总和是从1919年到2625年(以我为例)。

纯粹是由于重新投影在“边缘”周围创建了许多额外的单元格吗? 如果我要重新投影到分辨率更小(5公里)的栅格,这会大大减少差异吗?

谢谢,S

> ras
class       : RasterLayer 
dimensions  : 10, 14, 140  (nrow, ncol, ncell)
resolution  : 1, 1  (x, y)
extent      : -10.5, 3.5, 47.5, 57.5  (xmin, xmax, ymin, ymax)
coord. ref. : +proj=longlat +ellps=WGS84 +datum=WGS84 +no_defs +towgs84=0,0,0 
data source : in memory
names       : layer 
values      : 3.243918, 32.21532  (min, max)

> ras_bng
class       : RasterLayer 
dimensions  : 12, 19, 228  (nrow, ncol, ncell)
resolution  : 67900, 111000  (x, y)
extent      : -375677.8, 914422.2, -343553.2, 988446.8  (xmin, xmax, ymin, ymax)
coord. ref. : +proj=tmerc +lat_0=49 +lon_0=-2 +k=0.9996012717 +x_0=400000 +y_0=-100000 +ellps=airy +datum=OSGB36 +units=m +no_defs +towgs84=446.448,-125.157,542.060,0.1502,0.2470,0.8421,-20.4894 
data source : in memory
names       : layer 
values      : 8.174968, 28.31331  (min, max)

这是因为NA值以“ ras”表示。

取出z[ind]<-NA时,差异很小。 这是因为projectRaster隐式使用了“ na.rm = TRUE”; 也许需要一个论点来改变这一点。 这并不像在其他情况下那样简单,例如,仅从其中插值的像元之一可能是NA ,在这种情况下可能应该对其进行计算。

在实践中,很少会找到这么多的NA值,通常它们仅限于(陆地)边缘。

顺便说一句, WGS84是基准,不是投影。 您正在使用的投影将是“经度/纬度”(也称为其他名称),但它也不是投影,因为投影的整个点都将从这样的角坐标变为平面坐标。 因此,您正在将一个坐标参考系('long / lat,WGS84')转换为另一坐标系(BNG)。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM