yonil wrote:
I'm trying to use the following code to detect a possible error caused by the GetGeoTransform() call, but it reports no error has occurred, and
does not raise an exception.

Making this call on the same dataset from native C code returns CE_Failure from GDALGetGeoTransform().

Here's the C# snippet:

_dataset.GetGeoTransform(temp); // returns normally with default values
OSGeo.GDAL.CPLErr err = Gdal.GetLastErrorType();
if (OSGeo.GDAL.CPLErr.CE_None != err)
{
     throw new ApplicationException("GetGeoTransform() failed.");
}

Am I doing anything wrong, or is it somehow a problem with the C# bindings? I've built the C# bindings from the GDAL v1.5.3 release, running on Win32.

Yonil,

There are some places in the GDAL code that return CE_Failure without
issuing an error via CPLError().  I presume you were expecting
GetLastErrorType() to return something other than CE_None if GetGeoTransform()
returned an error?

If you can provide details of the driver being used I may be able to correct
the code to issue a CPLError before returning CE_Failure but this is a
problem that is fairly widespread in the code.

PS. Doesn't the C# GetGeoTransform() method return the error indicator?

Best regards,
--
---------------------------------------+--------------------------------------
I set the clouds in motion - turn up   | Frank Warmerdam, [EMAIL PROTECTED]
light and sound - activate the windows | http://pobox.com/~warmerdam
and watch the world go round - Rush    | Geospatial Programmer for Rent

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

Reply via email to