Hi Steve,

Thanks very much for the code snippet.  I figured out the following via
experimentation.

- Open specific layer by using:
layer = gdal.Open('netCDF:"annual_mean.nc":temp')

- Then get at the layer data data using the following:
netcdf_band = layer.GetRasterBand(1)

- Read in the data one row at a time:
    for iY in range(y_size):
      netcdf_data = netcdf_band.ReadAsArray(0, iY, x_size, 1)

It works, but is a complete hack in the sense that I just plugged in stuff
from a bunch of different scripts and banged away at it until it gave me
what I needed.  Glad to see that it is similar to your code.  I'm curious
about the ".reshape()" method that you pass to "ReadAsArray" above.  What
does that do?

Thanks again for the help.

Roger
--

On Tue, Sep 16, 2008 at 12:05 AM, Steve Gaffigan <[EMAIL PROTECTED]>wrote:

> Hello.  Here's an example of reading an entire array for a single
> subdataset.
>
> [EMAIL PROTECTED] AEFF]$ gdalinfo latest.nc
> Driver: netCDF/Network Common Data Format
> ...
>  SUBDATASET_25_NAME=NETCDF:"latest.nc":TMP_GPML
>  SUBDATASET_25_DESC=[49x11x78x141]
> air_temperature_at_constant_altitude_above_m
> ean_sea_level (8-bit integer)
> ...
>
> [EMAIL PROTECTED] AEFF]$ python
> >>> from osgeo import gdal
> >>> ds = gdal.Open('NETCDF:"latest.nc":TMP_GPML')
> >>> data = ds.ReadAsArray().reshape(49,11,78,141)
>
> Using a more generic call of the form below you can get at particular
> hyperslabs:
>
> >>>
> data=ds.GetRasterBand(i).ReadAsArray(xoff=x0,yoff=y0,win_xsize=nx,win_ysize=ny)
>
> where, for the above example, i=[1,...,539].
>
> Steve
>
>
> > Hi List,
> >
> > I'm would like to use the Python bindings to open a specific SUBDATASET
> in
> > a
> > NetCDF file and read the contents.  I read in
> > http://www.gdal.org/gdal_datamodel.html, under the "SUBDATASETS domain"
> > section, that I should be able to pass the "_NAME" parameter into
> > GDALOpen()
> > in order to do this, but I'm not exactly sure how.  Could someone pass me
> > a
> > couple lines of Python that show how this is done?
> >
> > Thanks in advance.
> >
> > Roger
> > --
> > _______________________________________________
> > gdal-dev mailing list
> > [email protected]
> > http://lists.osgeo.org/mailman/listinfo/gdal-dev
>
>
>
_______________________________________________
gdal-dev mailing list
[email protected]
http://lists.osgeo.org/mailman/listinfo/gdal-dev

Reply via email to