public interface Precision extends Comparable<Precision>
A precision model defines a grid of allowable points. The round(org.opengis.geometry.DirectPosition)
method allows to
round a direct position to the nearest allowed point. The getType()
method describes the
collapsing behavior of a direct position.
Precision
instances can be sorted by their scale.
Modifier and Type | Method and Description |
---|---|
int |
compareTo(Precision other)
Compares this precision model with the specified one.
|
double |
getScale()
Multiplying factor used to obtain a precise ordinate.
|
PrecisionType |
getType()
Returns the type of this precision model.
|
void |
round(DirectPosition position)
Rounds a direct position to this precision model in place.
|
int compareTo(Precision other)
compareTo
in interface Comparable<Precision>
other
- Other precision model to compare against.double getScale()
Multiply by this value and then divide by this value to round correctly:
So to round todouble scale = pm.getScale(); return Math.round(value * scale) / scale;
3
significant digits we would have a scale of 1000
. Tip: the
number of significant digits can be computed as below:
int significantDigits = (int) Math.ceil(Math.log10(pm.getScale()));
PrecisionType getType()
void round(DirectPosition position)
It is likely that a Precision
instance will keep different rounding rules for
different axis (example x & y ordinates may be handled differently then
height), by always rounding a direct position as a whole we will enable this functionality.
Copyright © 1996–2019 Geotools. All rights reserved.