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.


Le jeu. 9 mai 2019 à 22:45, Micha Silver <tsvi...@gmail.com> a écrit :

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

Le jeu. 9 mai 2019 à 04:59, Francois Chartier <fra.chart...@gmail.com> a écrit :
sure i will send that later.  thks

On Thu., May 9, 2019, 04:00 Micha Silver, <tsvi...@gmail.com> wrote:

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

_______________________________________________
grass-user mailing list
grass-user@lists.osgeo.org
https://lists.osgeo.org/mailman/listinfo/grass-user

Reply via email to