package edu.sc.seis.sod.subsetter; import org.w3c.dom.Element; import edu.iris.Fissures.model.QuantityImpl; import edu.iris.Fissures.model.UnitImpl; import edu.iris.Fissures.model.UnitRangeImpl; import edu.sc.seis.fissuresUtil.bag.DistAz; import edu.sc.seis.sod.ConfigurationException; import edu.sc.seis.sod.SodElement; import edu.sc.seis.sod.SodUtil; /** * DistanceRange.java Created: Mon Apr 8 16:09:49 2002 * * @author Srinivasa Telukutla */ public class DistanceRangeSubsetter implements SodElement { public DistanceRangeSubsetter(Element config) throws ConfigurationException { processConfig(config); } public void processConfig(Element config) throws ConfigurationException { unitRange = SodUtil.loadUnitRange(config); if(((UnitImpl)unitRange.the_units).isConvertableTo(UnitImpl.KILOMETER)) { QuantityImpl min = new QuantityImpl(unitRange.getMinValue(), unitRange.getUnit()); QuantityImpl max = new QuantityImpl(unitRange.getMaxValue(), unitRange.getUnit()); unitRange = new UnitRangeImpl(DistAz.kilometersToDegrees(min.getValue(UnitImpl.KILOMETER)), DistAz.kilometersToDegrees(max.getValue(UnitImpl.KILOMETER)), UnitImpl.DEGREE); } } public edu.iris.Fissures.UnitRange getUnitRange() { return unitRange; } public QuantityImpl getMin() { return new QuantityImpl(getUnitRange().min_value, getUnitRange().the_units); } public QuantityImpl getMax() { return new QuantityImpl(getUnitRange().max_value, getUnitRange().the_units); } private UnitRangeImpl unitRange; }// DistanceRange