V3_1.java [src/java/d/soils/rse02_wepot] Revision: default  Date:
/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
package d.soils.rse02_wepot;

import adb.DBResources;
import csip.annotations.Description;
import csip.annotations.Name;
import csip.annotations.Resource;
import static csip.annotations.ResourceType.FILE;
import d.util.WWErosionResultData;
import d.util.WindWaterErosion;
import static d.util.WindWaterErosion.WWE_TIFF_FILE;
import java.util.ArrayList;
import java.util.Arrays;
import javax.ws.rs.Path;

/**
 *
 * @author <a href="mailto:shaun.case@colostate.edu">Shaun Case</a>
 */
@Name("wepot")
@Description("This service computes water and wind erodibility potentials for"
    + " an area of analysis (AoA).  The service clips SSURGO soil mapunits "
    + "with AoA geometry, determines the dominant soil component in the AoA, "
    + "gets parameters from the SSURGO component table, including a climate "
    + "factor from the C Factor layer, and computes the following equations:  "
    + "Wind Erosion Potential = C*I/T ;  Water Erosion Potential = K*(LS)/T")
@Path("d/wepot/3.1")

//@Resource(file = "/data/us_cvalues.zip", type = ARCHIVE)
@Resource(file = "/data/us_cvalues_topo2ras_masked.tif", type = FILE, id = WWE_TIFF_FILE)
@Resource(file = "/data/us_cvalues_topo2ras_masked.tfw", type = FILE, id = "tfw_file")
@Resource(file = "/data/us_cvalues_topo2ras_masked.tif.aux.xml", type = FILE, id = "tifxml_file")

@Resource(from = soils.db.DBResources.class)
@Resource(from = DBResources.class)
public class V3_1 extends V3_0 {

  @Override
  protected void setOutputOdering(WindWaterErosion aoaErosion) {
    aoaErosion.setOutputColumns(new ArrayList<String>(Arrays.asList(
        WWErosionResultData.AOA_AREA, WWErosionResultData.AOA_IFACTOR, WWErosionResultData.AOA_KFACTOR, WWErosionResultData.AOA_TFACTOR,
        WWErosionResultData.CFACTOR, WWErosionResultData.CFACTOR_PCT, WWErosionResultData.CFACTOR_SOURCE,
        WWErosionResultData.WATER_EP, WWErosionResultData.WATER_KFACTOR, WWErosionResultData.WATER_LSFACTOR, WWErosionResultData.WATER_TFACTOR,
        WWErosionResultData.WIND_EP, WWErosionResultData.WIND_IFACTOR, WWErosionResultData.WIND_TFACTOR,
        WWErosionResultData.DOM_WATER_COKEY, WWErosionResultData.DOM_WATER_COMPNAME,
        WWErosionResultData.DOM_WATER_COMPONENT_AREA, WWErosionResultData.DOM_WATER_COMPONENT_AREA_PERCENT,
        WWErosionResultData.DOM_WATER_COMPONENT_SAND, WWErosionResultData.DOM_WATER_COMPONENT_CLAY,
        WWErosionResultData.DOM_WIND_COKEY, WWErosionResultData.DOM_WIND_COMPNAME,
        WWErosionResultData.DOM_WIND_COMPONENT_AREA, WWErosionResultData.DOM_WIND_COMPONENT_AREA_PERCENT,
        WWErosionResultData.DOM_WIND_COMPONENT_SAND, WWErosionResultData.DOM_WIND_COMPONENT_CLAY,
        WWErosionResultData.WEIGHTED_AVG_WATER_EP, WWErosionResultData.HEIGHEST_WATER_EP, WWErosionResultData.HEIGHEST_WATER_EP_AREA, WWErosionResultData.HEIGHEST_WATER_EP_AREA_PERCENT,
        WWErosionResultData.HEIGHEST_WATER_EP_COKEY, WWErosionResultData.HEIGHEST_WATER_EP_COMPNAME, WWErosionResultData.HEIGHEST_WATER_EP_KFACTOR,
        WWErosionResultData.HEIGHEST_WATER_EP_LSFACTOR, WWErosionResultData.HEIGHEST_WATER_EP_TFACTOR,
        WWErosionResultData.WEIGHTED_AVG_WIND_EP, WWErosionResultData.HEIGHEST_WIND_EP, WWErosionResultData.HEIGHEST_WIND_EP_AREA, WWErosionResultData.HEIGHEST_WIND_EP_AREA_PERCENT,
        WWErosionResultData.HEIGHEST_WIND_EP_COKEY, WWErosionResultData.HEIGHEST_WIND_EP_COMPNAME,
        WWErosionResultData.HEIGHEST_WIND_EP_IFACTOR, WWErosionResultData.HEIGHEST_WIND_EP_TFACTOR
    )));
  }
}