public void setForcing(double size, String unit) { forcingSize = size; forcingUnit = new Unit(unit); }
public javax.measure.unit.Unit<?> getPrimaryUnit() { return getPrimaryUnit(_unit); }
public void dump(PrintStream out) { out.println("unit " + _unit); if (_modifier != null) out.println("modifier: " + _modifier); out.println("is" + (isUnitless() ? " " : " not ") + "unitless"); out.println("is" + (isRate() ? " " : " not ") + "a rate"); out.println("is" + (isLengthDensity() ? " " : " not ") + "a lenght density"); out.println("is" + (isArealDensity() ? " " : " not ") + "an areal density"); out.println("is" + (isVolumeDensity() ? " " : " not ") + "a volumetric density"); }
@Override public boolean isSpatialDensity(IExtent space) { if (space instanceof ISpatialExtent) { switch (space.getDimensionSizes().length) { case 0: return false; case 1: return isLengthDensity(); case 2: return isArealDensity(); case 3: return isVolumeDensity(); } } return false; }
/** * Parse a string like "1 km" and return the meters in it. Throw an exception if this * cannot be parsed. * * @param string * @return the resolution in meters * @throws KlabValidationException */ public static double parseResolution(String string) throws KlabValidationException { Pair<Double, String> pd = MiscUtilities.splitNumberFromString(string); if (pd.getFirst() == null || pd.getSecond() == null) throw new KlabValidationException("wrong resolution specification: " + string); Unit uu = new Unit(pd.getSecond()); Unit mm = new Unit("m"); return mm.convert(pd.getFirst().doubleValue(), uu).doubleValue(); }
@Override public Number convert(Number value, IValueMediator unit) { if (!(unit instanceof Unit)) { throw new KlabRuntimeException("illegal conversion " + this + " to " + unit); } UnitConverter converter = ((Unit) unit).getUnit().getConverterTo(_unit); double ret = converter.convert(value.doubleValue()); if (getPrimaryUnit() instanceof IModifiableUnit) { if (((Unit) unit).getPrimaryUnit() instanceof IModifiableUnit) { try { ret *= ((IModifiableUnit) (((Unit) unit).getPrimaryUnit())) .convert((IModifiableUnit) getPrimaryUnit(), ((Unit) unit)._modifier, _modifier); } catch (KlabValidationException e) { throw new KlabRuntimeException(e); } } else { throw new KlabRuntimeException(new KlabValidationException("unit " + this + " has modifiers and can only be converted into another modifiable unit")); } } return ret; }
/** * Return a partially specified space that only serves to complete or force another * into a given grid size. * * @param linearSize * @param unit * @return new space forcing */ public static Space getForcing(double linearSize, String unit) { return new Space(linearSize, new Unit(unit)); }
@Override public int hashCode() { return asText().hashCode(); }
javax.measure.unit.Unit<?> uu = getPrimaryUnit(_unit); if (!(uu instanceof IModifiableUnit)) { throw new KlabRuntimeException("unit " + string
public KIMDistanceObserver(String string, IObservableSemantics obs) { minimumValue = 0; String[] defs = string.split("\\|"); unit = new Unit(defs[1]); if (defs.length > 2) { discretization = new org.integratedmodelling.common.classification.Classification(defs[2]); } observable = obs; }
public KIMMeasurementObserver(String string, IObservableSemantics obs) { String[] defs = string.split("\\|"); unit = new Unit(defs[1]); if (defs.length > 2) { discretization = new org.integratedmodelling.common.classification.Classification(defs[2]); } observable = obs; }
@Override public void deserialize(IModelBean object) { if (!(object instanceof org.integratedmodelling.common.beans.Observer)) { throw new KlabRuntimeException("cannot deserialize a Prototype from a " + object.getClass().getCanonicalName()); } org.integratedmodelling.common.beans.Observer bean = (org.integratedmodelling.common.beans.Observer) object; super.deserialize(bean); unit = new Unit(bean.getUnitOrCurrency()); }
@SuppressWarnings("javadoc") public Space(String definition) { if (definition.startsWith("F!")) { String[] ss = definition.substring(2).split("\\|"); forcingSize = Double.parseDouble(ss[0]); forcingUnit = new Unit(ss[1]); } else { String[] ss = definition.split("\\|"); domain = KLAB.c(NS.SPACE_DOMAIN); multiplicity = Long.parseLong(ss[1]); crs = ss[2]; String[] sz = ss[3].split(","); minx = Double.parseDouble(sz[0]); miny = Double.parseDouble(sz[1]); maxx = Double.parseDouble(sz[2]); maxy = Double.parseDouble(sz[3]); String shapedef = ss[4].trim(); if (!shapedef.isEmpty()) { shape = new ShapeValue(shapedef); } if (ss[5].startsWith("G")) { grid = new Grid(ss[5]); cellLength = (maxx - minx) / gridx; cellHeight = (maxy - miny) / gridy; } else if (ss[5].startsWith("T")) { tessellation = new Tessellation(ss[4]); } } }
@Override public void deserialize(IModelBean object) { if (!(object instanceof org.integratedmodelling.common.beans.Observer)) { throw new KlabRuntimeException("cannot deserialize a Prototype from a " + object.getClass().getCanonicalName()); } org.integratedmodelling.common.beans.Observer bean = (org.integratedmodelling.common.beans.Observer) object; super.deserialize(bean); if (bean.getUnitOrCurrency() != null) { unit = new Unit(bean.getUnitOrCurrency()); } }
@Override public void deserialize(IModelBean object) { if (!(object instanceof org.integratedmodelling.common.beans.Observer)) { throw new KlabRuntimeException("cannot deserialize a Prototype from a " + object.getClass().getCanonicalName()); } org.integratedmodelling.common.beans.Observer bean = (org.integratedmodelling.common.beans.Observer) object; super.deserialize(bean); unit = new Unit(bean.getUnitOrCurrency()); if (bean.getComparisonKnowledge() != null) { originalConcept = Knowledge.parse(bean.getComparisonKnowledge()); } }
@Override public IUnit getArealExtentUnit() { if (_unit instanceof ProductUnit<?>) { ProductUnit<?> pu = (ProductUnit<?>) _unit; for (int i = 0; i < pu.getUnitCount(); i++) { javax.measure.unit.Unit<?> su = pu.getUnit(i); int power = pu.getUnitPow(i); if (su.getDimension().equals(Dimension.LENGTH.pow(2)) && power == -1) { return new Unit(su); } else if (su.getDimension().equals(Dimension.LENGTH) && power == -2) { return new Unit(su.pow(2)); } } } return null; }
@Override public IUnit getLengthExtentUnit() { if (_unit instanceof ProductUnit<?>) { ProductUnit<?> pu = (ProductUnit<?>) _unit; for (int i = 0; i < pu.getUnitCount(); i++) { javax.measure.unit.Unit<?> su = pu.getUnit(i); int power = pu.getUnitPow(i); if (su.getDimension().equals(Dimension.LENGTH) && power == -1) { return new Unit(su); } } } return null; }
@Override public IUnit getTimeExtentUnit() { if (_unit instanceof ProductUnit<?>) { ProductUnit<?> pu = (ProductUnit<?>) _unit; for (int i = 0; i < pu.getUnitCount(); i++) { javax.measure.unit.Unit<?> su = pu.getUnit(i); int power = pu.getUnitPow(i); if (su.getDimension().equals(Dimension.TIME) && power == -1) { return new Unit(su); } } } return null; }
KIMMeasurementObserver(ISemantic observable, String unit2) { if (observable instanceof IObservableSemantics) { this.observable = (IObservableSemantics) observable; } else { this.observable = new ObservableSemantics(observable.getType(), KLAB.c(NS.MEASUREMENT), CamelCase .toLowerCase(observable.getType().getLocalName(), '-')); ((ObservableSemantics) this.observable).setObserver(this); } this.unit = new Unit(unit2); }