6 votos

Lectura de datos BLOB de un Esri GDB con OGR

Es posible leer un archivo binario de datos de campo (BLOB) de una geodatabase de Esri utilizando OGR? Estoy usando el OpenFileGDB conductor y puede extraer los primeros bytes, pero luego se trunca los datos con "...".

>>> import ogr
>>> src = ogr.Open("data.gdb")
>>> src.GetDriver().name
'OpenFileGDB'
>>> layer = src.GetLayerByName("Photo__ATTACH")
>>> feature = layer.GetFeature(1)
>>> data = feature.GetField("DATA")
>>> len(data)
75
>>> data
'FFD8FFE000104A46494600010100004800480000FFE100584578696600004D4D002A0000...'

No estoy seguro de si esto es un problema con el controlador, o si me necesitas para pasar una bandera en particular?

FFD8 es el inicio de un archivo JPEG en formato HEXADECIMAL.

El equivalente en ArcGIS-hablar es de aquí: http://support.esri.com/technical-article/000011912

6voto

Fitzcarraldo Puntos 423

Después de actualizar a una versión más reciente de GDAL (estaba usando 1.11.4, ahora en 2.1.1) el objeto de la función proporciona un GetFieldAsBinary método. Los datos completos se devuelve como un objeto de bytes.

>>> data = feature.GetFieldAsBinary("DATA")
>>> len(data)
2735908

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X