Message posté par : AH
----------------------------------------
Bonjour à tous,
Je réalise actuellement des tests avec QField pour permettre à des collègues de faire des
relevés terrain sur divers domaines (localisation d'espèces envahissantes, ouvrages
d'art, décharges sauvages...). Je l'utilise en mode hors-ligne car les zones
blanches sont encore nombreuses sur notre secteur (sinon, en mode connecté, nous passons
par Lizmap).
J'ai donc installé hier la version de QField disponible sur le PlayStore sur une
tablette Samsung Galaxy Tab S3.
Pour le PC, c'est Windows 10 Pro, QGIS 3.4.5, QField Sync 3.2.1, serveur PGSQL 9.6,
PostGIS 2.3.3
J'ai préparé un projet avec quelques couches issues de PGSQL dont une seule est
modifiable via QField. Les couches vectorielles sont paramétrées, pour ce qui est de la
colonne "Action" du plugin QField en "édition hors ligne".
Je récupère le dossier créé, le transfère sur la tablette et ouvre le projet dans QField.
Tout fonctionne correctement, je peux ajouter de nouveaux objets et faire la saisie
attributaire.
Un point me gêne cependant : mes couches PGSQL ont toutes des id de type SERIAL mais dans
QField, je ne retrouve pas cette auto-incrémentation. Pour pouvoir valider la saisie
d'un objet, il faut avoir pris au préalable soin de noter le n° du dernier id pour
saisir manuellement le suivant.
De retour au bureau, je rapatrie mon dossier et resynchronise mes données via le plugin.
J'ai d'abord un message d'erreur :
-----------------
Code :
2020-08-06T15:37:00 WARNING Traceback (most recent call last): File
"C:/Users/xxxxxx/AppData/Roaming/QGIS/QGIS3\profiles\default/python/plugins\qfieldsync\core\offline_converter.py",
line 263, in on_offline_editing_next_layer msg = self.trUtf8('Packaging layer
{layer_name}…').format(layer_name=self.__offline_layers[layer_index - 1].name())
RuntimeError: wrapped C/C++ object of type QgsVectorLayer has been deleted
-----------------
mais au final, les données saisies sur le terrain sont bien réintégrées dans la couche
PGSQL.
Voici donc les questions que je me pose :
Est-il normal que l'auto-incrémentation ne se poursuive pas sur QField ? Ai-je loupé
une étape/un paramétrage qui empêche l'auto-incrémentation de l'id dans QField ?
Cela risque de poser des problèmes de réintégration à terme dans PGSQL surtout si
plusieurs personnes saisissent sur la même couche sur le terrain ? Du coup, faut-il
continuer ainsi ou passer par des fichiers shp pour QField et faire du copier/coller
d'objets dans la couche PGSQL de retour au bureau (pour le coup, les nouveaux objets
seront renumérotés à l'enregistrement de la couche PGSQL) ?
Si la prise de photos sur le terrain se passe bien, le chemin stocké, du type
DCIM/fichier.jpg, n'est plus opérationnel une fois les objets resynchronisés dans
PGSQL. Hormis passer par la calculatrice de champs, est-il possible d'éviter cette
manipulation (j'ai lu sur ce forum que les photos pouvaient être stockées dans un
répertoire propre à la couche mais je n'ai rien trouvé de tel dans le plugin).
Merci par avance de votre aide.
----------------------------------------
Le message est situé
https://georezo.net/forum/viewtopic.php?pid=334706#p334706
Pour y répondre : qgis_fr(a)ml.georezo.net ou reply de votre messagerie
Pour vous désabonner connectez-vous sur le forum puis Profil / Abonnement
--
Association GeoRezo - le portail géomatique
https://georezo.net