Tengo un problema con los tipos integer, cuando la importación de un archivo shape creado en OGR en PostGIS.
Empecé con un campo creado como ogr.OFTInteger64
en OGR/pyqgis de la siguiente manera:
field_defn = ogr.FieldDefn( fld, ogr.OFTInteger64 )
lyr.CreateField ( field_defn )
El campo tipo muestra como el tipo: qlonglong
y nombre de tipo: Integer64
en QGIS.
Pero después de importar el archivo de forma en PostGIS con shp2pgsql
,
shp2pgsql -Id -s 4326 my_lyr.shp my_lyr | psql
el campo terminó siendo un double precision
campo \d+
, y he tenido que convertir los valores en este campo BIGINT
antes de su uso.
De acuerdo a la documentación de PostgreSQL, tanto bigint
y double precision
son tipos de 8 bytes (64 bits). ¿Cómo puedo evitar la confusión y obtener la intención de BIGINT
de campo en PostGIS?