Skip to content
/ QField Public
forked from opengisch/QField

A simplified touch optimized interface for QGIS

License

Notifications You must be signed in to change notification settings

mmtxcp/QField

 
 

Repository files navigation

Read the documentation Join the chat at https://gitter.im/opengisch/QField Release

QField for QGIS

A simplified touch optimized interface for QGIS.

Perfect for field work on portable touch devices.

Get it

Check the documentation

Android

Get in Google play

Windows (Beta)

Download the latest windows beta version

iOS (Alpha)

An iOS version is in alpha state, subscribe as iOS tester to be among the first to try

Contribute

QField is an open source project, licensed under the terms of the GPLv2 or later. This means that it is free to use and modify and will stay like that.

We are very happy if this app helps you to get your job done or in whatever creative way you may use it.

If you found it useful, we will be even happier if you could give something back. A couple of things you can do are

Get master (unstable) version

We automatically publish the latest master build to a dedicated channel on the playstore. You'll need to join the beta program to start getting the latest version.

Please remember that this is the latest development build and is not tested much.

Build

For Android

Automatic (Docker)

You can build QField for Android using our Docker image. Just execute the provided script:

./scripts/build.sh

This will put the apk into a subfolder build-docker/out/build-arm64_v8a/outputs/apk

If you want to build for a different architecture, set the ARCH enviroment variable.

ARCH=x86_64 ./scripts/build.sh

Manual (Qt Creator)

You need to have Qt for Android installed and Qt Creator set up for Android development as in Qt documentation.

To setup QField for development in Qt Creator, do as follows:

  • Download the latest version of QField SDK from here and extract it.
  • In Qt Creator, import the source tree, enable Android kit and in initial CMake parameters, set OSGEO4A_STAGE_DIR to where you have extracted QField SDK to.
  • Set ANDROID_TARGET_PLATFORM to an Android target platform version number of your choice. If in doubt, set it to the version of the SDK platform that you're going to use to build QField.
  • Configure the project and build.

Please note that you may get SIGILL when trying to debug QField using GDB. If that's the case, set this startup command for GDB in Qt Creator settings:

handle SIGILL pass nostop noprint

For iOs

For Desktop

To build QField for a desktop environment:

  • Get QGIS development libraries. QField normally uses bleeding edge QGIS code. Ideally install nightly builds or compile it on your own and install to a custom prefix path. See more about QGIS compilation here.
  • If your system comes with a Qt version which is too low for QField, you can also install Qt manually. Download the most recent Qt 5.x version from the Qt Website to satisfy QField dependencies. Setup a new QtCreator kit that uses the downloaded Qt libs.
  • Get QField source code:
cd QField
  • Open CMakeList.txt with QtCreator.
  • Hit build

(??)If you make your own QGIS build, use the following variables: QGIS_ANALYSIS_LIBRARY, QGIS_CORE_LIBRARY, QGIS_INCLUDE_DIR, and QGIS_PLUGIN_DIR.

On OS X

In addition to the steps above, in QtCreator's build environment (access via Projects > Build), add the following variables:

  • QGIS_INSTALL_PATH: the same value than in the config.pri (could be /usr/local/opt/qgis3/ or the installation folder of a local build)
  • DYLD_FRAMEWORK_PATH add _QGIS_INSTALL_PATH_/QGIS.app/Contents/Frameworks (replace _QGIS_INSTALL_PATH_)
  • DYLD_LIBRARY_PATH add :_QGIS_INSTALL_PATH_/QGIS.app/Contents/Frameworks/qgis_core.framework/Versions/Current (replace _QGIS_INSTALL_PATH_)

Invalid version number issue

If you get the error invalid version number in '-mmacosx-version-min=', you need to hardcode the minimum deployment target by setting version_min_flag = -m$${version_identifier}-version-min=10.10 in /usr/local/opt/qt/mkspecs/features/mac/default_post.prf.

One line command:

gsed -i "s/version_min_flag = -m\$\${version_identifier}-version-min=\$\$deployment_target/version_min_flag = -m\$\${version_identifier}-version-min=10\.10/" /usr/local/opt/qt/mkspecs/features/mac/default_post.prf

In Qt Creator > Projects > Run >

  • Check Use debug version of frameworks
  • Add a custom deployment step: _QField_SOURCE_DIR_/scripts/mac_deploy.sh with ${QGIS_INSTALL_PATH} as argument.
  • In Debugger settings, check Enable QML

Other issues

If you have any issue with qmake not finding the proper SDK, in /usr/local/opt/qt/mkspecs/features/mac/default_post.prf, replace $$QMAKE_MAC_SDK_PATH (3 occurences) by /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk

About

A simplified touch optimized interface for QGIS

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • C++ 55.5%
  • QML 22.8%
  • CMake 14.1%
  • Perl 2.2%
  • Java 2.1%
  • Shell 1.6%
  • Other 1.7%