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 22 August 2012 16:30

AlexB61
Participant occasionnel
Date d'inscription: 27 Feb 2012
Messages: 14

mise à jour automatique d'un champ par requetes

Bonjour,

dans le cadre d'un stage, je travail sur l'éclairage public. mon réseau est composé d'armoires de commande (ponctuel), de points lumineux (ponctuel), et de mon cable (linéaire).

je rentre manuellement un numéro d'identifiant à mes armoires de commande. j'ai un champ où j'ai la même information dans mes points lumineux. j'ai réussi à remplir ces info sur une commune mais je cherche à automatiser la fonction (en gros faire une requète pour plusieurs communes).

En gros, je faisait une sélection des tronçons, j'appliquais une requète spaciale pour sélectionner mes points lumineux et dans les attribus, je rentrais mon numéro d'armoire de commande.
A l'échelle d'une commune ça va, mais si je souhaite étendre la procédure à d'autres communes je voudrais savoir si il est possible de créer une formule me permettant d'indiquer sur chaque point lumineux le numéro de l'armoire sachant qu'ils sont relié par le réseau?

voilà, je sais pas si j'ai été clair^^
si vous avez des idées, je suis preneur!

en vous remerciant,
Alex

Hors ligne

 

#2 Wed 22 August 2012 16:40

Renaud
Membre
Lieu: Ploemeur (56)
Date d'inscription: 9 Mar 2006
Messages: 2315

Re: mise à jour automatique d'un champ par requetes

Bonjour.

Si j'ai bien saisi, tu fais :
- Pour chaque armoire
     - sélectionner l'armoire
     - sélectionner les câbles intersectant l’armoire sélectionnée
     - sélectionner les points lumineux intersectant les câbles sélectionnés
     - renseigner le champ 'id armoire' avec l'id de l'armoire sélectionnée

Essaye :
- jointure spatiale des câbles avec les armoires
- jointure spatiale des points lumineux avec les câbles


Renaud Mouche

Hors ligne

 

#3 Thu 23 August 2012 08:41

AlexB61
Participant occasionnel
Date d'inscription: 27 Feb 2012
Messages: 14

Re: mise à jour automatique d'un champ par requetes

Bonjour Renaud,

en fait je sélectionne manuellement tous les tronçons qui sont reliés à mon armoire.

j'ai testé ta méthode, mais j'ai sectionné mes tronçons (pour ajouté une qualification aérienne ou souterraine de mes cables).
et du coup, il ne sélectionne pas le cable entier mais seulement le tronçon qui est directement relié.

bon je vais creuser un peu (ajouter une jointure cable sur les cables reliés aux armoires)

Hors ligne

 

#4 Thu 23 August 2012 09:25

AlexB61
Participant occasionnel
Date d'inscription: 27 Feb 2012
Messages: 14

Re: mise à jour automatique d'un champ par requetes

bon en utilisant une double jointure comme vous m'avez indiqué, ça fonctionne.

seulement je bloque après. comment je met à jour dans ma couche point lumineux?

j'ai refait une jointure entre mes point lumineux et le résultat de la jointure obtenue précédemment. je n'arrive pas à copier les valeur d'un champs dans un autre.

Hors ligne

 

#5 Thu 23 August 2012 11:02

Renaud
Membre
Lieu: Ploemeur (56)
Date d'inscription: 9 Mar 2006
Messages: 2315

Re: mise à jour automatique d'un champ par requetes

Bonjour,

La fonction 'Calculer un champ' dans la table attributaire de la dernière couche obtenue devrait convenir


Renaud Mouche

Hors ligne

 

#6 Thu 23 August 2012 11:26

AlexB61
Participant occasionnel
Date d'inscription: 27 Feb 2012
Messages: 14

Re: mise à jour automatique d'un champ par requetes

oui j'avais zappé^^

merci, problème résolu!

Hors ligne

 

#7 Fri 24 August 2012 10:11

AlexB61
Participant occasionnel
Date d'inscription: 27 Feb 2012
Messages: 14

Re: mise à jour automatique d'un champ par requetes

Bonjour,

en fait la jointure ne fonctionne pas correctement.
si je fais une jointure de mon réseau et de mes armoires de commandes, il intègre également les réseaux qui ne sont pas rataché à une armoire ! en plus il me met un fid d'armoire qui ne correspond à rien. pourtant, je n'ais pas beaucoup de possibilité pour effectuer ma jointure.

là j'avoue je pige pas. dans l'idée c'est pourtant assez simple.

Hors ligne

 

#8 Fri 24 August 2012 11:14

