[R-sig-Geo] resampling MODIS-based raster to PRISM raster to obtain same extent

Agustin Lobo alobolistas at gmail.com
Tue Jan 21 09:03:03 CET 2014


Another option would be doing it through grass commands.
Agus

On Mon, Jan 20, 2014 at 10:01 PM, Robert J. Hijmans <r.hijmans at gmail.com> wrote:
> Julie,
>
> Yes, in that case the projection (coordinate reference system -- CRS)
> will be the same. That is sufficient for vector data (points, lines,
> polygons), but not for raster data. For raster data you also need to
> match the resolution and origin such that the cells are aligned. With
> origin I refer to the location nearest to (0, 0) that the edge of a
> particular raster could come if only the extent is changed (resolution
> is fixed). If origins are not the same, the rasters are not aligned,
> and you cannot directly compare values for matching cells (as cells do
> not match). Even if two rasters are aligned, you may still need to
> crop/expand one or both such that they get exactly the same extent
> (bounding box).  resample can come to the rescue here but it is
> preferable to avoid it. See the raster package vignette for more info.
>
> I am under the impression that the MRT does not allow you to set an
> origin. If that is true, then it is an inadequate tool for changing
> the projection of raster data and I would use GDAL instead. On linux
> you can have rgdal with HDF5 support, but not on windows. But on
> windows you can use command line GDAL (from FWtools)  perhaps via the
> new gdalUtils package.
>
> Robert
>
>
> On Thu, Jan 16, 2014 at 11:48 PM, Julie Lee-Yaw <julleeyaw at yahoo.ca> wrote:
>> Hi Robert,
>>
>> Thanks for the response. I have done a bit more reading but am still
>> struggling to understand: if I set the datum (NAD83) and the resolution of
>> the NDVI data to match that of the prism data is that not sufficient for
>> compatible projections? Does the datum not provide the origin? The extent is
>> what I am now trying to adjust (e.g. the NDVI data is for all of North
>> America, the PRISM data is for the US only). Or do you mean something else
>> by extent?
>>
>> The prism data has a prj file that reads:
>>
>> GEOGCS["NAD83",DATUM["D_North_American_1983",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]]
>>
>> Thanks again for the help!
>>
>> Julie
>>
>>
>>
>>
>> On Tuesday, January 14, 2014 8:11:01 PM, Robert J. Hijmans
>> <r.hijmans at gmail.com> wrote:
>> Julie,
>> You raise an important question that is often overlooked. While it is
>> possible to use resample as you suggest; you would want to avoid it
>> because it leads to loss of data quality (although in practice this is
>> often minimal and irrelevant).
>>
>> You state that you "project it to the same geographic coordinate
>> system as PRISM precip. data". But that is an incomplete statement for
>> raster data. What you need to do is to project the NDVI data to the
>> raster definition used by PRISM. That includes the coordinate system,
>> but also the origin (or extent) and resolution of that raster. I do
>> not think MRT supports setting these parameters; in which case you
>> should not use it. You can use GDAL instead. On Linux this can be done
>> with rgdal; on windows you can use FWTools instead, or perhaps the new
>> gdalUtils package?
>>
>> Robert
>>
>> On Mon, Jan 13, 2014 at 3:39 PM, Julie Lee-Yaw <julleeyaw at yahoo.ca> wrote:
>>> Hi
>>>
>>> Using a combination of the scripts provided here (by Babak N.):
>>> http://r-gis.net/?q=ModisDownload and the MODIS reproject tool, I've finally
>>> managed to download NDVI data for North America and project it to the same
>>> geographic coordinate system as PRISM precip. data (e.g.
>>> http://www.prism.oregonstate.edu) for the same time period.
>>>
>>> I now want to stack these two rasters. My NDVI layer has a greater extent
>>> than the PRISM layer so I crop the former by the latter using:
>>>
>>> croppedNDVI<-crop(NDVI,prism)
>>>
>>>
>>> But when I look at the resulting raster, I see that the extent still
>>> doesn't line up. I think this is an issue with cells of the two rasters
>>> being "off" centre from each other. I can use the following to get them to
>>> align:
>>>
>>> adjustNDVI<-resample(croppedNDVI,prism)
>>>
>>>
>>> Now I can stack the "adjustNDVI" and "prism" layers as the extents match.
>>> But I am wondering whether this is valid? Why were the initial rasters
>>> misaligned in the first place given that I specified the same resolution and
>>> geographic coordinate system/datum when I processed the MODIS file? I'm
>>> grateful for any clarification!
>>>        [[alternative HTML version deleted]]
>>>
>>>
>>> _______________________________________________
>>> R-sig-Geo mailing list
>>> R-sig-Geo at r-project.org
>>> https://stat.ethz.ch/mailman/listinfo/r-sig-geo
>>>
>>
>
> _______________________________________________
> R-sig-Geo mailing list
> R-sig-Geo at r-project.org
> https://stat.ethz.ch/mailman/listinfo/r-sig-geo



More information about the R-sig-Geo mailing list