[R-sig-Geo] convert a shapefile to geotiff with type = "Float32"
Els Ducheyne
educheyne at avia-gis.be
Tue Feb 9 12:20:00 CET 2010
Dear all
indeed some drivers cannot handle the NA
just modify them in R before you export and that does the trick
img[img(is.an)] <- (-9999)
Els
On 9 Feb 2010, at 11:56, jgarcia at ija.csic.es wrote:
> I can tell that I have also a problem writting NA values in map exported
> through rgdal (with several drivers, e.g., IDRISI) and imported in
> ArcInfo. The NA values are not properly imported, and at the moment I'm
> exporting NA values as a number (e.g., -9999)
>
> Javier
> ---
>
>> Hello again,
>> My writeGDAL statement was slightly wrong.. I didn't have the NA
>> values in quotes.
>> it should be:
>> # attempt to write out a geotiff
>> writeGDAL(shp.grd, "/home/data2/gis/AT_Hailey/r_rasters/test.tif",
>> drivername = "GTiff", type = "Float32", mvFlag = 'NA', options=NULL,
>> copy_drivername = "GTiff")
>>
>> I can now load the tiff file into QGis correctly, but still not ArcMap.
>> Has anyone found a grid type that loads into Arc smoothly?
>> Hailey
>>
>>
>> On Mon, Feb 8, 2010 at 11:56 AM, Hailey Eckstrand
>> <haileyeckstrand at gmail.com> wrote:
>>> Hello List,
>>> I am trying to load in a shapefile and then write it out as a geoTiff.
>>> I am using the package rgdal.
>>>
>>> library("rgdal")
>>> ## load in my shapefile
>>> shp <-
>>> readOGR("/home/data3/projects/hydrology/vic/output/water_balance/peace_cc/summary",
>>> "peace_base_et_6190")
>>>
>>> # Just to be clear, here is the structure of my data
>>> str(shp)
>>> Formal class 'SpatialPointsDataFrame' [package "sp"] with 5 slots
>>> ..@ data :'data.frame': 3975 obs. of 13 variables:
>>> .. ..$ jan: num [1:3975] 12 12.4 12.3 12.3 12.5 ...
>>> .. ..$ feb: num [1:3975] 12.8 13.2 13 13.1 13.5 ...
>>> .. ..$ mar: num [1:3975] 16.3 16.6 16.8 16.8 17.1 ...
>>> .. ..$ apr: num [1:3975] 31.2 33.7 30.1 28.1 29.2 ...
>>> .. ..$ may: num [1:3975] 106 111 101 99 103 ...
>>> .. ..$ jun: num [1:3975] 99.4 116 121.1 115.1 108 ...
>>> .. ..$ jul: num [1:3975] 57.8 56.9 74.7 69.5 65 ...
>>> .. ..$ aug: num [1:3975] 53.8 51.2 59.5 58.6 57.3 ...
>>> .. ..$ sep: num [1:3975] 44 40.6 52.8 49.4 49.2 ...
>>> .. ..$ oct: num [1:3975] 32.4 32 35.3 34.1 34.9 ...
>>> .. ..$ nov: num [1:3975] 12.6 12.9 12.9 12.9 13.4 ...
>>> .. ..$ dec: num [1:3975] 12.8 13.2 13.2 13.1 13.6 ...
>>> .. ..$ sum: num [1:3975] 491 510 542 522 517 ...
>>> ..@ coords.nrs : num(0)
>>> ..@ coords : num [1:3975, 1:2] -123 -123 -122 -123 -123 ...
>>> .. ..- attr(*, "dimnames")=List of 2
>>> .. .. ..$ : NULL
>>> .. .. ..$ : chr [1:2] "coords.x1" "coords.x2"
>>> ..@ bbox : num [1:2, 1:2] -127.7 54.2 -120.6 58
>>> .. ..- attr(*, "dimnames")=List of 2
>>> .. .. ..$ : chr [1:2] "coords.x1" "coords.x2"
>>> .. .. ..$ : chr [1:2] "min" "max"
>>> ..@ proj4string:Formal class 'CRS' [package "sp"] with 1 slots
>>> .. .. ..@ projargs: chr " +proj=longlat +ellps=WGS84 +datum=WGS84
>>> +no_defs +towgs84=0,0,0"
>>>
>>> # Convert it to a SpatialGridDataGrame, so I can writeGDAL
>>> gridded(shp) <- TRUE
>>> shp.grid <- as(shp, "SpatialGridDataFrame")
>>>
>>> # structure of my SpatialGridDataFrame
>>> str(shp.grid)
>>> Formal class 'SpatialGridDataFrame' [package "sp"] with 6 slots
>>> ..@ data :'data.frame': 7130 obs. of 13 variables:
>>> .. ..$ jan: num [1:7130] NA NA NA NA NA NA NA NA NA NA ...
>>> .. ..$ feb: num [1:7130] NA NA NA NA NA NA NA NA NA NA ...
>>> .. ..$ mar: num [1:7130] NA NA NA NA NA NA NA NA NA NA ...
>>> .. ..$ apr: num [1:7130] NA NA NA NA NA NA NA NA NA NA ...
>>> .. ..$ may: num [1:7130] NA NA NA NA NA NA NA NA NA NA ...
>>> .. ..$ jun: num [1:7130] NA NA NA NA NA NA NA NA NA NA ...
>>> .. ..$ jul: num [1:7130] NA NA NA NA NA NA NA NA NA NA ...
>>> .. ..$ aug: num [1:7130] NA NA NA NA NA NA NA NA NA NA ...
>>> .. ..$ sep: num [1:7130] NA NA NA NA NA NA NA NA NA NA ...
>>> .. ..$ oct: num [1:7130] NA NA NA NA NA NA NA NA NA NA ...
>>> .. ..$ nov: num [1:7130] NA NA NA NA NA NA NA NA NA NA ...
>>> .. ..$ dec: num [1:7130] NA NA NA NA NA NA NA NA NA NA ...
>>> .. ..$ sum: num [1:7130] NA NA NA NA NA NA NA NA NA NA ...
>>> ..@ grid :Formal class 'GridTopology' [package "sp"] with 3 slots
>>> .. .. ..@ cellcentre.offset: Named num [1:2] -127.7 54.2
>>> .. .. .. ..- attr(*, "names")= chr [1:2] "coords.x1" "coords.x2"
>>> .. .. ..@ cellsize : Named num [1:2] 0.0625 0.0625
>>> .. .. .. ..- attr(*, "names")= chr [1:2] "coords.x1" "coords.x2"
>>> .. .. ..@ cells.dim : Named int [1:2] 115 62
>>> .. .. .. ..- attr(*, "names")= chr [1:2] "coords.x1" "coords.x2"
>>> ..@ grid.index : int(0)
>>> ..@ coords : num [1:2, 1:2] -127.7 -120.6 54.2 58
>>> .. ..- attr(*, "dimnames")=List of 2
>>> .. .. ..$ : NULL
>>> .. .. ..$ : chr [1:2] "coords.x1" "coords.x2"
>>> ..@ bbox : num [1:2, 1:2] -127.8 54.2 -120.6 58.1
>>> .. ..- attr(*, "dimnames")=List of 2
>>> .. .. ..$ : chr [1:2] "coords.x1" "coords.x2"
>>> .. .. ..$ : chr [1:2] "min" "max"
>>> ..@ proj4string:Formal class 'CRS' [package "sp"] with 1 slots
>>> .. .. ..@ projargs: chr " +proj=longlat +ellps=WGS84 +datum=WGS84
>>> +no_defs +towgs84=0,0,0"
>>>
>>> # attempt to write out a geotiff
>>> writeGDAL(shp.grd, "/home/data2/gis/AT_Hailey/r_rasters/test.tif",
>>> drivername = "GTiff", type = "Float32", mvFlag = NA, options=NULL,
>>> copy_drivername = "GTiff")
>>>
>>>
>>> The file that I write out only has NA values. I realize something is
>>> wrong as I haven't figured out how to define which column I'd like to
>>> convert.
>>> Thanks in advance,
>>> Hailey
>>>
>>
>> _______________________________________________
>> R-sig-Geo mailing list
>> R-sig-Geo at stat.math.ethz.ch
>> https://stat.ethz.ch/mailman/listinfo/r-sig-geo
>>
>
> _______________________________________________
> R-sig-Geo mailing list
> R-sig-Geo at stat.math.ethz.ch
> https://stat.ethz.ch/mailman/listinfo/r-sig-geo
>
More information about the R-sig-Geo
mailing list