Category Archives: Acacia Trees

About acacia trees in the Arava

Acacia Progress

This past winter left above average rainfall in the southern desert regions (50 mm, where the annual average is about 40 mm). As a result, trees and annual plants are all smiling.

Here’s the updated measurements of my acacia seedling:

Acacia Seedling data

Physiological measurements of this tree
located at: Longitude 35d10'18.533"E and Latitude 30d47'33.321"N
Elevation -40 m
Date visited
canopy width (cm.)
height (max)
trunk diameter (cm.)


Acacia seedling April 19, 2014 at 11:00 AM
Acacia seedling – April 19, 2014 at 11:00 AM

My Acacia Seedling 2013

A bike trip out to the wadi where a few small acacia seedlings are struggling to survive showed, not surprisingly, that they were pretty dried up. We’ve learned to expect that in our 40+ degree temperatures thru the summer. But I took measurements of the seedling that I’m following, and the results reinforced my optimism:

Acacia Seedling data

Physiological measurements of this tree
located at: Longitude 35d10'18.533"E and Latitude 30d47'33.321"N
Elevation -40 m
Date visited
canopy width (cm.)
height (max)
trunk diameter (cm.)

I’ll look forward to another visit thru the winter – hopefully after some rainfall – when I expect to see even more growth.

My Acacia seedling

Last week’s bike ride was out to the wadi where “my” acacia seedling is struggling to survive. I was very satisfied to see that, with the cool winter weather, the plant has become green and seems to be doing well. On my last visit, during the scorching summer months, the seedling looked totally dried out and dead, and I wasn’t sure it would pull thru. We haven’t had any rainfall yet, just the lower temperature was enough to allow the plant to start growing again. These thorny buggers have eons of evolution behind them, so I guess they know how to deal with the arid season. I’ll visit again later during the winter and take measurements.

The Mashak-Hatzeva bike route

A great, challenging 30 km. ride.

The kickstand version

This routes takes you over barren hilltops and through typical Arava stream beds. You’ll have the chance to watch rock and cliff formations drift by, and to scan the whole panorama of the Northern Arava from atop one of the high ridges.

The whole derailleur

The route as described is circular, beginning and ending at the Ein Hatzeva road stop.
The trail begins right across the road from the gas station, passing to the left of the Bedouin camp and heading west and slightly south along Wadi Mashak. After about four kilometers you come to the “Springs Route” trail. (A large concrete block marks the entrance to an army firing zone, so this route is to be used only on weekends and holidays.)  You’ll cross the “Springs Route” road and continue west, on a less travelled path. Another kilometer or so will bring you to “Chameleon Rock” (my name). You’ll know it when you see it… Just past this rock the trail enters the narrower part of Wadi Mashak, and soon you’ll reach a fork. Taking the right hand branch, brings you to one of the springs, Ein Mashak, on the “Springs Route”.
Now don’t expect an oasis flowing with clear water. This “spring” and all the others were once artesian, constantly bubbling up salty water, with dense reeds and some palm trees growing in the mud. But they all have been dry for some decades, leaving only the browned remains of the foliage that once grew there.
Looking ahead and slightly to the left you’ll be able to make out the continuation of the road heading uphill.  (Another trail also continues to the right, past the dried spring and short-cuts back to the Springs Route, in case you’re having second thoughts). This first strenuous climb (by foot, for me) will take you to an altitude of +60 meters.  The road stop at Ein Hatzeva is at -145 meters (145 m. below sea level), so do the math…  When you get to the top, while catching your breath, be sure to turn around and take in the scenery.  On clear days, you can see as far north as the Dead Sea, and south beyond Sapir.

Now after climbing back into the saddle, you’ll glide downhill for a kilometer or so, cross an un-named wadi, and then take a left turn at the jeep road to begin the second ascent of this route. Alas, no rest for the weary.  You’ll climb, and climb, some by foot, and some peddling up to +160 m.  Once reaching the ridge, at about 13 kilometers from the start of the trip, you’ll find no trees or bushes at all, only rusted remains of some vehicles, apparently left by the army for training.  From this ridge, you’ll be able to view to the west the mountain range that borders the western side of Nahal Zin with it’s distinctive geological formations. And the canyon just below and to the west is Wadi Hatzeva.
The road along the ridge bends to the south. Follow downhill for a short way, and keep your eye out on the right hand side for a sparsely traveled path which drops down a gully to the west. This path is almost a “single-track”.  At the bottom, turning to the right, you’ll be in Wadi Hatzeva. A short ride along the wadi will bring you past one of the “Oron” phosphate quarries.
Wadi Hatzeva meanders northward then to the east, between sandstone cliffs for a pleasant downhill ride.  Acacia trees along the way offer a bit of shade for a rest and snack. After 5-6 kilometers, the wadi merges with another smaller, dry riverbed from the right.  At this point the trail climbs (just a bit), and carries on for about 2  kilometers till you reach another impressive vantage point, just before a short, steep drop. Taking in the view you’ll clearly see the communication towers at the Ein Hatzeva road stop, and the greenhouses beyond.  After riding down the steep descent, you’ll be at a second spring, Ein Tamid. From here it’s 15-20 minutes clear sailing back to the main road.

