Is 'myarray' full of zeros? /** * * Kyle Shannon * ksshan...@gmail.com * */
On Tue, Jan 31, 2012 at 19:20, questions anon <questions.a...@gmail.com>wrote: > thanks Frank, following your instructions with: > > src_ds=gdal_array.OpenArray(myarray) > dst_ds = > gdal.GetDriverByName('GTiff').Create('E:/test/rasterise/mynewraster.tif',ncols, > nrows, 1 ,gdal.GDT_Byte) > dst_ds.SetGeoTransform(geotransform) > dst_ds.GetRasterBand(1).WriteArray(myarray) > > I do not receive any error messages but the tiff produced are all just > zeros. Is there a step I am missing? > thanks > > > On Wed, Feb 1, 2012 at 12:07 PM, Frank Warmerdam <warmer...@pobox.com>wrote: > >> On Tue, Jan 31, 2012 at 4:38 PM, questions anon >> <questions.a...@gmail.com> wrote: >> > I need to output my numpy array as a raster so that someone else can >> access >> > the data in ArcGIS. So basically the steps I need are: >> > read numpy array into gdal >> > convert to raster >> > use latitude and longitude and array size to set projection >> > >> > I am really struggling with gdal because I can't seem to find enough >> > documentation about each step to understand what it is doing. >> > Here are some of the steps I think I need: >> > >> > myarray=myarray >> > #the extent and shape of my array >> > xmin,ymin,xmax,ymax=[139.8,-39.2,150.0,-33.6] >> > ncols,nrows=[193,106] >> > xres=(xmax-xmin)/float(ncols) >> > yres=(ymax-ymin)/float(nrows) >> > geotransform=(xmin,xres,0,ymax,0, -yres) >> > >> > from osgeo import gdal >> > from osgeo import gdal_array >> > >> > src_ds=gdal_array.OpenArray(myarray) >> > >> > dst_ds = >> > >> gdal.GetDriverByName('GTiff').Create('E:/test/rasterise/mynewraster.tif',ncols, >> > nrows, 1 ,gdal.GDT_Byte) >> > dst_rb = dst_ds.GetRasterBand(0) >> > dst_ds.SetGeoTransform(geotransform) >> > output = gdal.RasterizeLayer(dst_ds) >> >> Dear "Questions Anon", >> >> There are a variety of Python related information at: >> >> http://trac.osgeo.org/gdal/wiki/GdalOgrInPython >> >> One serious issue with the above is that "gdal.RasterizeLayer()" is used >> to >> turn vector data into raster data - for instance to rasterize polygon >> features >> into an existing raster file. I think you want to write your array into a >> raster file. I think you can just call "dst_ds.WriteArray(myarray)". >> >> Alternatively if that method does not exist on the dataset, you >> can write the one band like: >> >> dst_ds.GetRasterBand(1).WriteArray(myarray) >> >> Some of the samples referenced from the GdalOgrInPython should be >> helpful though I understand it can be hard to know where to look. >> >> Best regards, >> -- >> >> ---------------------------------------+-------------------------------------- >> I set the clouds in motion - turn up | Frank Warmerdam, >> warmer...@pobox.com >> light and sound - activate the windows | http://pobox.com/~warmerdam >> and watch the world go round - Rush | Geospatial Software Developer >> > > > _______________________________________________ > gdal-dev mailing list > gdal-dev@lists.osgeo.org > http://lists.osgeo.org/mailman/listinfo/gdal-dev >
_______________________________________________ gdal-dev mailing list gdal-dev@lists.osgeo.org http://lists.osgeo.org/mailman/listinfo/gdal-dev