2. Préparation de Projet

2.4. Ajout d’une couche d’enquête

Des couches vectorielles peuvent être ajoutées en tant que couche d'enquête pour l'application Input.

Dans cette section, nous allons créer une couche d'enquête pour collecter des données de terrain pour la classification du couvert végétal avec la télédétection.

Les étapes suivantes seront couvertes:

  • Créez une couche de vecteurs de points avec les attributs nécessaires
  • Appliquer des styles aux points
  • Créer un formulaire d'attributs à l'aide de widgets
  • Paramètres du panneau d'aperçu d´Input
Nous continuons avec le même projet de la section précédente.

Créez une couche de vecteurs de points avec les attributs nécessaires

1. Dans le menu principal, accédez à Layer | Create Layer | New GeoPackage Layer....

Create new geopackage layer

2. Cliquez sur le bouton Browse button pour accéder au dossier de votre projet et choisissez le GeoPackage de la section précédente, par ex. survey.gpkg.

3. Pour le nom de table, tapez Groundtruth. Pour le type de géométrie, choisissez Point. Assurez-vous que la projection est réglée sur EPSG: 32632.

4. Nous allons maintenant ajouter les attributs. Un ID d'identité unique est automatiquement généré dans un GeoPackage, nous n'avons donc pas à ajouter l'attribut ID des observations. Ajoutez les attributs comme dans la capture d'écran ci-dessous. Ajoutez-les en utilisant le bouton ajouter à la liste Add to list.

Create Geopackage survey layer

5. Cliquez sur OK lorsque vous avez terminé.

6. Une fenêtre contextuelle vous demandera si vous souhaitez remplacer overwrite ou ajouter une nouvelle couche, add a new layer. Choisissez add a new layer pour qu'il soit ajouté au GeoPackage

Add new layer

Appliquer des styles aux points

L'application Input utilisera le même style que celui défini dans QGIS. Créons une symbologie pour les points.

7. Cliquez sur le boutonOpen Layer Styling Panel buttonpour ouvrir Layer Styling, le panneau de style de couche.
8. Utilisez le moteur de rendu de symbole unique, Single symbol, et cliquez sur Add symbol layerpour ajouter une couche de symboles.

9. Pour la première couche de symboles, rendez la couleur de remplissage Fill color transparente et la couleur de trait Stroke color noir. Augmentez la taille Size à 4 mm et la largeur du trait Stroke width à 1 mm. Pour la deuxième couche de symboles, choisissez une croix comme symbole de repère et choisissez la couleur de trait noir. Augmentez la taille à 8 mm et la largeur de trait à 1 mm.

survey point marker

Créer une forme d'attribut à l'aide de widgets

L'étape suivante consiste à concevoir la forme d'attribut à l'aide de widgets.

10. Faites un clic droit sur la couche Groundtruth et choisissez propriétés Properties ...

11. Dans la fenêtre Properties, accédez à l'onglet Attributes Form, pour le formulaire d'attributs.

Ici, nous pouvons concevoir le formulaire. Nous utiliserons l'option par défaut de génération automatique. Avec les champs, nous voyons tous les attributs de la couche Groundtruth.

12. Cliquez sur fid. Sur le côté droit de la fenêtre, nous pouvons configurer le widget. La valeur de fid est attribuée automatiquement par QGIS et n'a pas besoin d'être modifiée par l'utilisateur. Définissez le type de widget sur masqué hidden pour le rendre invisible dans le formulaire.

No widget for fid

13. Cliquez sur Numéro d'observation, Observation number. Choisissez le widget Edition de texte, Text Edit, et cochez la case Not null sous Contraints. Cela signifie qu'il s'agit d'un champ obligatoire. Conservez les autres champs par défaut.

Observation number widget
14. Cliquez sur Observer. Au type d'alias, Alias Type, tapez nom de l'observateur, Observer name. Choisissez le widget Edition de texte, Text Edit, et cochez la case Not null sous Contraints. Conservez les autres champs par défaut.

15. Cliquez sur Date and Time. Nous n'avons pas besoin d'alias. Le type de widget est automatiquement défini sur Date / Heure. Changez l'affichage du widget Widget Display sur personnalisé Custom et définissez-le comme jj-MM-aaaa HH: mm: ss. Ne cochez pas la case avant la fenêtre contextuelle du calendrier qui est le Calendar popup. Sous Valeurs par défaut Defaults, saisissez la valeur par défaut $now pour que la date / heure actuelle soit automatiquement renseignée.

Date time widget

16. Cliquez sur Picture. Pour Widget Type, choisissez Attachment. Cochez la case Relative paths des chemins relatifs. Sous Integrated document viewer, le visualiseur de documents intégré, choisissez Image. Pour Contraints, cochez la case avant Non null.

