Newer
Older
package ac.ed.lurg.landuse;
import java.util.HashMap;
import java.util.Map;
import ac.sac.raster.RasterItem;
/** Used to hold less detailed land-cover information
* This is used in the initalisation phase, after that land-use is used */
public class LandCoverItem implements RasterItem {
private Map<LandCoverType, Double> landcover = new HashMap<LandCoverType, Double>();
private double totalArea;
private double proportionProtectedFract;
private double unavailableFract; // due to slope
public Double getLandCoverArea(LandCoverType landType) {
return getLandCoverFract(landType) * totalArea;
public Double getLandCoverFract(LandCoverType landType) {
Double d = landcover.get(landType);
return d==null ? 0 : d.doubleValue();
/** Area in Mha */
public double getTotalArea() {
return totalArea;
}
/** Area in Mha */
public void setTotalArea(double totalArea) {
this.totalArea = totalArea;
}
public void setLandCoverFract(LandCoverType landType, double d) {
landcover.put(landType, d);
public void setProtectedFract(double proportionProtectedFract){
this.proportionProtectedFract=proportionProtectedFract;
public double getProtectedArea(){
return proportionProtectedFract*totalArea;
}
public double getUnavailableFract(){
return unavailableFract;
}
public void setMaxCropFraction(double maxCropFraction){
this.unavailableFract=1.0-maxCropFraction;
/*public double getTotal() {
double total = 0;
for (double d : landcover.values()) {
total += d;
}
return total;
}*/