georchestra / cadastrapp

Cadastre application for geOrchestra
GNU General Public License v3.0
10 stars 19 forks source link

[model] Ajout de parcelle.inspireid dans le script QGIS ? #363

Closed MaelREBOUX closed 5 years ago

MaelREBOUX commented 6 years ago

@spelhate et moi-même on a rencontré le problème classique :

ERREUR:  la colonne « inspireid » n'existe pas
CONTEXT:  Error occurred on dblink connection named "unnamed": could not execute query.
ERREUR:  la relation « cadastrapp.parcelledetails » n'existe pas

On fait face à un truc non documenté mais connu : avant de lancer le scripts QGIS il faut exécuter ce script sur la base QGIS source.

Il serait temps amha de faire jouer ce SQL par le script. Vu que les tests récents en v 2017 montre que c'est du durable.

Vos avis @jusabatier @landryb ?

landryb commented 6 years ago

Ca me va, je n'utilise pas le script shell de toute façon... mais il faut bien faire attention a ce que le champ soit ajouté dans le bon schéma, et que l'utilisateur pour la base qgis/arcopole défini dans https://github.com/georchestra/cadastrapp/blob/master/script/qgis/createDBUsingQgisModel.sh#L55 ait les droits d'écriture sur la db/schéma source.. ce qui n'est pas forcément le cas d'un pt de vue sécu/ACL db, vu que la création des vues matérialisées nécessite uniquement les droits de lecture.

jusabatier commented 6 years ago

Je ne suis pas sur qu'il soit pertinent de jouer ce script automatiquement :

Le script d'initialisation de cadastrapp créé des vues et autres dans le schema cadastrapp. Il ne doit à mon avis pas modifier les données issues du cadastre QGIS. Comme a dit landry, le script n'est censé faire que de la lecture sur la BDD cadastre.

Je pense qu'il faudrait changer la façon de fonctionner pour ne plus avoir à modifier directement la BDD cadastre. Pour cela je pense qu'au lieu de devoir lancer ce script pour ajouter un champ inspireid dans la BDD cadastre, il serait préférable que lors de la création de la DB cadastrapp on créé une table de correspondance liant un id de parcelle à un inspireid. Cela permettrait de ne pas altérer la BDD cadastre.

Vos avis ?

landryb commented 6 years ago

Je suis entièrement d'accord avec @jusabatier . On se base sur un schéma existant, un ticket est ouvert depuis 2015 pour ajouter le champ la-base (3liz/QgisCadastrePlugin#55) mais je n'ai toujours pas de justification fonctionelle sur la nécessité de ce champ, autant pour le plugin qgis que pour nos besoins dans cadastrapp. Une lubie inspire ?

C'est pour moi une aberration de devoir modifier le schéma avec les pbms de droits en écriture que ca peut créer.

jusabatier commented 6 years ago

Surtout que si ça consiste juste à rajouter FR devant l'IDU, il n'y a même pas besoin d'une table de correspondance, un simple champ virtuel dans la vue cadastrapp est largement suffisant.

Après il faudrait savoir à quoi sert exactement ce champ car en effet à part dans le SQL des script d'init, il n'est réutilisé absolument nulle part dans cadastrapp...

Eventuellement penser à le supprimer si inutile.

MaelREBOUX commented 6 years ago

je n'ai toujours pas de justification fonctionelle sur la nécessité de ce champ, autant pour le plugin qgis que pour nos besoins dans cadastrapp. Une lubie inspire ?

Oui : obligation réglementaire INSPIRE qui s'impose à nous tous désormais. Mais ça va plus loin car c'est l'opportunité d'avoir un id unique sur France entière. ex : FR35238000BI0319

un simple champ virtuel dans la vue cadastrapp est largement suffisant

oui mais indispensable... pour la diffusion.

jusabatier commented 6 years ago

Oui mais pour le coup ce n'est pas utilisé fonctionnellement dans cadastrapp.

La diffusion est-elle de la responsabilité de cadastrapp ?

Pour moi ce n'est pas à cadastrapp de gérer la création de ce champ si lapplication ne l'utilise pas, mais à l'administrateur de la plateforme si il le souhaite. Or actuellement on est obligé de générer ce champ en modifiant la donnée cadastrale...

Deplus il me semble que l'id unique au niveau de la france est déjà assuré par le champ geoparcelle, et ne porte pas que sur l'etendue spatiale mais aussi temporelle (prefixé par l'année).

MaelREBOUX commented 6 years ago

Tu as raison mais il y a de très forte chances que la couche des parcelles pour INSPIRE et pour cadastrapp soit la même sur nos infras.

Le préfixe par l'année EDIGEO ou Majic est une aberration. Il faut que cette fonction soit assurée par un attribut spécifique à la maj des données. On en a parlé rapidement au détour de tickets mais il va falloir mettre sérieusement le nez dedans car important pour le grosses PF qui ont des départements entiers.

Ca pose le besoin d'une réunion technique sur le sujet non ?

MaelREBOUX commented 5 years ago

Bonjour,

On est retombé hier sur l'absence de inspireid dans le modèle de données QGIS.

En attendant une évolution je viens de rajouter une alerte dans la documentation : https://github.com/georchestra/cadastrapp/commit/05492885286d304a4bc4a498d999197d133acc91

Sur le fond il faudrait que le inspireid soit rajouté dans le modèle de données QGIS. Ce serait plus simple pour tout le monde.

On pense qu'on va faire une issue + proposition de PR en ce sens sur cadastre QGIS.

MaelREBOUX commented 5 years ago

Depuis le merge de https://github.com/3liz/QgisCadastrePlugin/pull/181 On a un attribut inspireid sur les tables parcelle et geo_parcelle.

Je vais proposer une PR pour supprimer la requête manuelle.

MaelREBOUX commented 5 years ago

je laisse encoure ouvert car pour être certain que tout est OK il faut qu'on relance une intégration + une maj cadasrapp. on essaie de faire ça vite.

MaelREBOUX commented 5 years ago

pas vite...

MaelREBOUX commented 5 years ago

OK : le inspireid remonte bien dans la table parcelledetails.