Nous utilisons des cookies pour vous garantir la meilleure expérience sur notre site. Si vous continuez à utiliser ce dernier, nous considèrerons que vous acceptez l'utilisation des cookies. J'ai compris ! ou En savoir plus !.
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 Wed 24 July 2013 16:39

Roxane
Participant occasionnel
Date d'inscription: 9 Aug 2011
Messages: 15

Mapinfo v11: Incrémenter un champ pour un identifiant qui se répète

Bonjour,

Le titre n'est pas très explicite et je vais essayer de décrire le plus clairement possible mon problème.

Je travaille sur la hiérarchisation d'un réseau et je dois attribuer à chaque intersection de ce réseau un code de hiérarchisation en fonction du classement hiérarchique le plus élevé des voies de cette intersection.

Chaque voie a un identifiant et un classement dans la hiérarchisation du réseau.
J'ai fait une jointure geographique entre ma table des intersections et la table des sections de voies ayant l'attribut code_hierarchisation.

A partir de là j'obtiens une table où se répète l'id des intersections autant de fois qu'il y a de voies dans cette intersection. A chacune de ces lignes correspond un des identifiant de voie et son code de hierarchisation.

Je voudrais donc ne garder, pour chaque id d'intersection, que le code de hierarchisation des voies le plus petit (qui correspond à la hierarchisation la plus élévée), et donc une seule ligne pour chaque identifiant d'intersection.

Un exemple pour mieux comprendre:
Voilà ce que j'ai:

id_ext_ges    voie    code_hier
6    rue truc    6
6    rue bidule    6
6    rue ploc    6
6    av machin    2


Voilà ce que j'aimerais avoir:

id_ext_ges    voie    code_hier
6    av machin    2


J'espère avoir été assez claire dans ma demande.
Merci d'avance pour vos réponses.

Hors ligne

 

#2 Wed 24 July 2013 16:51

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

Re: Mapinfo v11: Incrémenter un champ pour un identifiant qui se répète

Salut,

Peux tu expliquer ton exemple car là personnellement je ne vois pas la manip?
A+
Joël

Hors ligne

 

#3 Wed 24 July 2013 16:58

Roxane
Participant occasionnel
Date d'inscription: 9 Aug 2011
Messages: 15

Re: Mapinfo v11: Incrémenter un champ pour un identifiant qui se répète

En fait aujourd'hui:
j'ai dans ma table, pour l'intersection dont l'identifiant est "6", 4 lignes correspondant aux 4 voies qui partagent cette intersection.
Je voudrais ne garder qu'une seule ligne pour cet id "6" correspondant à la voie qui a la typologie de hiérarchisation la plus élevée.
Soit dans l'exemple, l'av Machin dont le code_hierarchisation est "2".

J'espère que c'est un peu plus clair...

Hors ligne

 

#4 Wed 24 July 2013 17:02

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

Re: Mapinfo v11: Incrémenter un champ pour un identifiant qui se répète

Ok

As tu beaucoup de d'intersections?
Que veux tu faire des lignes qui ont un coef inférieure (dans ton exemple il ne reste plus que la ligne qui a le coef 2, que fais tu des autres?)

Dernière modification par Spacejo (Wed 24 July 2013 17:06)

Hors ligne

 

#5 Wed 24 July 2013 17:06

Roxane
Participant occasionnel
Date d'inscription: 9 Aug 2011
Messages: 15

Re: Mapinfo v11: Incrémenter un champ pour un identifiant qui se répète

Oui!
Pas loin de 1000 intersections!
J'ai commencé à la mano dans excel avec une liste déroulante mais c'est pénible et surtout source d'erreur....

Hors ligne

 

#6 Wed 24 July 2013 17:13

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

Re: Mapinfo v11: Incrémenter un champ pour un identifiant qui se répète

Une solution est de travailler avec la FMB et un générateur de scripts.
Connais tu ces outils?

Hors ligne

 

#7 Wed 24 July 2013 17:21

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

Re: Mapinfo v11: Incrémenter un champ pour un identifiant qui se répète

Une autre solution possible est aussi de concaténer tes 2 champs "id_ext_ges" et "code_hier" dans un autre champ que tu auras crée.
Et de travailler dessus.

Hors ligne

 

#8 Wed 24 July 2013 17:21

Roxane
Participant occasionnel
Date d'inscription: 9 Aug 2011
Messages: 15

Re: Mapinfo v11: Incrémenter un champ pour un identifiant qui se répète

Je connais bien la FMB pour y effectuer bon nombre de requête... par contre je ne sais pas ce qu'est un générateur de scripts...

Hors ligne

 

#9 Wed 24 July 2013 17:32

Roxane
Participant occasionnel
Date d'inscription: 9 Aug 2011
Messages: 15

Re: Mapinfo v11: Incrémenter un champ pour un identifiant qui se répète

Je vais travailler la deuxième solution qui me parait dans mes cordes et je vous tiendrais au courant!
Merci Joël!

Hors ligne

 

#10 Wed 24 July 2013 17:36

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

Re: Mapinfo v11: Incrémenter un champ pour un identifiant qui se répète

Pourquoi faire simple quand on peux faire compliqué wink
As tu essayé ceci? -->

Code:

SELECT Voie, MIN(code_hier)
FROM TaTable
GROUP BY id_ext_ges
INTO Resultat

Dernière modification par Spacejo (Wed 24 July 2013 19:09)

Hors ligne

 

#11 Thu 25 July 2013 10:25

Roxane
Participant occasionnel
Date d'inscription: 9 Aug 2011
Messages: 15

Re: Mapinfo v11: Incrémenter un champ pour un identifiant qui se répète

Bonjour Joël,

C'est parfait!
J'ai juste sélectionné l'id_ext_ges plutôt que la voie et j'ai obtenu une table Resultat faisant correspondre à chaque id d'intersection, la typologie de hierarchisation la plus petite.

Merci pour votre aide!
Bonne journée.

Hors ligne

 

#12 Thu 25 July 2013 13:17

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

Re: Mapinfo v11: Incrémenter un champ pour un identifiant qui se répète

Salut,

De rien le forum est fait pour ça wink
Dans la clause "select" tu peux aussi demander les champs que tu veux smile

Code:

SELECT id_ext_ges, Voie, MIN(code_hier)
FROM TaTable
GROUP BY id_ext_ges
INTO Resultat

A+
Joël

Hors ligne

 

Pied de page des forums

Powered by FluxBB