Mi pregunta se refiere a OGR
en Python3
en Windows
. Así que he instalado gdal
de la archivo de la rueda y empecé a jugar con OGR
funciones, pero hay un problema que me encuentro y que no puedo entender. Si GetFeatureCount()
es llamado en una capa que fue abierta en un archivo separado Python deja de funcionar, pero no si todo mi código está en el mismo script (leer y obtener el conteo de características).
El código siguiente funciona:
from osgeo import ogr
filename = '<path>'
driver = ogr.GetDriverByName("ESRI Shapefile")
datasource = driver.Open(filename)
layer = datasource.GetLayer()
print('Features count:', layer.GetFeatureCount())
Pero si muevo la apertura de la capa del shapefile a un archivo separado, ya no funciona (Python deja de funcionar de alguna manera):
class IO:
@staticmethod
def read_vector(filename):
# load vector
driver = ogr.GetDriverByName("ESRI Shapefile")
datasource = driver.Open(filename)
layer = datasource.GetLayer()
return layer
Y llamó desde este archivo:
from gdal_io import IO
filename = '<path>'
layer = IO.read_vector(filename)
print('Features count:', layer.GetFeatureCount())
¿Es necesario algo después de leer el vector shapefile con OGR
?