#1 Mon 18 May 2020 09:09
- BenB
- Participant actif
- Date d'inscription: 29 Dec 2015
- Messages: 121
QGIS/QField: relation 1-n et creation de nouveau objet
Bonjour à tous,
je bloque sur des relations 1-n qui ne sont pas conservées dans Qfield lors de la synchronisation de mon projet QGIS.
J'ai créé une base Postgis pour le métier éclairage public. j'ai deux tables :
-les candélabre
-les luminaires.
un candélabre peut avoir 1 ou N luminaires.
les agents doivent mettre à jours des infos sur les candélabres déjà existants et/ou en créé des nouveaux.
J'ai fait une table géométrique pour les candélabre et une table postgres pour les luminaires. J'ai crée des champs serial (gid) pour les deux (clef primaire) et une clef étrangère pour les luminaires pointant vers le gid des candélabres. J'ai crée mon projet QGIS et mis en place la relation entre les deux tables. La mise à jours et la création de nouveau candélabre et des luminaires associés fonctionne très bien sur QGIS. je retrouve les champs des luminaires dans le formulaire de saisie des candélabres. Le gid s’incrémente très bien, et la table luminaire va bien chercher le gid du candélabre associé.
Mon problème est que quand je prépare mon projet pour QFIELD avec QFIELDSync, celui-ci crée un champ fid qui prend le rôle du gid. Sous QFIELD le gid n'est plus incrémenté lors de la création d'un nouveau candélabre, il est donc impossible de créé un nouveau luminaire lié à un candélabre car la relation basée sur le gid ne fonctionne plus.
La mise à jours de candélabre existant fonctionne très bien sous QFIELD, par contre ce problème m'enpecher la création de nouveau point lumineux sur le terrain.
Peut être qu'il est impossible de faire ce style de projet avec l'association QFIELD / postgis ? Dois-je partir sur une base géo package directement ou SpatiaLite ?
Avez-vous des retours d’expériences ?
En vous remerciant.
Hors ligne
#2 Mon 18 May 2020 12:15
- BenB
- Participant actif
- Date d'inscription: 29 Dec 2015
- Messages: 121
Re: QGIS/QField: relation 1-n et creation de nouveau objet
Ok j'ai trouvé l'explication
en faisant un test avec une base spatialite avec la meme configuration de relation 1-n, j'ai pu avoir une autre option dans le configurateur de couche de QFIELDSync : l'action "copier". Ainsi il conserve la relation entre mes couches et ne crée pas de fid.
Il me reste un problème : Pour un projet basé sur Postgis QFIELDSync ne propose pas l'option "copier"
J'ai seulement le choix entre "supprimer", "aucune action", "édition hors ligne"
Hors ligne