Analyzing acacia tree health in the Arava with GRASS GIS

Using the GRASS GIS image analysis modules and color aerial photos, it is possible to create sets of landscape ecology statistics regarding the spread of acacia trees. A  comparison of these statistics for different years will indicate how stable and sustainable the acacia growth is along a particular wadi.

The workflow:

  1. Import a tiff format aerial ortho-photo into GRASS
  2. Using the ortho-photo image as a background, digitize a few training areas
  3. Run the SMAP classifier to create a new landcover map
  4. Isolate the “trees” class into a new map, and run a landscape ecology analysis on that map

Detailed instructions:

Note: commands to be typed in at the terminal are in blue mono typeface

Step 1

Import the original tiff file

GRASS 6.3.0 (ITM):~ > ortho/hatzeva_4_2007.tif out=hatzeva -o

The import creates three raster layers for each of the three color bands, red, green, blue.

GRASS 6.3.0 (ITM):~ > g.mlist rast

We set the region based on one of the rasters.


Now let’s display a composite of the rasters (first start a monitor):

d.mon x0
using default visual which is TrueColor
ncolors: 16777216
Graphics driver [x0] started

Now we choose the analysis area, and reset the region to cover just that area. Run d.where and by clicking in the monitor, choose the north, south, east, west extents to cover an area of one square kilometer.

g.region -p w=223700 e=224700 s=517200 n=518200
projection: 99 (Transverse Mercator)
zone:       0
datum:      towgs84=-48,55,52
ellipsoid:  grs80
north:      518200
south:      517200
west:       223700
east:       224700
nsres:      0.5
ewres:      0.5
rows:       2000
cols:       2000
cells:      4000000

We’ll create a permanent composite raster, clipped to the analysis region, for use in digitizing:

 r.composite out=hatzeva

The new raster will be clipped to the small region. Just to check, let’s display it:

d.rast hatzeva

Step 2

Next we digitize some sample training areas for trees, wadi, and savanna. Run the digitizer starting a new vector layer and with the composite raster as the background.

v.digit -n train bgcmd="d.rast hatzeva"

Some important tips when working with the digitizer.

  1. First, in the v.digit control panel window click the “Settings” button and go to the “Table” tab. Here enter the following columns for the training vector layer: “label” as type character, “label_id” as type integer, and grassrgb as type character.

    v.digit setting windows
    v.digit setting windows
  2. Because of the way the GRASS vector model is designed, each area feature is composed of both a boundary line and a centroid. Both must be digitized. First click the “Zoom in” button to zoom to a specific tree (note the use of the left and center mouse buttons for zooming). Then click the “Digitize new boundary” button.
  3. The area attributes are attached to the area centroid, and not the boundary. Notice in the v.digit control panel window there is a drop down labeled “Mode”. When digitizing boundaries, this will be set to “No category”, and when digitizing the centroids, reset it to “Next not used”. Now  begin marking the edges of a tree with the mouse. Click the right mouse button to finish the feature. screenshot-vdigit
  4. The boundary must be closed. The line will become green if the boundary is closed properly. If the end vertices stay red, then the boundary is not closed. Use the zoom in button to zoom very close to the end points, then use the “Move vertex” button to shift one exactly on top of the other. Now the line should become green.

    A closed boundary
    A closed boundary
  5. Now choose the “Digitize new centroid” button, change the mode to “Next not used” and click to mark a centroid inside the tree boundary. Now click the “Display attributes” button and click on the new centroid. In the attributes window enter “tree” as the label, “1″ as the label_id and “050:160:085″ as the grassrgb value.screenshot-form
  6. Continue in a similar fashion to digitize a few other trees, wadi areas and savanna areas. For wadis, enter the following values as centroid attributes: label=”wadi”, label_id=”2″, grassrgb=”255:255:210″. And for savanna areas enter the centroid attribute values: label=”savanna”, label_id=3, grassrgb=”250:150:040″.

