Package org.orekit.rugged.intersection
Class BasicScanAlgorithm
- java.lang.Object
-
- org.orekit.rugged.intersection.BasicScanAlgorithm
-
- All Implemented Interfaces:
IntersectionAlgorithm
public class BasicScanAlgorithm extends Object implements IntersectionAlgorithm
Intersection computation using a basic algorithm based on exhaustive scan.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.
- Author:
- Luc Maisonobe, Guylaine Prat
-
-
Constructor Summary
Constructors Constructor Description BasicScanAlgorithm(TileUpdater updater, int maxCachedTiles, boolean isOverlappingTiles)Simple constructor.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description AlgorithmIdgetAlgorithmId()Get the algorithmId.doublegetElevation(double latitude, double longitude)Get elevation at a given ground point.NormalizedGeodeticPointintersection(ExtendedEllipsoid ellipsoid, Vector3D position, Vector3D los)Compute intersection of line with Digital Elevation Model.NormalizedGeodeticPointrefineIntersection(ExtendedEllipsoid ellipsoid, Vector3D position, Vector3D los, NormalizedGeodeticPoint closeGuess)Refine intersection of line with Digital Elevation Model.
-
-
-
Constructor Detail
-
BasicScanAlgorithm
public BasicScanAlgorithm(TileUpdater updater, int maxCachedTiles, boolean isOverlappingTiles)
Simple constructor.- Parameters:
updater- updater used to load Digital Elevation Model tilesmaxCachedTiles- maximum number of tiles stored in the cacheisOverlappingTiles- flag to tell if the DEM tiles are overlapping: true if overlapping; false otherwise.
-
-
Method Detail
-
intersection
public NormalizedGeodeticPoint intersection(ExtendedEllipsoid ellipsoid, Vector3D position, Vector3D los)
Compute intersection of line with Digital Elevation Model.- Specified by:
intersectionin interfaceIntersectionAlgorithm- Parameters:
ellipsoid- reference ellipsoidposition- pixel position in ellipsoid framelos- pixel line-of-sight in ellipsoid frame- Returns:
- point at which the line first enters ground
-
refineIntersection
public NormalizedGeodeticPoint refineIntersection(ExtendedEllipsoid ellipsoid, Vector3D position, Vector3D los, NormalizedGeodeticPoint closeGuess)
Refine intersection of line with Digital Elevation Model.This method is used to refine an intersection when a close guess is already known. The intersection is typically looked for by a direct
cell intersectionin the tile which already contains the close guess, or any similar very fast algorithm.- Specified by:
refineIntersectionin interfaceIntersectionAlgorithm- Parameters:
ellipsoid- reference ellipsoidposition- pixel position in ellipsoid framelos- pixel line-of-sight in ellipsoid framecloseGuess- guess close to the real intersection- Returns:
- point at which the line first enters ground
-
getElevation
public double getElevation(double latitude, double longitude)Get elevation at a given ground point.- Specified by:
getElevationin interfaceIntersectionAlgorithm- Parameters:
latitude- ground point latitudelongitude- ground point longitude- Returns:
- elevation at specified point
-
getAlgorithmId
public AlgorithmId getAlgorithmId()
Get the algorithmId.- Specified by:
getAlgorithmIdin interfaceIntersectionAlgorithm- Returns:
- the algorithmId
-
-