Renaud
Membre
Lieu: Ploemeur (56)
Date d'inscription: 9 Mar 2006
Messages: 2315

Re: mise à jour automatique d'un champ par requetes

Bonjour,

Lorsque tu effectues une jointure, il renvoie effectivement tout les objets, y compris ceux non-joints. Mais il ajoute un champ "join_count" en début de table, qui permet de vérifier les résultats.

il me met un fid d'armoire qui ne correspond à rien


Peux tu préciser ? Sur tout les objets y compris ceux joints à une armoire ?
Normalement les champs ajoutés doivent rester vide si join_count=0
Dans le cas où join_count>1, il prend un objet aléatoire parmi ceux joints. Peut-être la cause du soucis ?


Renaud Mouche

Hors ligne

 

#9 Fri 24 August 2012 13:58

AlexB61
Participant occasionnel
Date d'inscription: 27 Feb 2012
Messages: 14

Re: mise à jour automatique d'un champ par requetes

Bonjour Renaud,

merci de me répondre. Je viens de comprendre le champs joint_count. Je fais une selection sur celui ci quand il est égal à 1 et c'est bon.
par contre je ne parviens pas à récupérer mon numéro d'armoire.

mais bon c'est pas grave, je voulais essayer de trouver une manière pour réaliser les opérations sur un ensemble mais ça semble compliqué. (j'ai peut être pas conçu ma base de la meilleur façon).
En faisant une jointure comme ça, je ne récupère du coup que le réseau directement relié à mon armoire. Comme je l'ai parfois divisé en tronçons, ça ne fonctionne pas.

Le plus simple est de faire une succession de sélection (ça permet en plus de vérifier) et de remplir les infos par la fiche attributaire. Il suffit de le faire pour chaque armoire. C'est peut-être un peu plus long, mais pour le moment, ça reste le plus simple.
Peut-être qu'avec des outils de gestion de réseau, ça serait plus simple (net work analyst mais je suis pas sur ou autre outils)

En tout cas, merci des infos
Alex

Hors ligne

 

#10 Fri 24 August 2012 14:25

Renaud
Membre
Lieu: Ploemeur (56)
Date d'inscription: 9 Mar 2006
Messages: 2315

Re: mise à jour automatique d'un champ par requetes

Bonjour,

je ne parviens pas à récupérer mon numéro d'armoire


Tant que chaque câble n'aura pas son identifiant d'armoire, ta base sera délicate à manipuler.
Occupe toi d'eux plutôt que des points lumineux, qui seront faits en 1min une fois la première étape réalisée.

As tu essayé d'enchainer des jointures spatiales des câbles vers eux même ?
L'idée serai de construire une couche des câbles ayant un id d'armoire, initialisée par une jointure câble-armoire.
Ensuite tu enchaines des jointures câble sur câble_avec_id.
La procédure complète prend un peu plus de deux lignes à détailler, mais elle n'a rien de très compliquée.


Renaud Mouche

Hors ligne

 

#11 Fri 24 August 2012 14:54

AlexB61
Participant occasionnel
Date d'inscription: 27 Feb 2012
Messages: 14

Re: mise à jour automatique d'un champ par requetes

Bon, je suis un peu "bête"
je cherche compliqué...

dans ma table reseau (cables), j'avais crée un champ pour récupéré le num de l'armoir auquel il est relié (directement ou indirectement).
mais j'avais pas forcément rempli, car je trouvais que ça faisait une redondance de l'information. (et surtout je pensais pouvoir faire autrement comme tout est lié physiquement)

c'est là que je me rend compte que je connais pas suffisamment le logiciel et ses possibilités quand j'ai crée mes couches.
si chaque tronçon possède l'identifiant de l'armoire, je n'aurais qu'une jointure spatiale à faire.
du coup, je me retrouve avec la même information sur mes 3 couches...

Hors ligne

 

#12 Fri 24 August 2012 15:09

Renaud
Membre
Lieu: Ploemeur (56)
Date d'inscription: 9 Mar 2006
Messages: 2315

Re: mise à jour automatique d'un champ par requetes

A tester :

Fait une zone tampon de quelques mètres autour de tes câbles, en soudant les tampons qui se chevauchent.
Si tes différents réseaux sont suffisamment disjoints, tu devrais obtenir une surface par armoire.

1 requête spatiale tampon/armoire => id armoire par tampon
1 requête spatiale point lumineux/tampon => id armoire par point lumineux
CQFD

Et tant que tu y es :
1 requête spatiale câble/tampon => id armoire par câble


Renaud Mouche

Hors ligne

 

Pied de page des forums

Powered by FluxBB