17. Cliquez sur Land cover, la couverture du sol. Pour Alias, choisissez Land Cover Class, la classe de couverture terrestre. Pour Widget Type, choisissez Value Map, valeur pour cartes. Avec les valeurs pour cartes, nous pouvons créer des menus déroulants dans l'application Input. Remplissez le tableau comme suit:


Value Description
1 Terres cultivées
2 Couverture d'arbre
3 Arbustes
4 Prairies
5 Zone humide
6 Artificiel
7 Sol nu
8 Jachère
9 Eau saisonnière
10 Eau permanente

18. Définissez Contraints sur Non null. Et mettez la valeur par défaut sur 1, car ce sera principalement la valeur à choisir pour ce qui concerne la cartographie des cultures.

19. Cliquez sur Crop Type, type de culture.

20. Pour Widget Type, choisissez Value Map. Utilisez le tableau suivant:


Value Description
1 Blé
2 Maïs
3 Riz
4 Orge
5 Soja
6 Légumineuses
7 Coton
8 Pommes de terre
9 Luzerne
10 Sorgho

21. Dans Contraints, écrivez l'expression suivante: "Land cover" = 1. Cela signifie que cela ne peut être rempli que lorsque la couverture du sol est égale à 1. En cochant la case, Enforce expression constraint qui est d´appliquer la contrainte d'expression, vous pouvez empêcher les utilisateurs de modifier la restriction.

22. Pour le champ Water Source, source d'eau, le type de widget est Value map, valeur pour cartes. Remplissez le dialogue comme indiqué sur la capture d'écran ci-dessous.

Water source widget
23. Pour Irrigation method, la méthode d'irrigation, remplissez le dialogue comme indiqué sur la capture d'écran ci-dessous:
Irrigation method widget

24. Pour Coverage, la couverture, utilisez la capture d'écran suivante:

coverage widget

25. Pour Size, la taille, utilisez la capture d'écran ci-dessous:

Field size widget

26. Pour les Notes, utilisez ceci:

Notes widget

27. Cliquez sur OK.

28. Ouvrez la table attributaire de la couche Groundtruth et passez en mode Formulaire à l'aide du bouton Form View buttonpour vérifier les widgets.


Paramètres du panneau d'aperçu d'Input

Semblable à Google Maps, lorsqu'une entité est identifiée sur la carte, un panneau de prévisualisation apparaît. Pour activer une couche en cours d'identification, l'option doit être activée dans QGIS Desktop, sous Project properties, propriétés du projet.

29. Pour définir le panneau de prévisualisation, vous devez cliquer avec le bouton droit de la souris sur la couche Groundtruth et choisir Proprieties. Sélectionnez ensuite l'onglet d´affichage Display.

  • title - cela utilisera "Display Name" qui peut être un nom de champ ou une expression.

  • content, contenu - il existe trois options pour ce qui doit être affiché dans la zone de contenu: 1. Field value, valeurs de champ, 2. image, 3. HTML. Cela utilisera "HTML Map Tip". QGIS interprète toujours le contenu de map tip  comme étant HTML, cependant Input étend la syntaxe pour autoriser deux modes supplémentaires. Si map tip n'est pas spécifié, Input essaiera d'utiliser les trois premiers champs et afficher leurs valeurs d'attribut.

Valeurs de champ

Exemple de contenu de map tip qui affichera les valeurs des champs "description" et "heure":

# champs
fid
date and time

Si le contenu de map a un marqueur # champs sur la première ligne, les lignes suivantes seront considérées comme des noms de champs qui doivent être répertoriés dans l'aperçu. Au plus trois champs seront affichés. Les expressions ne sont pas autorisées.

Image

Exemple de contenu de map tip qui entraînera l'affichage d'une image spécifiée par le chemin de localisation du fichier dans le champ "image_1" (contenant le chemin de localisation relatif au répertoire du projet):

# image
file:///[%@project_folder%]/[% "Picture" %]

Si la map tip a # image sur la première ligne, la ligne suivante est considérée comme l'URL de l'image. Il peut s'agir d'un fichier normal sur le système de fichiers, mais il peut même s'agir d'une image distante du réseau. Les expressions intégrées dans l'URL de l'image seront évaluées (entre [% 1 + 1%]).

HTML

Exemple de contenu map tip qui affichera le rendu sous forme de page HTML:

<p><strong>Notes:</strong>[% "notes" %]</p>

Si map tip ne contient aucun marqueur spécial, on suppose que le contenu de map tip est sous format HTML. Seul un sous-ensemble limité de HTML est pris en charge - voir https://doc.qt.io/qt-5/richtext-html-subset.html