#1 Thu 01 September 2011 16:27
- rmi5222
- Participant occasionnel
- Lieu: Bourg en bresse
- Date d'inscription: 3 Sep 2007
- Messages: 28
Plusieurs noms de communes dans une cellule
Bonjour à tous,
je suis confronté à une nouveauté dont je ne trouve aucune réponse sur le forum.
J'ai deux tables vectorielles :
Communes :
vecteurs : polygones
données : contours administratif, nb d'hab, surface, nom de com. ...
Inventaire Zone Humide :
vecteurs : polygones très étendus ou non
données : divers champs de présence d'espèces et "communes", champ vierge qui nous intéresse.
Mon objectif mettre à jour le champ "Communes" de "Inventaire Zone Humide" en faisant apparaitre le ou LES noms de communes qui l'intersecte tout ça dans une seule cellule.
Je ne souhaite pas découper mes vecteurs "Inventaire Zone Humide" solution la plus simple il me semble...
Merci d'avance.
Hors ligne
#2 Fri 02 September 2011 08:22
- nicoboud
- Membre
- Lieu: Nantes
- Date d'inscription: 12 Oct 2007
- Messages: 860
Re: Plusieurs noms de communes dans une cellule
Bonjour,
Si une commune n'est impactée que par un et un seul zonage d'Inventaire Zone Humide, je procéderai à l'inverse, c'est-à-dire en en mettant à jour un champ "Zone humide" de la table commune.
tout dépend de l'objectif final après celui indiqué : obtenir facilement une liste de communes par zonage "zone humide" ? pour chaque commune, connaitre le ou les zonages "zones humides" qui l'impacte ?
Il est souvent inutile d'avoir toutes les données dans une seule table (de plus c'est difficile à mettre à jour).
Nicolas.
Co-modérateur du forum Mapinfo
Utilisateur Mapinfo et QGIS
Hors ligne
#3 Tue 06 September 2011 17:49
- michelbgy
- Participant actif
- Date d'inscription: 9 Feb 2010
- Messages: 77
Re: Plusieurs noms de communes dans une cellule
bonjour
une sélection SQL par intersection ZonesHumides/Communes va générer tous les couples ZH/Communes
Enregistrer cette table (soit SQL1) et créer un identifiant unique
La succession de manips suivantes va permettre de concaténer les noms de commune dans la table ZH (autant de fois que le nombre maxi de communes par ZH)
-requête SQL pour grouper par ZH
-mise à jour table ZH d'origine en rajoutant la commune trouvée dans le groupement
-élimination des lignes utilisées dans SQL1 (par l'identifiant)
Hors ligne
#4 Fri 09 September 2011 09:55
- rmi5222
- Participant occasionnel
- Lieu: Bourg en bresse
- Date d'inscription: 3 Sep 2007
- Messages: 28
Re: Plusieurs noms de communes dans une cellule
Bonjour et merci pour vos réponses.
Michelbgy, j'essais ta méthode dès que je trouve deux minutes, je vous ferais un topo après la manipulation.
Merci encore.
Hors ligne
#5 Mon 12 September 2011 10:02
- rmi5222
- Participant occasionnel
- Lieu: Bourg en bresse
- Date d'inscription: 3 Sep 2007
- Messages: 28
Re: Plusieurs noms de communes dans une cellule
Salut,
Je ne comprend pas la dernière commande : "-élimination des lignes utilisées dans SQL1 (par l'identifiant)" ?
Hors ligne
#6 Mon 12 September 2011 16:29
- michelbgy
- Participant actif
- Date d'inscription: 9 Feb 2010
- Messages: 77
Re: Plusieurs noms de communes dans une cellule
Bonjour,
Le regroupement par ZH permets d’extraire une ligne par ZH, donc une commune
Une fois l’information récupérée (mise à jour de la table ZH) il faut bien éliminer cette ligne dans SQL1 puisqu’elle a déjà servi, et recommencer pour chercher les communes restantes
La concaténation d’attributs texte de plusieurs objets est une question qui revient très souvent, je ne connais pas de solution automatique dans Mapinfo
Par contre Excel gère ça très bien par une formule en cascade
Hors ligne
#7 Tue 13 September 2011 12:24
- Spacejo
- Membre
- Lieu: Nancy
- Date d'inscription: 17 Aug 2008
- Messages: 2511
Re: Plusieurs noms de communes dans une cellule
Salut,
je ne connais pas de solution automatique dans Mapinfo
Faisable avec "Scriptgen" couplé avec la FMB
A+
Joël
Dernière modification par Spacejo (Tue 13 September 2011 12:24)
Hors ligne
#8 Wed 14 September 2011 08:25
Re: Plusieurs noms de communes dans une cellule
Bonjour,
On peut aussi exporter le résultat de la requête spatiale d'intersection sous MySQL pour pouvoir concaténer les communes par un GROUP_CONCAT / GROUP BY, puis récupérer ce résultat dans la table d'origine MapInfo par une jointure. Intéressant pour quelqu'un qui dispose et maîtrise MySQL.
Christophe Damour (SIGéal)
Hors ligne
#9 Fri 23 September 2011 10:37
- rmi5222
- Participant occasionnel
- Lieu: Bourg en bresse
- Date d'inscription: 3 Sep 2007
- Messages: 28
Re: Plusieurs noms de communes dans une cellule
Merci, les méthodes que vous m'avez présenté m'ont données satisfactions, passionnant ces SIG !
Merci à tous !
Dernière modification par rmi5222 (Fri 23 September 2011 10:37)
Hors ligne