请原谅我的天真。我在重新投标SGDF时遇到了麻烦。5公里* 5公里分辨率的重新项目SGDF到0.05 * 0.05
我有一个xyz(x =经度,y =纬度,z =值)3列数据集。经度和纬度值是EPSG:3035格式的坐标。我将数据帧转换成EPSG:3035中预测的空间分辨率为5公里* 5公里的网格。我希望将网格重新投影到EPSG:4326,空间分辨率为0.05 * 0.05。但是,我收到以下警告消息:
Warning messages:
1: In spTransform(radon, CRS("+init=epsg:4326")) : Grid warping not available, coercing to points
2: In spTransform(as(x, "SpatialPixelsDataFrame"), CRSobj, ...) : Grid warping not available, coercing to points
有人可以请告诉我,我如何重新投影电网。下面是一个小的可重复的例子:
library(sp)
library(rgdal)
library(raster)
x=c(5013500, 5018500, 4883500, 4888500, 4893500, 4898500, 4908500,4948500, 4953500, 4958500, 4963500, 4973500, 4978500, 4988500, 5008500, 5013500, 5028500, 4878500, 4883500, 4888500, 4893500,4898500, 4903500,4928500, 4963500, 4968500, 4973500, 4978500, 4983500, 4988500)
y=c(5395500, 5395500, 5390500, 5390500, 5390500, 5390500, 5390500,5390500, 5390500, 5390500, 5390500, 5390500, 5390500, 5390500, 5390500,5390500, 5390500, 5385500, 5385500, 5385500, 5385500, 5385500, 5385500,5385500, 5385500, 5385500, 5385500, 5385500, 5385500, 5385500)
z=c(1.74, 1.74, 1.82, 1.82, 1.82, 1.81, 1.81, 1.78, 1.77, 1.77, 1.76,1.76, 1.75, 1.74, 1.73, 1.73, 1.72, 1.82, 1.82, 1.81, 1.81, 1.80, 1.80, 1.78, 1.75, 1.75, 1.74, 1.74, 1.73, 1.73)
df1=data.frame(x,y,z)
coordinates(df1) <- c("x", "y")
proj4string(df1)=CRS("+init=epsg:3035")
gridded(df1)=TRUE
fullgrid(df1)=TRUE
getGridTopology(df1)
x y
cellcentre.offset 4878500 5385500
cellsize 5000 5000
cells.dim 31 3
newgrid = spTransform(df1, CRS("+init=epsg:4326"))
好了,感谢保罗,我是能够重新使用项目gdalwarp电网。但是,空间分辨率仍然不同:
Coordinates:
min max
x -31.34409 50.36650
y 34.07928 71.87206
Is projected: FALSE
proj4string :
[+proj=longlat +datum=WGS84 +no_defs +ellps=WGS84 +towgs84=0,0,0]
Grid attributes:
cellcentre.offset cellsize cells.dim
x -31.31151 0.06515996 1254
y 34.11186 0.06515996 580
Data attributes:
Min. 1st Qu. Median Mean 3rd Qu. Max.
-0.11290 0.00000 0.00000 0.06136 0.00000 1.90300
有什么想法?
感谢Paul,您的快速回复。插值是在EPSG 3035投影的网格上进行的。这是否意味着我还应该重新投影网格以执行插值?那么它会再次回到这个问题上?我如何重新投影网格? – Nav 2013-03-06 21:55:26
将所有点数据集投影到目标投影中是最简单的,这是最简单的。我会在上面的答案中编辑更多信息。 – 2013-03-06 22:07:02
如果我错了,请纠正我。数据集本身是Lon Lat和相应值的插值,可以将其转换为规则网格。如果我希望重新投影插入的网格,我是否应该再次在插值上使用另一个插值例程,例如gstat中的idw()。 – Nav 2013-03-06 22:29:48