Now we can view the digitized training areas, overlayed on the aerial photo:

g.region rast=hatzeva
d.rast hatzeva
d.vect -a train rgb_col=grassrgb

Finish this step by converting the vector to a raster map (by the same name): in=train out=train use=attr type=area col=label_id rgbcolumn=grassrgb labelcolumn=label

Step 3

Before running the classifier, a few preparatory steps are required. First define the group of raster images that will be used in the classification: group=hatzeva subgroup=hatzeva,,
group [hatzeva] - does not yet exist. Creating...
Adding files to group [hatzeva]
Adding raster map []
Adding raster map []
Adding raster map []
Writing group REF

Next create a signature file using our training map.

i.gensigset trainingmap=train group=hatzeva subgroup=hatzeva signaturefile=hatzeva.sig

The process will run for a few moments. After it finishes we start the actual classification:

i.smap group=hatzeva subgroup=hatzeva signaturefile=hatzeva.sig out=hatzeva_class

This runs for a while, produing many rows of output as it progresses, and finally creates a classified raster called hatzeva_class with three landcover classifications. We set reasonable colors for the classes:

r.colors hatzeva_class col=rules
Enter rules, "end" when done, "help" if you need it.
Data range is 1 to 3
> 1 50:160:85
> 2 255:255:110
> 3 250:150:40
> end
Color table for <hatzeva_class> set to rules

and display the landcover map to check results:

g.region -p rast=hatzeva_class
d.rast hatzeva_class

Step 4

At this point we can already see some basic statistical information about the classification:

GRASS 6.3.0 (ITM):~ > r.stats -a -p hatzeva_class
1 16787.500000   1.68%
2 606434.750000  60.64%
3 376777.750000  37.68%

Here we see the total area and percent area for each category where: 1=trees, 2=wadis, 3=savanna.

But we want to extract specific statistics attuned to landscape ecology analysis. The GRASS suite r.le.* offers several functions along this line. We begin by extracting a map of only the tree patches.

r.mapcalc trees="if( hatzeva_class==1, 1, null() )

This function creates a new raster with pixel value ’1′ where the hatzeva classification value = 1, and NULL everywhere else.

Now we run the r.le.setup module to create a configuration file:

r.le.setup map=trees

This command opens the setup window where we choose the required options. The module allows defining a variety of analysis windows. We will simply use the (default) whole map as the analysis region.  First press ’2′ “Setup a sampling frame”. At the first question “Will the sampling frame use the whole map” press ‘y’. Press ‘y’ a second time to refresh, and then press ’7′ to exit the setup.

Now we run the r.le.patch module. We will choose, as an example, to extract the standard deviation of patch size.

GRASS 6.3.0 (ITM):~ > r.le.patch map=trees sam=w siz=s1,s2

    MAP:      trees
    SAMPLE:      whole map        TRACING:  8 neighbor
          mean patch size
          st. dev. patch size


Tracing patch    1327

The resulting calculation in placed into a directory “r.le.out” as a file named “s1-2.out” . The contents of the file look like:

GRASS 6.3.0 (ITM):~ > cat r.le.out/s1-2.out
Scale  Unit  MN. PATCH SIZE   S.D. PATCH SIZE -- in pixels
    1     1           50.603           91.082

We see that the mean patch (tree) size is 50 sq.m. and the standard deviation is 91.  If a full report of statistics for each indiviual patch is required, we add to the r.le.patch command the “out=…” option to create detailed statistics for each tree:

GRASS 6.3.0 (ITM):~ > r.le.patch map=trees sam=w siz=s1,s2 out=trees.txt

Now, in the r.le.out directory we find an additional text file “trees.txt” with a row for each patch including the patch size, perimeter, perimeter/area ratio and another landscape ecology measurement, the core perimeter/area ratio. This file can be imported into a spreadsheet program for further calculations and graphing.

ale  it    num   att    row  col     size     size     size      per    P/A   CP/A    RCC   number index
  1   1      1     1.0    6  202      112        0        0       50  0.446  1.332    inf        0 0.000
  1   1      2     1.0    8 1203       73        0        0      101  1.384  3.334    inf        0 0.000
  1   1      3     1.0    5 1476       95        0        0       48  0.505  1.389    inf        0 0.000
  1   1      4     1.0    4  608       12        0        0       18  1.500  1.465    inf        0 0.000