[GRASS-user] importing missing values via v.in.ascii for subsequent interpolation

Luigi Ponti lponti at infinito.it
Tue Nov 14 22:38:00 EST 2006


Dylan Beaudette wrote:
> On Tuesday 14 November 2006 18:40, Luigi Ponti wrote:
>   
>> Hello,
>>
>> I am trying to import ASCII files with v.in.ascii for subsequent
>> interpolation via v.surf.idw. The problem is that if I put NULL for
>> missing values, v.in.ascii complains about the column being of type
>> DOUBLE and fails. On the other hand if I put missing values as just '',
>> as suggested at
>> http://www.intevation.de/rt/webrt?serial_num=2763&display=History
>> then v.surf.rst seems to use those missing values as ZERO values in
>> computing the weighted average.
>>
>> I tried with something like
>>
>> 	v.db.update map=myMap column=myColumn value="NULL" \
>> 		where=myColumn=''
>>
>> But it did not work.
>>
>> Does anybody have a way around this?
>>
>> Regards,
>>
>> Luigi
>>
>>     
>
> hi.
>
> how about this:
>
> 1. change any nodata values in your input file to an empty string 
> 2. v.in.ascii in=infile sep=sep ... out=outvect
> 3. double check that the nodata values were imported correctly, i.e missing 
> from the attribute table
> 4. v.extract in=outvect where="column = ..." out=vect_no_null
> 5. v.surf.idw vect_no_null
>
> note that depending on the DB backend you are using, you may need to tweak the 
> above. another approach might be to code your nodata values as -9999999 or 
> something like that, and then use that to select only features with 'real' 
> data.
>
> cheers,
>
>
>   
Thanks Dylan!
The -9999999 approach works like beauty.
Luigi




More information about the grass-user mailing list