/Cockpit-GUI-Design

Developing QT GUI application using ArcGIS C++ API

Primary LanguageC++

GUI Design for Cockpit using ArcGIS

cockpit

System Setup

  • Install Qt Framework 5.15.2 and ArcGIS Runtime SDK v100.14.1 for Qt API on Linux.

  • Open a new terminal and paste the following command:

    mkdir -p ~/dev/cpp/arcgis && cd ~/dev/cpp/arcgis

    Then clone the repositories:

    git clone https://git.unibw.de/angewandte-ki-f-r-dynamische-systeme/cockpit-arcgis.git && git clone https://git.unibw.de/angewandte-ki-f-r-dynamische-systeme/cockpit-helper.git

  • run this command to install GNU Compiler Collection, ZeroMQ3 and OpenGL libraries:

sudo apt-get install build-essential && sudo apt-get install libzmq3-dev && sudo apt install libgl1-mesa-dev

  • Open the Qt Creator and then click on Open Project. Go to your cloned folder cockpit-arcgis and select the .pro file.

  • Create your own developer account on this website: https://developers.arcgis.com/

  • Go to your Dashboard and copy your API Key, then replace it with the value of data_url key in param/gui_param_file.yaml file.

  • Go to Layers section and click on Import Data, select the zip file from the repo. Then copy the Url of a layer and replace it with the value of data_url key in param/gui_param_file.yaml file.

  • Meanings of the layer data can be found here (from page 8): https://tlbg.thueringen.de/fileadmin/TLBG/Vertrieb/testdaten/dlm/4-4_03_basis-dlm-aaa.pdf

  • Install anaconda, create a new conda environment and activate it:

conda create -n simauto conda activate simauto

Afterwards, go to your other cloned folder cockpit-helper and run the following command:

conda env update -n simauto --file environment.yaml && sudo apt-get install wmctrl scrot gawk && pip install guibot pyautogui opencv-python && chmod +x dumpxml.sh getwinidbyname.sh

Unzip the .zip archive and copy the folder to the plugin directory ([X-Plane Directory]/Resources/plugins/)

Known Problems

Air Manager CPU usage is changing when 75" display is connected to the computer. It overloads the CPU, and this situation affects communication pipeline and GUI performance.

Contributions

  • Before a contribution or adding a new feature, a corresponding issue should be created first. This issue should clarify what the contribution will be about.

  • camelCase case type is being used for class, variable and function names.

  • All commits should follow this specific pattern: Issue-\d+ Example: created layout issue-2

  • Merge requests must be approved by at least one developer.

ArcGIS Runtime API for Qt

ArcGIS Developer Glossary

Tutorials

Best Practices