Table of Contents

Development

FIXME

2022 Pandemic Edition

FIXME

Suggested Improvements

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

Operating System

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

Install the ssh server

sudo apt install openssh-server

Network

Software

IDE

If you need to switch to KDE first https://itsfoss.com/install-kde-on-ubuntu/

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):

sudo apt-get update
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

or

sudo apt-get install
Y bison
Y cmake
Y doxygen 
Y flex
Y git
Y graphviz
Y grass-dev 
Y libexpat1-dev
Y libfcgi-dev
Y libgdal-dev
Y libgeos-dev
Y libgsl0-dev
Y libopenscenegraph-dev 
Y libosgearth-dev
Y libpq-dev
Y libproj-dev
Y libqca2-dev
Y libqscintilla2-dev
Y libqt4-dev
Y libqt4-opengl-dev
Y libqtwebkit-dev
Y libqwt5-qt4-dev
Y libspatialindex-dev
Y libspatialite-dev
Y libsqlite3-dev
Y lighttpd
Y locales
Y pkg-config
Y poppler-utils
Y pyqt4-dev-tools
Y python-all
Y python-all-dev
Y python-qscintilla2
Y python-qt4
Y python-qt4-dev
Y python-qt4-sql
Y python-sip
Y python-sip-dev
Y spawn-fcgi
Y txt2tags
Y xauth
Y xfonts-100dpi xfonts-75dpi xfonts-base xfonts-scalable
Y xvfb
mkdir ~/work
cd ~/work
git clone git://github.com/qgis/QGIS.git
cd QGIS
git fetch
git checkout release-2_14
cd ~/work
svn checkout http://svn.code.sf.net/p/qwt/code/tags/qwt-6.1.2 qwt-6.1.2
cd ~/work/qwt-6.1.2
qmake
make
sudo make install
sudo apt-get install cmake-curses-gui
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 -j4
sudo make install
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/

Check out LVIS Backend Source

cd ~/work
svn co https://svn.yancich.com:8443/svn/NASA/LVIS/trunk/lvisF

Check out GUI Source

mkdir ~/work/lvisf-gui
cd ~/work
# svn co svn+ssh://gs694-lvisdev.gsfc.nasa.gov/srv/svn/lvisf-gui
# since our Yancich IT Security incident hehe, we have to use the local IP
svn co svn+ssh://10.4.1.1/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