Enum AlgorithmId

    • Enum Constant Detail

      • DUVENHAGE_FLAT_BODY

        public static final AlgorithmId DUVENHAGE_FLAT_BODY
        Fast algorithm due to Bernardt Duvenhage.

        The algorithm is described in the 2009 paper: Using An Implicit Min/Max KD-Tree for Doing Efficient Terrain Line of Sight Calculations.

        This version of the duvenhage's algorithm considers the body to be flat, i.e. lines computed from entry/exit points in the Digital Elevation Model are considered to be straight lines also in geodetic coordinates. The sagitta resulting from real ellipsoid curvature is therefore not corrected in this case. As this computation is not costly (a few percents overhead), the full DUVENHAGE is recommended instead of this one. This choice is mainly intended for comparison purposes with other systems.

      • BASIC_SLOW_EXHAUSTIVE_SCAN_FOR_TESTS_ONLY

        public static final AlgorithmId BASIC_SLOW_EXHAUSTIVE_SCAN_FOR_TESTS_ONLY
        Basic, very slow algorithm, designed only for tests and validation purposes.

        The algorithm simply computes entry and exit points at high and low altitudes, and scans all Digital Elevation Models in the sub-tiles defined by these two corner points. It is not designed for operational use.

      • CONSTANT_ELEVATION_OVER_ELLIPSOID

        public static final AlgorithmId CONSTANT_ELEVATION_OVER_ELLIPSOID
        Algorithm that simply uses a constant elevation over ellipsoid.

        Intersections are computed only with respect to the reference ellipsoid and a user-specified elevation. If the user-specified elevation is 0.0, then this algorithm is equivalent to IGNORE_DEM_USE_ELLIPSOID, only slower.

      • IGNORE_DEM_USE_ELLIPSOID

        public static final AlgorithmId IGNORE_DEM_USE_ELLIPSOID
        Dummy algorithm that simply ignores the Digital Elevation Model.

        Intersections are computed only with respect to the reference ellipsoid.

        This algorithm is equivalent to CONSTANT_ELEVATION_OVER_ELLIPSOID when the elevation is set to 0.0, but this one is much faster in this specific case.

    • Method Detail

      • values

        public static AlgorithmId[] values()
        Returns an array containing the constants of this enum type, in the order they are declared. This method may be used to iterate over the constants as follows:
        for (AlgorithmId c : AlgorithmId.values())
            System.out.println(c);
        
        Returns:
        an array containing the constants of this enum type, in the order they are declared
      • valueOf

        public static AlgorithmId valueOf​(String name)
        Returns the enum constant of this type with the specified name. The string must match exactly an identifier used to declare an enum constant in this type. (Extraneous whitespace characters are not permitted.)
        Parameters:
        name - the name of the enum constant to be returned.
        Returns:
        the enum constant with the specified name
        Throws:
        IllegalArgumentException - if this enum type has no constant with the specified name
        NullPointerException - if the argument is null