banniere

Le portail francophone de la géomatique


Toujours pas inscrit ? Mot de passe oublié ?
Nom d'utilisateur    Mot de passe              Toujours pas inscrit ?   Mot de passe oublié ?

Annonce

Rencontres QGIS 2025

L'appel à participation est ouvert jusqu'au 19 janvier 2025!

#1 Thu 18 September 2008 12:21

NEJJARI
Participant actif
Lieu: METZ
Date d'inscription: 12 Feb 2007
Messages: 99

SQL Mapinfo

Bonjour

J'ai joint une image de mon problème avec la structure de mes tables. Il faut jeter un coup d'oeil avant de lire la suite wink

Je précise que la structure des deux champs communs aux deux tables (section et num_parcelle) est identique.

1) Ce que je souhaite c'est arriver à ajouter surtout le champ "propriétaires" (et les autres champs si cela est possible) de la table issue d'excel à ma table vecteur parcellaire.
2) Lorsque il y a plusieurs propriétaires sur la table excel pour la même parcelle sur la table vecteur, est-il possible d'avoir cette info sur cette dernière séparée par un _ ou /
3/ Faut-il faire cette manip déja sur excel (cad rassembler les différents propriétaires de la même parcelle dans une même cellule), dans ce cas, faut-il faire ça manuellement sous excel ou il y a moyen de faire ça automatiquement ...et si des lumières en excel peuvent me guider dans la manip, merci d'avance.
Merci

Dernière modification par Maurice (Thu 18 September 2008 12:52)


Fichier(s) joint(s) :
Pour accéder aux fichiers vous devez vous inscrire.

Hors ligne

 

#2 Thu 18 September 2008 12:56

Spacejo
Membre
Lieu: Nancy
Date d'inscription: 17 Aug 2008
Messages: 2511

Re: SQL Mapinfo

Salut NEJJARI,

