[R-sig-Geo] ESRI Ascii Grid

Dylan Beaudette debeaudette at ucdavis.edu
Wed Jan 14 01:36:14 CET 2009


On Tuesday 13 January 2009, Edzer Pebesma wrote:
> This sounds very familiar; I ran into this about 6 years ago or so.

Could it be related to this ticket:

http://trac.osgeo.org/gdal/ticket/2369

???

should be fixed in a recent GDAL build.

Cheers,

Dylan


> The asciigrid driver in gdal reads the first so 100K of the file to
> figure out whether the data are integer or floating point. It then
> searches for a dot in any of the numbers, indicating floating point
> data. If it doesn't find a floating point (g2), it assumes integer and
> proceeds with that. The funny min and max values equal the min and max
> value of a signed two-bytes integer, +/- 2^15. The problem is that many
> images come as integer data, and what do you want gdal to do: read your
> 13 Mb (zipped!) first to figure out what it is, to start all over again?
> This would make many other users very unhappy.
>
> I remember filing a bug long ago.
>
> How about putting a dot after your first value in the grid?
> --
> Edzer
>
> Brian R Miranda wrote:
> > Roger,
> >
> > Thanks for your help.  I believe you are correct that the printed summary
> > values have been rounded.  I couldn't quite figure out how to extract the
> > range specifically, but when I did a summary for the data.frame from each
> > grid I got what I was expecting for the one created by readAsciiGrid
> > (g1). However, the grid created by readGDAL (g2) still shows unexpected
> > min and
> >
> > max values.  See results below:
> >> d1 <- g1 at data
> >> summary(d1)
> >
> >  distrail_100m.asc
> >  Min.   :      0
> >  1st Qu.:   2878
> >  Median :   6562
> >  Mean   :   7896
> >  3rd Qu.:  11670
> >  Max.   :  37082
> >  NA's   :6483714
> >
> >> d2 <- g2 at data
> >> summary(d2)
> >
> >      band1
> >  Min.   : -32768
> >  1st Qu.:   2844
> >  Median :   6516
> >  Mean   :   7718
> >  3rd Qu.:  11600
> >  Max.   :  32767
> >  NA's   :6483714
> >
> > For my own purposes, I have found that I should continue using
> > readAsciiGrid to bring in my grids.  But I would be happy to share my
> > dataset to help figure out why readGDAL has these strange results.  My
> > Ascii file is 13Mb zipped, probably too large to email, and I don't have
> > an FTP site that can be accessed outside of the Forest Service.  I can
> > send the file to you off list using YouSendIt.com if you would like, or
> > if you have an alternative suggestion for transferring the file, let me
> > know. Thanks again for your assistance, and if you need any additional
> > information from me, let me know.
> >
> > Cheers,
> > -Brian
> >
> > =======================
> > Brian R. Miranda
> > USDA Forest Service
> > Northern Research Station
> > brmiranda at fs.fed.us
> >
> > Institute for Applied Ecosystem Studies
> > 5985 Highway K
> > Rhinelander, WI  54501
> > phone: 715-362-1186
> > fax: 715-362-1166
> >
> >
> >
> >
> >
> > Roger Bivand <Roger.Bivand at nhh.no>
> > 01/13/2009 02:49 PM
> > Please respond to
> > Roger.Bivand at nhh.no
> >
> >
> > To
> > Brian R Miranda <brmiranda at fs.fed.us>
> > cc
> > r-sig-geo at stat.math.ethz.ch
> > Subject
> > Re: [R-sig-Geo] ESRI Ascii Grid
> >
> > On Tue, 13 Jan 2009, Brian R Miranda wrote:
> >> Hello,
> >>
> >> I have an Ascii grid that was created using the GridAscii command in
> >> ArcGrid.  The grid represents cell distance to railroads and has values
> >> ranging from 0 to 37,082.  When I bring this grid into R as a
> >> SpatialGridDataFrame, the maximum and/or the minimum values in the grid
> >
> > do
> >
> >> not exactly match the original grid.  I have tried using both readGDAL
> >
> > and
> >
> >> readAsciiGrid for this purpose.  I have confirmed in a text editor that
> >> the Ascii file does contain the maximum value of 37,082.  Below are the
> >> results I have seen.  Note the differences in the Max. value and Min.
> >> value (from readGDAL).
> >
> > First, beware of the possible difference between the printed summary
> > value
> >
> > and the actual value - printed summaries may round. What does range() of
> > the variable say? The difference between the two functions is puzzling -
> > could you make the data available (off list for example, zipped,
> > preferably for download) to try to see what is going on?
> >
> > Roger
> >
> >>> g1 <- readAsciiGrid("G:/Oconto/WI_Fire/distrail_100m.asc")
> >>> summary(g1)
> >>
> >> Object of class SpatialGridDataFrame
> >> Coordinates:
> >>                min      max
> >> coords.x1 -263487.6 149512.4
> >> coords.x2  358821.1 666821.1
> >> Is projected: NA
> >> proj4string : [NA]
> >> Number of points: 2
> >> Grid attributes:
> >>  cellcentre.offset cellsize cells.dim
> >> 1         -263437.6      100      4130
> >> 2          358871.1      100      3080
> >> Data attributes:
> >>   Min. 1st Qu.  Median    Mean 3rd Qu.    Max.    NA's
> >>      0    2878    6562    7896   11670   37080 6483714
> >>
> >>> g2 <- readGDAL("G:/Oconto/WI_Fire/distrail_100m.asc")
> >>
> >> G:/Oconto/WI_Fire/distrail_100m.asc has GDAL driver AAIGrid
> >> and has 3080 rows and 4130 columns
> >>
> >>> summary(g2)
> >>
> >> Object of class SpatialGridDataFrame
> >> Coordinates:
> >>        min      max
> >> x -263487.6 149512.4
> >> y  358821.1 666821.1
> >> Is projected: NA
> >> proj4string : [NA]
> >> Number of points: 2
> >> Grid attributes:
> >>  cellcentre.offset cellsize cells.dim
> >> x         -263437.6      100      4130
> >> y          358871.1      100      3080
> >> Data attributes:
> >>   Min. 1st Qu.  Median    Mean 3rd Qu.    Max.    NA's
> >> -32770    2844    6516    7718   11600   32770 6483714
> >>
> >> The results from readAsciiGrid are pretty close (Max = 37,080) to the
> >> original grid, but readGDAL results in much different values.  I would
> >> expect both functions to create an object with exactly the same values
> >
> > as
> >
> >> the Ascii grid.  Can anyone explain why this occurs, and if there is a
> >> different way to get my grid into R (I eventually need an 'im' to work
> >> with)?  I am new to spatial analysis using R, so if there is something
> >> obvious I am missing I apologize.  Thanks in advance for any help!
> >>
> >> Cheers,
> >> -Brian
> >>
> >>
> >> =======================
> >> Brian R. Miranda
> >> USDA Forest Service
> >> Northern Research Station
> >> brmiranda at fs.fed.us
> >>
> >> Institute for Applied Ecosystem Studies
> >> 5985 Highway K
> >> Rhinelander, WI  54501
> >> phone: 715-362-1186
> >> fax: 715-362-1166
> >>
> >>
> >>                [[alternative HTML version deleted]]
> >>
> >> _______________________________________________
> >> R-sig-Geo mailing list
> >> R-sig-Geo at stat.math.ethz.ch
> >> https://stat.ethz.ch/mailman/listinfo/r-sig-geo



-- 
Dylan Beaudette
Soil Resource Laboratory
http://casoilresource.lawr.ucdavis.edu/
University of California at Davis
530.754.7341




More information about the R-sig-Geo mailing list