[gdal-dev] numpy array to raster
questions anon
questions.anon at gmail.com
Tue Jan 31 21:31:13 EST 2012
no I quickly checked that!
myarray is:
[[ 16.15035553 16.14380074 16.15581551 ..., 18.06388149 18.08930645
18.08825245]
[ 16.2154911 16.21180592 16.23977184 ..., 18.1085537 18.12040272
18.12342682]
[ 16.32851467 16.29202938 16.28964043 ..., 18.16753635 18.14905453
18.16632977]
...,
[ 30.50812759 30.58384018 30.66707535 ..., 26.31020527 26.47789459
27.11495361]
[ 30.76499577 30.76497536 30.79138317 ..., 26.45928288 26.64059887
27.03641129]
[ 31.01263275 30.96269417 30.9933857 ..., 26.78247185 26.77845631
26.97975636]]
On Wed, Feb 1, 2012 at 1:25 PM, Kyle Shannon <ksshannon at gmail.com> wrote:
> Is 'myarray' full of zeros?
>
> /**
> *
> * Kyle Shannon
> * ksshannon at gmail.com
> *
> */
>
>
>
> On Tue, Jan 31, 2012 at 19:20, questions anon <questions.anon at 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 <warmerdam at pobox.com>wrote:
>>
>>> On Tue, Jan 31, 2012 at 4:38 PM, questions anon
>>> <questions.anon at 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,
>>> warmerdam at 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 at lists.osgeo.org
>> http://lists.osgeo.org/mailman/listinfo/gdal-dev
>>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.osgeo.org/pipermail/gdal-dev/attachments/20120201/7335ee74/attachment.html
More information about the gdal-dev
mailing list