-
Notifications
You must be signed in to change notification settings - Fork 2
Home
dankrusi edited this page Apr 22, 2012
·
24 revisions
The Optimal Lunar Landing Analysis software is part of the International Space Apps Challege, and serves as a platform for processing lunar data in order to find optimal landing sites for spacecrafts.
The idea is to create an extensible platform for which multiple data sets are used by a series of analysis strategies to come up with a good landing solution while providing strong visual feedback mechanisms for both the strategy development phase and the strategy analysis phase.
- Cross-platform (Linux, OS X, Windows)
- Automatic tiling engine
- Map abstraction
- Responsive user interface with support for 3D acceleration
- Easily extensible
- Multi-threaded computation
- Install the Qt SDK (
sudo aptitude install qt-sdk qt-creator
) - Run
qmake && make
- Install the Qt SDK from [http://qt-project.org/downloads]
- Open the .pro project file with QT Creator and press Run
- Install the Qt SDK from [http://qt-project.org/downloads]
- Run
qmake && make
- Run the application OptimalLunarLandingAnalysis from the bin directory.
- From the File menu, select Open Map... and find the .map file under the maps directory.
- The first time a map is loaded, the framework needs to precalculate some data and create all the tiles. Depending on the map size, this can take a while.
- Use the mouse to pan the map, and the zoom controls to zoom in/out. See how the tiles are loaded on the fly as needed.
- Select the Slope Analysis map to see an example implementation overlay.
- Implement your own strategy by extending the class AnalysisMap:
class SlopeAnalysisMap : public AnalysisMap
{
Q_OBJECT
private:
ElevationDataMap *_elevationMap;
public:
explicit SlopeAnalysisMap(ElevationDataMap *elevationMap, QSettings *settings, QObject *parent = 0) {
// Init
_name = "Slope Analysis";
_elevationMap = elevationMap;
}
virtual double calculateScoreForPoint(int x, int y) {
return _elevationMap->getElevationAtPoint(x,y)/255.0;
}
};
###Linux
###OS X