public class BasicScanAlgorithm extends Object implements IntersectionAlgorithm
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.
Constructor and Description |
---|
BasicScanAlgorithm(TileUpdater updater,
int maxCachedTiles,
boolean isOverlappingTiles)
Simple constructor.
|
Modifier and Type | Method and Description |
---|---|
AlgorithmId |
getAlgorithmId()
Get the algorithmId.
|
double |
getElevation(double latitude,
double longitude)
Get elevation at a given ground point.
|
NormalizedGeodeticPoint |
intersection(ExtendedEllipsoid ellipsoid,
Vector3D position,
Vector3D los)
Compute intersection of line with Digital Elevation Model.
|
NormalizedGeodeticPoint |
refineIntersection(ExtendedEllipsoid ellipsoid,
Vector3D position,
Vector3D los,
NormalizedGeodeticPoint closeGuess)
Refine intersection of line with Digital Elevation Model.
|
public BasicScanAlgorithm(TileUpdater updater, int maxCachedTiles, boolean isOverlappingTiles)
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.public NormalizedGeodeticPoint intersection(ExtendedEllipsoid ellipsoid, Vector3D position, Vector3D los)
intersection
in interface IntersectionAlgorithm
ellipsoid
- reference ellipsoidposition
- pixel position in ellipsoid framelos
- pixel line-of-sight in ellipsoid framepublic NormalizedGeodeticPoint refineIntersection(ExtendedEllipsoid ellipsoid, Vector3D position, Vector3D los, NormalizedGeodeticPoint closeGuess)
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 intersection
in the tile which already
contains the close guess, or any similar very fast algorithm.
refineIntersection
in interface IntersectionAlgorithm
ellipsoid
- reference ellipsoidposition
- pixel position in ellipsoid framelos
- pixel line-of-sight in ellipsoid framecloseGuess
- guess close to the real intersectionpublic double getElevation(double latitude, double longitude)
getElevation
in interface IntersectionAlgorithm
latitude
- ground point latitudelongitude
- ground point longitudepublic AlgorithmId getAlgorithmId()
getAlgorithmId
in interface IntersectionAlgorithm
Copyright © 2014-2023 CS GROUP. All rights reserved.