[GRASSLIST:9818] Re: v.surf.idw batch processing
Luigi Ponti
lponti at infinito.it
Fri Jan 13 13:31:19 EST 2006
Dear Michaela,
Thanks! Nothing really goes wrong.
My code looks similar to yours:
---------------------------------------------------------------------
v.in.ascii -z input=inputFile output=outputMap fs='\t' x=LON y=LAT z=PAR
v.surf.idw input=outputMap output=interpolatedRaster npoints=3 layer=1
col=dbl_5
---------------------------------------------------------------------
Since I have already selected the column in v.in.ascii by putting z=PAR
(which is an integer coming from the GRASS parser and indicating the
column of the ascii file I want to interpolate), how can I get get the
right column while batch processing with v.surf.idw based on PAR (i.e.,
an integer stored in a bash-shell variable)?
Currently I can't do it, so I have to open the attribute table of my
v.in.ascii-imported vector map and guess what is the right column name
to put in v.surf.idw (col=dbl_5 in my sample code), since the original
column names are not there anymore (as to GRASS 6.0.0, v.in.ascii does
not accept column names and I have to get rid of them via a perl script).
In contrast, when using v.surf.rst there is no column specification, you
just have the imported vector map as input parameter and that's it. That
is, v.surf.rst figures out what to interpolate: obviously the z column,
since the input it's a 3D vector map. However, v.surf.idw needs the
attribute table column as an additional input.
Have you figured out a way to automate this step?
What is col=dbl_310.8606 47.3936 4000 100.6? It looks like a row not a
column of you data sample.
Ciao and thanks again for any hint,
Luigi
Michaela Kinberger wrote:
> dear luigi,
>
> i´am also using v.surf.idw (grass6.0.1 suse rpms, and OSX) in batch
> mode. everything works fine.
>
> some lines of my code:
>
> v.in.ascii -z input=file2.txt output=werte_red z=3 fs=' '
> v.surf.idw input=werte_red output=surf_red col=dbl_310.8606 47.3936 4000
> 100.6
>
> this is what the input looks like:
>
> x y z value
> 10.7809 47.5606 4000 128.2
> 11.0068 47.4074 4000 99
> 11.0618 47.4352 4000 135
> 11.3792 47.3069 4000 147.48
> 11.7633 47.4425 4000 139.04
> 11.8919 47.6629 4000 173
> 12.3516 47.7543 4000 174
>
> what goes wrong in your script? is there any error message?
>
> lg
> michaela
>
>
>
>
> Luigi Ponti wrote:
>
>> Hello,
>>
>> I am trying to use v.surf.idw instead of v.surf.rst because it seems
>> to suite better my 105 unequally spaced weather stations in California
>> in terms of interpolated raster: the range of the data is respected
>> and there is no issue of tension and smoothing.
>>
>> I wrote a script to batch-process a series of tables containing
>> geo-referenced data that I import via v.in.ascii for subsequent
>> interpolation.
>>
>> Whith v.surf.rst the imported vector with data points is the only
>> input and the appropriate attribute column has already been selected
>> while importing via v.in.ascii by putting the correct column number=z.
>>
>> However, whith v.surf.idw, in addition to the input vector, there is
>> also a "col" string parameter which selects an attribute table column.
>> So far, I have to open the DBF attribute table (where there are not
>> just 3 columns) and figure out a weird column name such as "dbl_4"
>> that matches the column I want to interpolate (that I have already
>> chosen when importing with v.in.ascii).
>>
>> Why v.surf.rst can access the right column without any other
>> specification and v.surf.idw cannot? Is there a fix for batch processing?
>>
>> Thanks,
>>
>> Luigi
>>
>>
>>
>
More information about the grass-user
mailing list