[gdal-dev] OGR_G_ExportToWkt make MEX crash

Frank Warmerdam warmerdam at pobox.com
Tue Sep 6 11:25:09 EDT 2011


On 11-09-06 08:10 AM, Joaquim Luis wrote:
> Hi,
>
> I wrote a OGR C MEX wrapper to use in Matlab which already works in many cases.
> However, I had a situation when trying to fetch the reference info. The chunk
> of code below now works, but if I use the commented line that calls
> OGR_G_ExportToWkt
> than Matlab crashes at that line. However, using the OSRExportTo... functions
> works fine.
> I'm I doing something forbidden or ...
...
> hSRS = OGR_L_GetSpatialRef(hLayer); /* Do not free it later */
> if (hSRS) {
> char *pszWKT = NULL, *pszProj4 = NULL;
> mxArray *mxPrjRef;
>
> /*OGR_G_ExportToWkt (hSRS, &pszWKT); */ <====== THIS CALL MAKE THE MEX CRASH
>
> if (OSRExportToProj4(hSRS, &pszProj4) == OGRERR_NONE) {

Joaquim,

OGR_G_* functions are intended to operate on OGRGeometry objects while
OSR* functions operate on OGRSpatialReferences.  Your hSRS object is an
OGRSpatialReference and not suitable to pass to OGR_G_ExportToWkt().

You should use OSRExportToWkt() to translate an OGRSpatialReference into it's
WKT representation.

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/warmerda
and watch the world go round - Rush    | Geospatial Software Developer



More information about the gdal-dev mailing list