[GRASS-dev] [GRASS GIS] #2499: v.in.ogr in does not handle "nan" in attribute tables properly

#2499: v.in.ogr in does not handle "nan" in attribute tables properly
--------------------------+-----------------------------------------
  Reporter: sbl | Owner: grass-dev@…
      Type: defect | Status: new
  Priority: normal | Milestone: 7.8.3
Component: Vector | Version: unspecified
Resolution: | Keywords: v.in.ogr, DBMI, SQLite, nan
       CPU: Unspecified | Platform: Unspecified
--------------------------+-----------------------------------------

Comment (by mmetz):

Replying to [comment:13 sbl]:
> In addition, the different DMBS behave differently with regards to
nan/inf...
>
> This is how PostgreSQL handles NaN / Inf in double columns:
[...]
>
> {{{
> SELECT * FROM test_insert_nan WHERE double_column > 0;
> }}}
>
> {{{
> double_column
> double precision
> "NaN"
> "NaN"
> "Infinity"
> }}}

this is wrong because nan is not > 0. nan is also not < 0 and not equal 0.
nan is also not equal nan. Apparently a bug in how PostgreSQL handles NaN.

Regarding v.in.ogr, I guess that setting nan/inf to NULL is the safest
option.

GRASS modules that create attribute tables should not insert nan/inf if
these values should not occur according to the logic of the module, as
e.g. v.net.centrality. If nan/inf does occur, the respective module needs
to be fixed.

--
Ticket URL: <https://trac.osgeo.org/grass/ticket/2499#comment:14&gt;
GRASS GIS <https://grass.osgeo.org>