[GRASS-user] Display behavior of table attribute data

I learned something surprising this morning using a combination of the GUI
management window's map 'display table attributes' and db.execute.

The two adjacent bathymetric point files imported with a Z-int column with
type double precision for the integer depths. However, the depth values
displayed are in double precision format (ending in .00).

I added a new column, depth_int (type int), and copied (using SQL's 'alter
table') the Z-int double precision values to the depth_int column, then
deleted the Z-int column. The GUI's attribute table management dialog
confirmed that the depth_int is of type integer.

After re-displaying these maps the depth values are still double precision
while the column data type is integer. Oh well.

Rich

That is, I guess, because sqlite 'uses dynamic typing. It does not enforce data type constraints. Data of any type can (usually) be inserted into any column. '?

On October 6, 2021 5:25:47 PM Rich Shepard rshepard@appl-ecosys.com wrote:

I learned something surprising this morning using a combination of the GUI
management window’s map ‘display table attributes’ and db.execute.

The two adjacent bathymetric point files imported with a Z-int column with
type double precision for the integer depths. However, the depth values
displayed are in double precision format (ending in .00).

I added a new column, depth_int (type int), and copied (using SQL’s ‘alter
table’) the Z-int double precision values to the depth_int column, then
deleted the Z-int column. The GUI’s attribute table management dialog
confirmed that the depth_int is of type integer.

After re-displaying these maps the depth values are still double precision
while the column data type is integer. Oh well.

Rich


grass-user mailing list
grass-user@lists.osgeo.org
https://lists.osgeo.org/mailman/listinfo/grass-user

On Wed, 6 Oct 2021, Paulo van Breugel wrote:

That is, I guess, because sqlite 'uses dynamic typing. It does not enforce
data type constraints. Data of any type can (usually) be inserted into any
column. '?

Paulo,

That's true; sqlite3 stores everything as text and allows the application to
format what's displayed. But, I haven't found a way to present these numbers
as integers in GRASS.

Regardless, I used the annotation tools in the map display window to add a
scalebar and north arrow; couldn't get the text where I wanted with a
transparent background. But when saved, this figure will be adequate for the
project's needs.

Thanks,

Rich