Pourquoi n'effectues tu pas une jointure sur tes deux tables avec comme champ commun soit section soit Num_Parc
En espèrant que cela t'aide
A+ (Collègue de l'Est smile)
Joël

Hors ligne

 

#3 Thu 18 September 2008 13:07

Maurice
Membre
Lieu: Montpellier
Date d'inscription: 5 Sep 2005
Messages: 5331

Re: SQL Mapinfo

Bonjour
Pas si simple...
Déjà, la jointure doit se faire sur la concaténation "section+num_parcel"
Ensuite il faudrait utilisé les vertus du rapport de tableau croisé dynamique d'Excel pour préparer une feuille où apparait pour un "section+num_parcel" une colonne proprio_1, une autre proprio_2 jusqu'à proprio_x (colonnes qu'on peut ensuite réunir en une seule ("proprio_1 + proprio_2 + ...proprio_n")
Enfin comment faire quand l'identifiant n'est pas unique ?? Par exemple sur votre image, côté proprio, il y a deux parcelles section 1 num_parcel 7 qui ont des contenances différentes. Dans ce cas la jointure ne marchera pas sad

Hors ligne

 

#4 Thu 18 September 2008 13:13

NEJJARI
Participant actif
Lieu: METZ
Date d'inscription: 12 Feb 2007
Messages: 99

Re: SQL Mapinfo

spacejo a écrit:

Pourquoi n'effectues tu pas une jointure sur tes deux tables avec comme champ commun soit section soit Num_Parc


En fait j'ai déja essayé cela mais ça bloque...il me donne une query avec 2/3 de la table non remplie.
J'ai oublié de mentionner aussi dans mon message que le numéro de parcelle se dédouble plusieurs fois puisqu'il est fonction aussi des sections (section 1 = parcelle 1, 2, 3,...), (section 2 = parcelle 1, 2, 3...). Je pense donc qu'il faut prendre aussi en compte la section.
Merci (collègue du temps gris wink)

Hors ligne

 

#5 Thu 18 September 2008 13:55

Damien BEAUSEIGNEUR
Participant assidu
Lieu: meyzieu
Date d'inscription: 5 Sep 2005
Messages: 425

Re: SQL Mapinfo

Maurice a écrit:

Enfin comment faire quand l'identifiant n'est pas unique ?? Par exemple sur votre image, côté proprio, il y a deux parcelles section 1 num_parcel 7 qui ont des contenances différentes. Dans ce cas la jointure ne marchera pas sad


En regardant bien la différence viens de la subdivision. La jointure devant ce faire avec les parcelles renseignée avec le champ subdivision vide.
Donc comme le dit Maurice avec "section+num_parcel" et subdivision = ''
Mais il faut faire le tri. un petit tri automatique sur la feuille. On copie les données filtrée dans une autre feuille et il ne reste plus qu'à traiter le problème des multipropriétaires.

Hors ligne

 

#6 Thu 18 September 2008 14:07

NEJJARI
Participant actif
Lieu: METZ
Date d'inscription: 12 Feb 2007
Messages: 99

Re: SQL Mapinfo

maurice a écrit:

Pas si simple...


Vous avez raison, c'est que parfois je trouve sur ce fameux tableau Excel du géomètre avec  : prenant
l'exemple de la parcelle 7
section     parcelle     proprio
1                  7              A
1                  7              femme de A
1                  7              A
1                  7              femme de A
1                  7              A
1                  7              femme de A 

Je ne comprend pas pourquoi ils les citent 6 fois pour la même parcelle !!!

J'ai l'impression que je vais faire cela manuellement. Si vous (le grand, le magnifique Maurice Nadal wink dis que c'est pas SI SIMPLE, moi je dis c'est pas possible !!! et donc je pense que je vais reprendre les anciennes méthodes (cellule par cellule !!) quel bonheur sad
Quant à Excel...c'est une autre histoire, mais là je dis : c'est pas simple !!!

Merci Maurice

Hors ligne

 

#7 Thu 18 September 2008 14:16

nicoboud
Membre
Lieu: Nantes
Date d'inscription: 12 Oct 2007
Messages: 860

Re: SQL Mapinfo

Bonjour,

Comme l'a déjà dit Maurice, il faut modifier la table parcellaire pour que chaque objet ait un identifiant unique.

Si cette étude se fait sur une seule commune, il faut concaténer

Maurice a écrit:

"section+num_parcel"


. Si il y plusieurs communes, alors il faut rajouter le n° insee des communes à cet identifiant : INSEE+Section+num_parcelle.

Ensuite le fichier "PROPRIO_Conthil" contient apparemment plus d'un type de doublon : une ligne par propriétaire et par subdivision de parcelle.
Par exemple, avec une seule parcelle subdivisée en 2 et un seul propriétaire, il y 3 lignes de données. Avec une seule parcelle subdivisée en deux et deux proprio, il y a au moins 4 lignes de données (6 lignes, si les deux proprio possèdent les deux subdivisions), etc.

Pour moi, à part le faire sous forme de tableau croisé dynamique sous Excel avant de passer sous MapInfo (comme indiqué par Maurice en ayant autant de colonnes que de proprio différents), je ne vois pas d'autres méthodes "automatiques".

Nicolas.

PS  : dans la série des doublons ...comme j'ai mis du temps à rédiger ma réponse je n'avais pas vu que Damien B avait déjà répondu... Désolé !

Dernière modification par Nicolas Boudesseul (Fri 19 September 2008 07:58)


Co-modérateur du forum Mapinfo
Utilisateur Mapinfo et QGIS

Hors ligne

 

#8 Thu 18 September 2008 14:24

NEJJARI
Participant actif
Lieu: METZ
Date d'inscription: 12 Feb 2007
Messages: 99

Re: SQL Mapinfo

damien B a écrit:

En regardant bien la différence viens de la subdivision


Exactement c'est la subdivison qui fait cette différence. En fait c'est de l'info détaillé (pour la parcelle et son occupation du sol). L'exemple que j'ai donné correspond don à la même parcelle avec sa surface totale pour Mr et Mme (2 lignes). Cette parcelle est divisée en deux parties (JARDIN et PRES). Le jardin est cité deux fois (2 lignes) et PRES deux fois (2 lignes). Bon, je sais ce qui m'attend avant d'exposer mon problème. Désolé si j'avais du mal à comprendre la structure de la feuille excel du géomètre avant de balancer mon problème. Je vais faire un peu de nétoyage dans ce fichier excel et si problème persiste, je reviendrais avec ma valise...Merci

Hors ligne

 

#9 Fri 19 September 2008 12:22

NEJJARI
Participant actif
Lieu: METZ
Date d'inscription: 12 Feb 2007
Messages: 99

Re: SQL Mapinfo

Bonjour
J'ai pu (grâce à vos conseils) résoudre mon problème. Voici les étapes. Les experts certes seront résoudre le problème en moins d'étapes, mais bon, ça peut servir les moins experts :
1/comme me la conseillé Maurice, un passage par le tableau croisée dynamique était obligatoire pour régler le problème de plusieurs proprio pour la même parcelle (marie et femme, 2 ou 3 frères...), en plus du problème de la subdivision de chaque parcelle à 3 sous-ensembles : 1 = parcelle total, 2 = JARDINS par exemple et 3 = PRES. En fait le 1 = 2+3. J'ai repris l'organisation d'un exemple (parcelle 7)
section     parcelle     proprio
1                  7              A
1                  7              femme de A
1                  7              A
1                  7              femme de A
1                  7              A
1                  7              femme de A

Avec le tableau croisé dynamique, j'ai eu cette forme :
        A_________B_________C
Ligne1-  section     parcelle     proprio
Ligne2-     1               7              A
Ligne3-                      7              femme de A
Il a fallu donc mettre la cellule "Femme de A" devant la cellule A et concaténer les deux sur une colonne. J'ai procédé par cette petite formule : =SI(A3;"";C2&" - "&C3)

Et le tour est joué...mon tableau est prêt pour être importer sous MI.
Ensuite c'est par une SQL que je reporte ici :
Colonnes : *
Tables : PARCELLAIRE, PROPRIO
Critères : PARCELLAIRE.PROPRIETAIRE = PROPRIO.PROPRIETAIRE where PARCELLAIRE.SECTION = PROPRIO.SECTION And PARCELLAIRE.NUM_PARCELLE = PROPRIO.PARCELLE

Tous c'est bien passé, quelques parcelles n'ont pas été pris en compte, elles n'avais pas de numero!!!
Je pense qu'il y a mieu et plus court, mais bon... on ne peut tous jouer ans la cour des grands wink
Merci

Hors ligne

 

#10 Fri 19 September 2008 12:48

Maurice
Membre
Lieu: Montpellier
Date d'inscription: 5 Sep 2005
Messages: 5331

Re: SQL Mapinfo

Merci pour le suivi...et bravo !!

Hors ligne

 

Pied de page des forums

Powered by FluxBB