[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