Code Monkey home page Code Monkey logo

qfield's Introduction

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

qfield's People

Contributors

m-kuhn avatar nirvn avatar signedav avatar 3nids avatar suricactus avatar mbernasocchi avatar marioba avatar dependabot[bot] avatar florida63 avatar jhonalex06 avatar mejiafabiandj avatar domi4484 avatar elpaso avatar rigid avatar github-actions[bot] avatar timlinux avatar gitter-badger avatar qgep-ninja avatar peterpetrik avatar olivierldff avatar geo-ninja avatar bfabio avatar riggsd avatar kant avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.