Projet

Général

Profil

Actions

Evolution #125

fermé

Fusionner deux couches (copier/coller) en mappant les champs de deux structures différentes

Ajouté par Pascal Geraut il y a environ 8 ans. Mis à jour il y a environ 2 ans.

Statut:
Fermé
Priorité:
Normal
Assigné à:
-
Version cible:
Début:
10/03/2016
Echéance:
% réalisé:

0%

Temps estimé:
# ref:
2365

Description

DREAL Pays de la Loire
Il s'agit de pouvoir fusionner deux couches ou de copier/coller des objets dans une couche existante de structure attributaire différente : une possibilité de mapper un ou plusieurs attributs serait offerte.

Mis à jour par alain ferraton il y a environ 8 ans

Au moins en 2.14 il est possible de coller les entités dans une table de structure différente. Les champs qui ne sont pas en correspondance sont mis à NULL.

Est-ce que la demande couvre le fait de mapper des champs qui auraient des noms différents dans les deux tables (proche d'un ETL !) ?
Dans ce cas est-ce qu'un algorithme ne serait pas le plus adapté ?

Mis à jour par Pascal Geraut il y a environ 8 ans

C'est typiquement le cas d'une covadisation de données (assez fréquent).
Les champs de la table locale ne correspondent pas un pour un à ceux de la table covadis : il faut faire un mapping comme on le fait avec un ETL (ce qu'on fait actuellement).
Je n'ai pas vu la 2.14 : mais elle le fait dans l'ordre de la structure, pas par reconnaissance du nom de champ ?

Mis à jour par alain ferraton il y a environ 8 ans

A priori c'est bien par reconnaissance de champs commun...ma question était de savoir si c'était satisfaisant pour vous ?
si ça ne l'est pas... je ne crois pas qu'il faille modifier le copier/coller, mais plutôt envisager un nouvel algorithme, à moins que refactor field fasse l'affaire ?

Mis à jour par Pascal Geraut il y a environ 8 ans

OK pour un nouvel algo.
Refactor fields est actuellement utilisé, mais la souplesse n'est pas au RDV : plutôt que de faire un mapping à la volée en copiant/collant, il faut, pour ne pas modifier la couche locale :
- sauvegarder les objets à transférer dans une couche temporaire
- modifier cette couche temporaire avec Refactor
- copier/coller les objets
- détruire cette couche temporaire.
lourd !

Mis à jour par alain ferraton il y a environ 8 ans

Pour être sûr de bien comprendre... vous souhaitez pouvoir indiquer qu'un champ de nom quelconque de la table de départ correspond à un champ de la table d'arrivée.
Bien sûr il faut que le typage soit correct.
Faut-il envisager la possibilité de réaliser des fonctions (calculateur de champs) entre le champ de départ et le champ d'arrivé (par exemple pour un cast,...) ?
Un champ d'arrivé peut-il être le résultat de plusieurs champs de départ (concaténation,...) ?
est-ce que les enregistrements sont toujours en mode 'ajouter' dans la table d'arrivée...

Les champs n'ayant pas de correspondance seraient mis à NULL.

OK ?

Mis à jour par Pascal Geraut il y a environ 8 ans

Complément d'information de Philippe Terme
Si nouvel algo, il doit être capable de :
- Réaliser un ajout d'objets d'une table à une autre par mapping des champs, ok pour bénéficier en plus de la calculatrice pour la mapping
- Lorsque les champs à mapper contiennent un identifiant identique, les attributs et les objets sont remplacés (sorte de jointure)

Mis à jour par alain ferraton il y a environ 8 ans

  • # ref mis à 2363

Pour l'instant mis en relation avec la demande #88 (algorithme de mise à jour d'une couche).
La réalisation fait pour l'instant l'objet de discussions car pas facile.

Mis à jour par alain ferraton il y a environ 8 ans

  • Version cible mis à A_etudier

Mis à jour par alain ferraton il y a presque 8 ans

  • # ref changé de 2363 à 2365

Mis à jour par alain ferraton il y a environ 2 ans

  • Statut changé de Nouveau à Fermé

trop ancien

Actions

Formats disponibles : Atom PDF