[GRASS5] 0 != no data

Justin Hickey jhickey at hpcc.nectec.or.th
Tue Jun 19 04:18:00 EDT 2001


Hello all

Sorry for the late reply, but I had other matters to take care of. As
per Markus' suggestions, some text has been changed in the post I
recommend we send to users. Please take a moment to review the post
below.

Markus Neteler wrote:
> thanks for your nice proposal. A few remarks:
> 
> - Perhaps (even for the new users), an example may be added to 
>   demonstrate the 0 to be NULL thing

I'm not sure what you mean here. What kind of example are you thinking
of, a classification example?

> - it should be pointed out, that GRASS 5 will keep the feature to 
>   store NULLs (for those not carefully ready), perhaps in a bottom
>   summary
> - it should be pointed out, that GRASS 5 will keep the feature to
>   convert individual values to NULL and back
> - maybe in a bottom summary it should be explained, that, if
>   eliminating the feature of 0 to be NULL, that both groups (1) and
>   (2) will stay happy, only that a conversion step is required (or
>   not?).

OK I've made some changes, see the example post below.

> BTW: Does anyone know a free poll server without adult images or 
> annoying ads? I don't want that they catch all the users' email
> adresses and sell them anywhere.

Sorry I can't help you here, but we could simply have them reply to the
message or send their votes to me if we can't find a suitable poll site.


======================== Start of post ===============================

Subject: We need your opinion

Hello all users

Recently on the developers mailing list, there has been a discussion
concerning the current implementation of NULL. When the NULL concept was
first introduced and implemented there were basically 2 groups of users:

1. Those who worked mostly with classes and had a large number of 
   files with 0 set as NULL

2. Those who started to use raster maps as representation of
   continuous fields and 0 was a data value

The majority of the users were in group 1 and thus, the decision was
made to keep the feature that 0 could be interpreted as NULL.

In the discussion on the developers list, some developers have indicated
that since GRASS 5.0 has the concept of NULL (which is represented by
non-zero values), it is confusing to also have the feature that 0 can be
interpreted as NULL, especially to new users of GRASS. This feature has
also caused some problems for some users who had greyscale aerial
photographs stored as raster maps in GRASS 4.x, and then transferred
them to GRASS 5.0. The problem was that the color black (value 0) was
being interpreted as NULL causing them to believe that their data had
been corrupted somehow.

In order to eliminate this confusion, a proposal was put forth on the
list that 0 should never be considered as NULL in GRASS 5.0. Also, in
order to facilitate those users who wish to use their GRASS 4.x files
with the new GRASS 5.0, we would provide a script to assist them in
converting the 0 values of their data to appropriate NULL values in
GRASS 5.0. 

This script has not been written yet but the proposed usage would be
that a user would run the script and provide a list of GRASS 4.x
databases which contain raster files in which 0 should be interpreted as
NULL. The script will automatically go through all locations and mapsets
in each database and perform the conversion for all raster files. The
only requirement for this script would be that the GRASS 4.x data would
have to be maintained in proper GRASS databases. That is, all
directories under a database will be locations, and all directories
under a location will be mapsets. If a user has files that he/she does
not want converted then either the files can be moved to a different
database, or the user can provide a specific location, or mapset, or
raster file to the script.

In summary, the proposal is to remove the feature of 0 being interpreted
as NULL from GRASS 5.0. It is important to remember that GRASS 5.0 will
store well defined NULL values (non-zero) and that GRASS 5.0 will
provide the capability to convert any value to NULL or vice versa. Note
that the elimination of this feature will satisfy both groups of users
since both NULL values and 0 will be available to users. The only
consequence of this removal is that a conversion process will be
necessary for converting GRASS 4.x data into GRASS 5.0 data.

What we would like you to do is provide us with your opinion on whether
we should keep the feature of 0 being interpreted as NULL. To make
things a little easier, we would like you to reply to this post stating
which of the following options (a or b) you wish to support.

    a) Keep the feature of 0 being optionally interpreted as NULL in
       GRASS 5.0
    b) Eliminate the feature from GRASS 5.0, but a script will be
       provided to convert GRASS 4.x files to GRASS 5.0 format for
       those who wish 0 to be NULL

Thank you for your time in this matter.

========================= End of post ================================

Once again, any comments in the wording of the above post are welcome.

-- 
Sincerely,

Jazzman (a.k.a. Justin Hickey)  e-mail: jhickey at hpcc.nectec.or.th
High Performance Computing Center
National Electronics and Computer Technology Center (NECTEC)
Bangkok, Thailand
==================================================================
People who think they know everything are very irritating to those
of us who do.  ---Anonymous

Jazz and Trek Rule!!!
==================================================================



More information about the grass-dev mailing list