Hi,

I can't figure out what I'm doing wrong but gdal.Grid() keeps throwing an error and I've run out of things to try and work around the issue.

On Ubuntu using these packages:
gdal-bin:amd64/xenial 2.2.2+dfsg-1~xenial1 uptodate
gdal-data:all/xenial 2.2.2+dfsg-1~xenial1 uptodate
libgdal1i:amd64/xenial 1.11.3+dfsg-3build2 uptodate
libgdal20:amd64/xenial 2.2.2+dfsg-1~xenial1 uptodate
python-gdal:amd64/xenial 2.2.2+dfsg-1~xenial1 uptodate

Error message is:

Traceback (most recent call last):
  File "./process-jason3-ssha.py", line 322, in <module>
    Main()
  File "./process-jason3-ssha.py", line 316, in Main
    processFiles(mf, urlList)
  File "./process-jason3-ssha.py", line 242, in processFiles
    err = gdal.Grid(dataset, ds, options=opts)
  File "/usr/lib/python2.7/dist-packages/osgeo/gdal.py", line 968, in Grid
    return GridInternal(destName, srcDS, opts, callback, callback_data)
  File "/usr/lib/python2.7/dist-packages/osgeo/gdal.py", line 3229, in GridInternal
    return _gdal.GridInternal(*args)
RuntimeError: not a string

Code looks like (edited out not esentials):

        track = Dataset(fn, "r")
        track.set_auto_mask(False)

        lat = track.variables['lat']
        lon = track.variables['lon']
        ssh = track.variables['ssha']

        cnt = lat.shape[0]

        ds = ogr.GetDriverByName('Memory').CreateDataSource('wrk')
        lyr = ds.CreateLayer('track', srs=SRS)

        opts = gdal.GridOptions(algorithm='linear:radius=50:nodata=32767', \
                layers='track')

        # QUESTION: should I create point features for NoData track points??

        for n in range(cnt):
            wkt = "POINT({} {} {})".format(lon[n]-180., lat[n], ssh[n])
            feat = ogr.Feature(lyr.GetLayerDefn())
            feat.SetGeometryDirectly(ogr.Geometry(wkt=wkt))
            lyr.CreateFeature(feat)

        # dataset is a gtiff opened with GA_Update

        # also tried this
        #err = gdal.Grid(dataset, lyr, options=opts)

        err = gdal.Grid(dataset, ds, options=opts)
        if err != 0:
            print 'gdalGrid error: ', err
            return

The above code is basically the same as what I use for gdal.RasterizeLayer() and that worked fine.

-Steve

---
This email has been checked for viruses by Avast antivirus software.
https://www.avast.com/antivirus

_______________________________________________
gdal-dev mailing list
[email protected]
https://lists.osgeo.org/mailman/listinfo/gdal-dev

Reply via email to