GIS Custom Analysis

Tamarisk treatment prescriptions are generated by a custom PHP program. The program attempts to minimize the treatment cost scaled by the relative accessibility of each polygon.

The program uses as input three files:

  1. A file of tamarisk polygons, including slope and remoteness cost information
  2. A file of distances between polygon centriods
  3. A file of treatment types and costs (generated manually)

A small section of the centriod distance matrix looks like this:

UID 0 1 2 3 4
0
821.2007 1885.36 3209.405 4230.862
1 821.2007
1067.987 2412.106 3415.427
2 1885.36 1067.987
1365.836 2347.449
3 3209.405 2412.106 1365.836
1089.061
4 4230.862 3415.427 2347.449 1089.061

Whle the tamarisk polygon CSV file contains many additional attributes, the only attributes used to assign treatments are:

VALUE Pct_Cov AREA SlopeMAX CostMEAN
0 30 32245.52 1.040729 604639.9
1 40 534017.3 2.199281 792934.4
2 20 349195.4 11.87033 688089.4
3 30 176957.1 25.8956 1751321
4 10 64491.04 24.53129 2843566

VALUE is the unique identifier for each tamarisk feature
Pct_Cov is the percent canopy closure for this polygon
AREA is the area in square meters
SlopeMAX is the maximum slope in the polygon
CostMEAN is the average cost-distance value for the polygon

The treatment type file contains three treatment types and their associated cost per acre:

Treatment Cost
Manual 3000
Aerial 1000
Mechanical 2000

Treatments are constrained by the following rules:

  • A polygon or group of polygons must have at least 75% cover and 250 acres to be eligible for aerial treatment
  • A polygon or group of polygons must have at least 50% cover an no more than 20% slope to be eligible for mechanical treatment
  • If neither aerial nor mechanical treatment can be used, manual treatment is prescribed
The program groups polygons based on proximity and attribute similarity, attempting to find groups that could be eligible for aerial or mechanical treatment. For each cantidate grouping, a cost (scaled by remoteness) is calculated. Of all groupings evaluated, the grouping with the lowest scaled cost is selected for the final prescription.

The general process flow is:

  • Initially each polygon forms an individual group. Treatments are assigned to each polygon separately.
  • Loop until we can no longer find a better, or at least as good, grouping
    • Generate a new grouping by combining neighbor groups with similar slope and cover percentages.
    • A group with a low-cost treatment can "steal" a polygon from a neighbor group with a higher cost treatment type.
    • Calculate a new treatment cost based on the new grouping
  • Report the final treatments, groupings, and costs
The source code for the program can be found in the Source Code Page of this website.