User Tools

Site Tools


code:work:lvisf:2018gui:start

This is an old revision of the document!


Development

Suggested Improvements

While operating the system in the field, a couple items came up as improvements that could be made in the GUI:

  • re-read / refresh folders when a dialog / file picker box is opened. If the flight plan or weather files were added while the system was running, opening a dialog box did not show the new files.. we had to re-load the software (or pre-position all files ahead of time) This already works. You must remember to select the right type of file from the drop down menu below the directory view
  • a packet counter in the “connect” display (just update once a second) would have helped troubleshoot the applanix network connection issue
  • buttons to force
    • automatically move to next line segment when the plane goes through the end waypoint
    • a way to force “take-off has happened” because restarting in the air, it assumed we never took off again
  • the red dots seemed to stop being there around way points… line starts/stops put holes in the real time trajectory

Operating System

Kubuntu 14.04 LTS (64-bit) http://cdimage.ubuntu.com/kubuntu/releases/trusty/release/kubuntu-14.04.1-desktop-amd64.iso

  • 2018.12.12 attempting with 16.04 LTS (64-bit)

Install the ssh server

sudo apt-get install openssh-server

IDE

KDevelop

sudo apt-get install kdevelop

I am using version 4.6.0 (with KDE 4.13.3)


Libraries

The graphical framework is QT (http://qt-project.org/)
The mapping library is QGIS (based on QT) (http://www.qgis.org/en/site/)

While the latest version of QT is up to 5.X, I've stayed with the latest version of 4 (4.8.6) as it is compatible with QGIS. I use the Qt-based plotting library qwt (http://qwt.sourceforge.net/) to make any plots, but it is also required by QGIS so is installed during the procedure below. Development is being done with QGIS version 2.14.X as it is the latest long-term release candidate.

I followed the install procedure in the QGIS source, which installs all necessary 3rd party libraries including Qt (https://github.com/qgis/QGIS/blob/master/INSTALL):

  • Update local source database
sudo apt-get update
  • Install all build dependencies
sudo apt-get install bison cmake doxygen flex git graphviz grass-dev libexpat1-dev libfcgi-dev libgdal-dev libgeos-dev libgsl0-dev libopenscenegraph-dev libosgearth-dev libpq-dev libproj-dev libqca2-dev libqscintilla2-dev libqt4-dev libqt4-opengl-dev libqtwebkit-dev libqwt5-qt4-dev libspatialindex-dev libspatialite-dev libsqlite3-dev lighttpd locales pkg-config poppler-utils pyqt4-dev-tools python-all python-all-dev python-qscintilla2 python-qt4 python-qt4-dev python-qt4-sql python-sip python-sip-dev spawn-fcgi txt2tags xauth xfonts-100dpi xfonts-75dpi xfonts-base xfonts-scalable xvfb
  • Prepare the development path. I like to create a work directory and put everything there
mkdir ~/work
cd ~/work
  • Clone the QGIS git repo
git clone git://github.com/qgis/QGIS.git
  • Do a fetch to obtain all the remote branch information
cd QGIS
git fetch
  • Checkout the 2.14.X branch
git checkout release-2_14
  • Qwt 6.2.1 (Plotting library update)
    • Download Qwt 6.2.1 for the newest plotting features. The Ubuntu repository currently has version 6.0.0.
svn checkout http://svn.code.sf.net/p/qwt/code/tags/qwt-6.1.2 qwt-6.1.2
  • Navigate to the qwt-6.2.1 folder and and open qwtconfig.pri. Prepend a # to the line QWT_CONFIG += QwtDesigner
  • Make the library and install it
qmake
make
sudo make install
  • Library should install to path /usr/local/qwt-6.1.2/
  • Install CMake
sudo apt-get install cmake-curses-gui
  • Create a dedicated build directory in the QGIS folder and run cmake
cd ~/work/QGIS
mkdir build-master
cd build-master
ccmake ..

Change the Qwt include and library paths to point to where version 6.1.2 is installed, otherwise it will use whatever version was installed from the Ubuntu repository (6.0.0 as of 4/27/2015)

There is an optional dependency on QwtPolar which we don't need. To remove this (after launching the cmake gui) find QWTPOLAR_INCLUDE_DIR and QWTPOLAR_LIBRARY and delete the path. Change the variable WITH_QWTPOLAR to OFF. Proceed with configuring. (see below for test configuration as of 2016.06.16 on Advantech ARK-1550, settings changed)

Parameter Value
QWTPOLAR_INCLUDE_DIR
QWTPOLAR_LIBRARY
QWT_INCLUDE_DIR /usr/local/qwt-6.1.2-svn/include
QWT_LIBRARY /usr/local/qwt-6.1.2-svn/lib/libqwt.so
WITH_QWTPOLAR OFF
  • Make and install (-j4 means four jobs at a time)
make -j4
sudo make install
  • Download the latest Eigen template library from http://eigen.tuxfamily.org/ . Copy the Eigen folder to /usr/local/include/eigen3. There is nothing to build.
cd ~/Downloads
wget http://bitbucket.org/eigen/eigen/get/3.2.8.tar.bz2
cd ~/work
tar -jxvf ~/Downloads/3.2.8.tar.bz2
sudo mkdir /usr/local/include/eigen3
sudo rsync -a ~/work/eigen-eigen-07105f7124f9/Eigen/ /usr/local/include/eigen3/Eigen/
  • Checkout the LVIS Facility GUI repository and open the project file (LVISCommander.kdev4) with KDevelop. You may have to change absolutes paths in the CMakeLists.txt file.
mkdir ~/work/lvisf-gui
cd ~/work
svn co svn+ssh://gs694-lvisdev.gsfc.nasa.gov/srv/svn/lvisf-gui

Create a symlink in the following location to the QGIS install directory Change lvis:lvis and the symlink path to the unique user/setup on your machine

cd /opt
sudo mkdir lvisfgui
sudo chown -R lvis:lvis lvisfgui
cd lvisfgui/
ln -s /home/lvis/work/QGIS
code/work/lvisf/2018gui/start.1544641090.txt.gz · Last modified: 2018/12/12 18:58 by david