[gdal-dev] python bindings: strange behavior with layer

Howard Butler hobu.inc at gmail.com
Tue Jul 20 14:00:37 EDT 2010


On Jul 20, 2010, at 12:51 PM, Python Gis wrote:

> Hi
> this is my code:
> 
> from osgeo import ogr
> 
> def OpenLayer(shape_path, shape_name):
>    drv_shp = ogr.GetDriverByName('ESRI Shapefile')
>    shp_ds = drv_shp.Open(shape_path, 1)
>    layer = shp_ds.GetLayerByName(shape_name)
>    print 'Name from method: %s' % layer.GetName()
>    return layer;
> 
> layer = OpenLayer('output', 'myshapefile')
> print 'Name from main: %s' % layer.GetName()
> 
> and this is the output:
> 
> $ python testogr.py 
> Name from method: firenews
> Segmentation fault
> 
> what can it be?
> thanks a lot
> 

drv_shp and shp_ds are going out of scope.  Use ogr.Open, which will take care of all of this for you.

Howard


More information about the gdal-dev mailing list