On 11/05/2019 3:16, Francois Chartier
wrote:
Sorry i realised later that in my current table i
didnt rename the columns. here are the extract from excel (300 K
pts).
i am using the TopDepthRasterDEM_MASL as the Z elevation,
and the attribute i am interested in are Texture in mm and K
in m/sec
BHID |
Zone |
EAST83 |
NORTH83 |
GTADEM |
MAT1 |
BOTDepthRasterDEM_MASL |
TOPDepthRasterDEM_MASL |
TEXTURE_mm |
BH_Type |
K |
11105041 |
17 |
580165.3 |
4873100 |
279.8977 |
SAND |
277.7976701 |
279.59767 |
1.21 |
WWR |
0.0000050 |
11105041 |
17 |
580165.3 |
4873100 |
279.8977 |
SAND |
275.5976698 |
277.7976701 |
1.21 |
WWR |
0.0000050 |
11105041 |
17 |
580165.3 |
4873100 |
279.8977 |
SAND |
269.1976702 |
275.5976698 |
1.21 |
WWR |
0.0000050 |
11105041 |
17 |
580165.3 |
4873100 |
279.8977 |
SAND |
277.7976701 |
278 |
1.21 |
WWR |
0.0000050 |
11105041 |
17 |
580165.3 |
4873100 |
279.8977 |
SAND |
277.7976701 |
279 |
1.21 |
WWR |
0.0000050 |
11105041 |
17 |
580165.3 |
4873100 |
279.8977 |
SAND |
275.5976698 |
276 |
1.21 |
WWR |
0.0000050 |
First you can start with the suggestion by Moritz, to get the
surface elevation from your DTM uisng v.what.rast.
Then, calculate the depth (from the surface) of each sample with
a simple v.db.update _expression_.
Finally an SQL query in db.execute will get a table of aggregated
texture and K for depth ranges that you choose. This table will be
piped into v.in.ascii to get a new point vector map for each depth
range. (You can run the db.execute command without v.in.ascii to
check that you're getting the results you expect)
Here are the commands:
# 1.Surface elevation
v.db.addcolumn map=borehole_samples column="depth DOUBLE,
surface_elev DOUBLE"
v.what.rast map=borehole_samples raster=dtm
column=surface_elev
# 2.Get Depth of samples
v.db.update map=borehole_samples column=depth
query_column="surface_elev - TOPDepthRasterDEM_MASL"
# 3. Now an aggregate query for the texture and K
# depth from 0 to 10 m
db.execute -c sql="SELECT BHID as bhid, EAST83 AS x, NORTH83
AS y, AVG(TEXTURE_mm) as avg_texture, AVG(K)
as avg_K WHERE depth>=0 and depth<10 GROUP BY bhid,x,y" |
v.in.ascii input=- output=soil_characteristics_0 x=2 y=3
columns="bhid INTEGER, x DOUBLE, y DOUBLE, avg_texture DOUBLE,
avg_K DOUBLE"
# depth from 10 to 20
db.execute -c sql="SELECT BHID as bhid, EAST83 AS x, NORTH83
AS y, AVG(TEXTURE_mm) as avg_texture, AVG(K)
as avg_K WHERE depth>=10 and depth<20 GROUP BY bhid,x,y" |
v.in.ascii input=- output=soil_characteristics_10 x=2 y=3
columns="bhid INTEGER, x DOUBLE, y DOUBLE, avg_texture DOUBLE,
avg_K DOUBLE"
# and so on for all the depth
ranges you need.
OK, please clarify what each column reprepsents.
On
10/05/2019 5:25, Francois Chartier wrote:
V.DB.SELECT
cat,int_1,int_2,dbl_1,dbl_2,dbl_3,str_1,dbl_4,dbl_5,dbl_6,str_2,dbl_7
cat, bore_id??, ??, easting?, northing?, depth?, soil_type,
??, ??, bulk_density??, WWR ?, hydraulic_conduct??
1,11105041,17,580165.3,4873100,279.89767,SAND,277.7976701,279.59767,1.21,WWR,5e-006
2,11105041,17,580165.3,4873100,279.89767,SAND,275.5976698,277.7976701,1.21,WWR,5e-006
3,11105041,17,580165.3,4873100,279.89767,SAND,269.1976702,275.5976698,1.21,WWR,5e-006
4,11105041,17,580165.3,4873100,279.89767,SAND,277.7976701,278,1.21,WWR,5e-006
5,11105041,17,580165.3,4873100,279.89767,SAND,277.7976701,279,1.21,WWR,5e-006
6,11105041,17,580165.3,4873100,279.89767,SAND,275.5976698,276,1.21,WWR,5e-006
7,11105041,17,580165.3,4873100,279.89767,SAND,275.5976698,277,1.21,WWR,5e-006
sure i will send that later. thks
On
08/05/2019 16:10, Moritz Lennert wrote:
On 8/05/19 15:03,
Francois Chartier wrote:
Hi Micha,
I have soil samples from boreholes where i
have data points at every meter interval and
where soil type changes. i would like to
create a weighted average of soil property
for lets say the first 1 m below the DEM, so
that i can evaluate potential for
infiltration across a watershed.
You can use v.what.rast to read the DEM value
into the attribute table of your points. Then
you can do whatever calculations you need
based on that.
Moritz
After Moritz's answer, It seems that your
question is a data aggregation problem. If we
can see the actual structure of your data
(i.e. v.info -c
or v.db.select then more specific
responses might be possible. Best would be a
small subset of the actual data.
On Wed., May 8, 2019, 08:17 Moritz Lennert,
<mlenn...@club.worldonline.be
<mailto:mlenn...@club.worldonline.be>>
wrote:
On 8/05/19 14:00, Micha Silver wrote:
> You will most likely have to
convert the points to raster. But
before
> that, can you explain what you
mean by "located for 10 m from
DEM", "10
> to 20".
Or, if you mean zones of equal height,
you can transform them to vector
polygons and use v.vect.stats on these
polygons and the points.
Moritz
>
>
> On 08/05/2019 13:31, Francois
Chartier wrote:
>> Hi
>>
>> I would like to use mapcalc
with types of input a DEM (raster)
and xyz
>> property (vector). basically,
I would like to do a weighted
average
>> of data points located for 10
m from DEM, then 10 to 20 etc.
>>
>>
_______________________________________________
>> grass-user mailing list
>> grass-user@lists.osgeo.org
<mailto:grass-user@lists.osgeo.org>
>> https://lists.osgeo.org/mailman/listinfo/grass-user
>
> --
> Micha Silver
> Ben Gurion Univ.
> Sde Boker, Remote Sensing Lab
> +972-523-665918
>
>
>
_______________________________________________
> grass-user mailing list
> grass-user@lists.osgeo.org
<mailto:grass-user@lists.osgeo.org>
> https://lists.osgeo.org/mailman/listinfo/grass-user
>
_______________________________________________
grass-user mailing list
grass-user@lists.osgeo.org
https://lists.osgeo.org/mailman/listinfo/grass-user
--
Micha Silver
Ben Gurion Univ.
Sde Boker, Remote Sensing Lab
cell: +972-523-665918
--
Micha Silver
Ben Gurion Univ.
Sde Boker, Remote Sensing Lab
cell: +972-523-665918
--
Micha Silver
Ben Gurion Univ.
Sde Boker, Remote Sensing Lab
cell: +972-523-665918
|