Hi,
I ran into a blocking issue with the FileGdb driver. I have a File Geodatabase delivered to me by a third party, and one feature class in it has an attribute field of Esri’s BigInteger type (a 64-bit integer, GDB field type code 13 in the FileGDB binary format). When I try to open that layer, Aspose.GIS throws instead of reading it.
using Aspose.Gis;
using (var dataset = Dataset.Open(filePath, Drivers.FileGdb))
using (var layer = (VectorLayer)dataset.OpenLayer(layerName))
{
foreach (var feature in layer)
{
// never reached
}
}
This throws:
System.InvalidOperationException: Unknown GDB field type 13.
at Aspose.Gis.Common.Formats.GdbTable.GdbFieldDescription.(Byte )
at Aspose.Gis.Common.Formats.GdbTable.GdbFieldDescription.(BinaryReader )
at Aspose.Gis.Common.Formats.GdbTable.GdbTableFile.()
at Aspose.Gis.Common.Formats.GdbTable.GdbTableFile.Open(AbstractPathInternal path)
I tested this on our production version, 24.10.0, and also just installed the newest package, 26.8.0, to check, same exception on both.
As far as I can tell, BigInteger was added by Esri in ArcGIS Pro 3.2, together with field type codes 14 (DateOnly), 15 (TimeOnly) and 16 (DateTimeWithOffset), see FGDB Spec · rouault/dump_gdbtable Wiki · GitHub for the spec. GDAL’s OpenFileGDB driver already reads these fine, so it looks like Aspose.GIS’s field type parser was never updated for this.
What makes this annoying in practice is that it is not a minor/cosmetic issue, the whole layer fails to open, even though every other field is fine. And BigInteger is not some exotic edge case, ArcGIS Pro switches a field to it automatically once a value no longer fits in a classic 32-bit Long Integer, so I expect to run into this more often going forward, not less. These files are delivered to us by third parties using their own Esri/ArcGIS setup, so we have no control over which field types they end up using.
This is blocking real work for me right now, so I’d rather not wait for the next scheduled release. Would it be possible to get a hotfix for field type 13 specifically (14/15/16 would be nice too, but 13 is the one hurting me today)? If a hotfix isn’t an option, please let me know if there’s a workaround I’m missing on the API side, or at least a rough timeline for when this would be picked up.
Hope you can guide.
Regards,
MC