V3_0.java [src/java/m/watershed/average_slope] 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 m.watershed.average_slope;
//
//import csip.ModelDataService;
//import csip.annotations.Name;
//import csip.annotations.Resource;
//import javax.ws.rs.Path;
//import m.watershed.Resources;
//import static m.watershed.Resources.D8;
//import static m.watershed.Resources.GDAL;
//import static m.watershed.Resources.LOCATION_MNT_DATA1;
//import static m.watershed.Resources.MPI;
//import static m.watershed.Resources.OGR;
//import static m.watershed.Resources.PITREMOVE;
//import static m.watershed.Resources.PYTHON;
//import static m.watershed.Resources.ZONALSTATS;
//import static m.watershed.Utils.exec;
//import static m.watershed.Utils.checkExist;
//import csip.annotations.Description;
//import org.apache.commons.io.FileUtils;
//import org.codehaus.jettison.json.JSONObject;
//
///**
// * average_slope
// *
// * @author @author HK (using JK's template (using OD's template))
// */
//@Name("average_slope")
//@Description("Example of average_slope")
//@Path("m/average_slope/3.0")
//@Resource(from = Resources.class)
//public class V3_0 extends ModelDataService {
//
// static final String BOUNDARY = "boundary";
// static final String RESULTID = "result_ID";
//
// String ID = "";
//
//
// @Override
// protected void preProcess() throws Exception {
// //Import user specified boundary
// JSONObject boundary = parameter().getJSONArray(BOUNDARY).getJSONObject(0);
// FileUtils.writeStringToFile(workspace().getFile("boundary.geojson"), boundary.toString());
// ID = parameter().getString(RESULTID);
// }
//
//
// @Override
// protected void doProcess() throws Exception {
//
// int threads = Resources.mpiThreads(parameter());
//
// checkExist(workspace().getDir(), "boundary.geojson");
//
// exec(resources(), LOG,
// OGR,
// "-t_srs", "EPSG:5070",
// "-f", "ESRI Shapefile",
// workspace().getFile("boundary.shp"),
// workspace().getFile("boundary.geojson")
// );
//
// checkExist(workspace().getDir(), "boundary.shp");
//
// exec(resources(), LOG,
// GDAL,
// LOCATION_MNT_DATA1 + "/DEM.vrt",
// workspace().getFile("DEM_clip0.tif"),
// "-crop_to_cutline",
// "-cutline",
// workspace().getFile("boundary.shp"),
// "-multi",
// "-of", "GTiff",
// "-co", "TILED=YES",
// "-co", "COMPRESS=LZW",
// "-co", "BIGTIFF=YES",
// "-ot", "Float32",
// "-co", "NUM_THREADS=" + threads,
// "-wo", "NUM_THREADS=" + threads,
// "--config",
// "GDAL_CACHEMAX", "1000",
// "-wm", "1000"
// );
//
// checkExist(workspace().getDir(), "DEM_clip0.tif");
//
// exec(resources(), LOG,
// GDAL,
// "-t_srs", "EPSG:5070",
// "-tr", "30", "30",
// "-r", "cubicspline",
// workspace().getFile("DEM_clip0.tif"),
// workspace().getFile("DEM_clip.tif")
// );
//
// checkExist(workspace().getDir(), "DEM_clip.tif");
//
// exec(resources(), LOG,
// MPI,
// "--allow-run-as-root",
// "--path", resources().getFile(PITREMOVE).getParent(),
// "-wdir", workspace().getDir(),
// "--oversubscribe",
// "-np", threads,
// resources().getFile(PITREMOVE).getName(),
// "-z", workspace().getFile("DEM_clip.tif"),
// "-fel", workspace().getFile("dem_fill.tif")
// );
//
// checkExist(workspace().getDir(), "dem_fill.tif");
//
// exec(resources(), LOG,
// MPI,
// "--allow-run-as-root",
// "--path", resources().getFile(D8).getParent(),
// "-wdir", workspace().getDir(),
// "--oversubscribe",
// "-np", threads,
// resources().getFile(D8).getName(),
// "-fel", workspace().getFile("dem_fill.tif"),
// "-sd8", workspace().getFile("sd8.tif"),
// "-p", workspace().getFile("p.tif")
// );
//
// checkExist(workspace().getDir(), "s8.tif");
//
// // zonal stats
// exec(resources(), LOG,
// PYTHON,
// resources().getFile(ZONALSTATS),
// workspace().getFile("boundary.shp"),
// workspace().getFile("sd8.tif"),
// ID,
// "avg_slope_",
// "False"
// );
// }
//
//
// @Override
// protected void postProcess() throws Exception {
//// results().put(workspace().getFile("boundary.geojson"), "boundary");
//// results().put(workspace().getFile("avg_slope_results.csv"), "results");
// }
//
//}