public interface ILcd2DEllipsoidalBinaryTopology extends ILcd2DBinaryTopology
This interface extends the interface ILcd2DBinaryTopology
with an ellipsoid
property and two properties that are more
specific for the approximate calculations on that ellipsoid:
absoluteTolerance
and relativeTolerance
.
The properties absoluteTolerance
and relativeTolerance
determine how close the
returned results have to be with respect to the actual solutions.
absoluteTolerance
is the acceptable maximum distance error in meters on the solution.
relativeTolerance
is a percentage the calculation can be incorrect relative to the size of the
geometries involved. The actual tolerance used for the calculation is the largest of the relative or absolute
tolerance properties set.
Assume an absolute tolerance of 1m and a relative tolerance of 1e-6. Now suppose the intersection between two long lines of 2000km would be required. A relative tolerance of 1e-6 would result in a 2m error (2.000.000m x 1e-6), which is larger than the 1m absolute tolerance. Therefore, the relative tolerance is used here. If the intersection between two short lines of 10m would be required, the relative tolerance would result in an error of 0.01mm (10m x 1e-6). Such an extremely small tolerance does not have any practical use nor is it attainable. Therefore, the larger absolute tolerance of 1m is used here.
CONTAIN, INSIDE, INTERACT, LINE_INTERSECT
Modifier and Type | Method and Description |
---|---|
double |
getAbsoluteTolerance()
Gets the absolute tolerance (meters) used for approximations.
|
ILcdEllipsoid |
getEllipsoid()
Get the ellipsoid on which the calculations are performed.
|
double |
getRelativeTolerance()
Gets the relative tolerance used for approximations.
|
void |
setAbsoluteTolerance(double aAbsoluteTolerance)
Sets the absolute tolerance (meters) to be used for approximations.
|
void |
setEllipsoid(ILcdEllipsoid aEllipsoid)
Set the ellipsoid on which to perform the calculations.
|
void |
setRelativeTolerance(double aRelativeTolerance)
Sets the relative tolerance to be used for approximations.
|
checkTopology
ILcdEllipsoid getEllipsoid()
setEllipsoid(com.luciad.geodesy.ILcdEllipsoid)
void setEllipsoid(ILcdEllipsoid aEllipsoid)
aEllipsoid
- The new ellipsoid value.getEllipsoid()
double getRelativeTolerance()
setRelativeTolerance(double)
void setRelativeTolerance(double aRelativeTolerance)
aRelativeTolerance
- The new relativeTolerance value.getRelativeTolerance()
double getAbsoluteTolerance()
setAbsoluteTolerance(double)
void setAbsoluteTolerance(double aAbsoluteTolerance)
aAbsoluteTolerance
- The new absoluteTolerance value (meters).getAbsoluteTolerance()