Le jeudi 24 mars 2011 00:33:44, Dan Putler a écrit : > All, > > I'm working with the topological faces from the 2010 Tiger shapefile > data. Some of the faces are huge in Alaska (over 2147483647 meters^2, > which exceeds the size of a signed 32 bit integer). In the block face > attribute table the area of each face is given. When I process a file > with these large areas with ogr2ogr, the resulting attribute table has > area values that have been converted from the large value to -2147483648 > (the largest, in absolute value, possible negative value of a 32 bit > signed integer). I'm using GDAL 1.7.3 on Ubuntu 10.4 64 bit which I > obtained from the Ubuntu GIS repository (1.8.0 has not made it to the > Ubuntu GIS repository yet). My question really is whether there is a > work around, say processing the file beforehand in a way that converts > the large integers to double precision values.
Yes this is a well known problem that has been recorded in multiple tickets... A possible solution would be the adoption of a 64bit integer type. There's a pending (not yet implemented) RFC to deal about that : http://trac.osgeo.org/gdal/wiki/rfc31_ogr_64 A possible workaround would be to edit the header of the DBF file to alter the field definition and set a non 0 value for the number of decimals. In which case OGR will recognize it as a double value (but you could potential have precision loss). > > Dan > _______________________________________________ > gdal-dev mailing list > [email protected] > http://lists.osgeo.org/mailman/listinfo/gdal-dev _______________________________________________ gdal-dev mailing list [email protected] http://lists.osgeo.org/mailman/listinfo/gdal-dev
