Skip to content

A simplified touch optimized interface for QGIS

License

Notifications You must be signed in to change notification settings

PiassaGuilherme/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 being developed, 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

Building QField is a multi layered process with more than a few caveats. Luckily there is a super simple build script that does the dirty work for you.

./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

For iOs

For Desktop

In general it's much easier to develop on Desktop where you get quick feedback and a step by step debugger.

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++ 58.5%
  • QML 23.9%
  • CMake 10.9%
  • Java 2.3%
  • Shell 1.7%
  • Perl 1.4%
  • Other 1.3%