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

Printemps des cartes 2024

#1 Mon 02 November 2009 11:22

Nana35
Participant occasionnel
Date d'inscription: 11 Oct 2007
Messages: 18

Tronçons connectés entre eux

Bonjour,
Je travaille sur MapInfo Version 7.5.
Sur une couche géographique de type polyligne, je souhaite réaliser plusieurs requêtes spatiales. Il s'agit de sélectionner les tronçons que ne sont connectés à aucun autre tronçon. Une seconde pour sélectionner les tronçons connectés que d'un seul bout et pour finir les tronçons connectés par un autre tronçon de chaque côté.

Ce type de requête doit être possible étant donné qu'au niveau topologique, les tronçons ont été saisis en utilisant "FUSION".
Merci, pour votre aide.

Hors ligne

 

#2 Tue 03 November 2009 17:19

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

Re: Tronçons connectés entre eux

Bonjour
Possible...ça reste à démontrer !! Facile: sûrement pas sad
La topologie du format TAB n'est pas très élaborée...
Pour ceux qui ne sont pas connectés, il faut un identifiant unique de chaque tronçon puis une copie de la table

Code:

Select * From ma_table, copie_de_ma_table Where ma_table.obj Intersects copie_de_ma_table.obj And ma_table.ID <> copie_de_ma_table.ID

puis inverser la sélection ...
Ceux qui sont initialement sélectionnés intersectent ....quelque part mais je ne vois pas comment savoir si c'est à un bout, et/ou au deux...et/ou ailleurs sad

Hors ligne

 

#3 Tue 03 November 2009 19:14

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

Re: Tronçons connectés entre eux

Bonjour

Je confirme les dire de Maurice cela ne sera pas facile.
Pour simplifier la méthode il faut que chaque tronçon soit constitué d'une seule polyligne.
créer ou plutôt retrouver les extrémités de chacun des tronçons en mettant toute ces données dans une seule table.
du type point id_polyligne, id_point , X, Y
id_point peut être réduit à la simple expression 1 pour le point début
2 pour le point de fin.
pour simplifier celà peut être fait en 2 fois.
la première pour obtenir tous les points de début la seconde tous les points de fin.
pour à la fin fusionner les 2 tables.
ensuite à partir de cette table cela deviens beaucoup plus simple...

voilà c'est un début de réflexion...

Hors ligne

 

#4 Wed 04 November 2009 11:54

Pierre Dolez
Participant assidu
Lieu: Proville
Date d'inscription: 14 Aug 2008
Messages: 518
Site web

Re: Tronçons connectés entre eux

Bonjour,

C'est une autre façon de poser le problème des routes dont il est beaucoup question ces temps-ci.

Le type de difficulté rencontrée est par exemple que les tronçons T1 et T2 peuvent être connectés de plusieurs façons T1=>T2 ou -T1=>T2 ou T1=>-T2 ou -T1=>-T2, le signe '-' signifie que le tronçon est inversé.

Cordialement.

Hors ligne

 

#5 Wed 04 November 2009 14:46

Patrick PALMIER
Participant actif
Lieu: Lille
Date d'inscription: 18 Jan 2007
Messages: 97

Re: Tronçons connectés entre eux

Bonjour,

ci-joint un outil qui peut entre autres construire une topologie de réseau sur une couche de polylignes
Sélectionner "Créer graphe", entrer un petit paramètre "0.001" par exemple et le nom de votre couche de polylignes

L'outil ajoutera des colonnesà votre table dont des colonnes noeudA et noeudB avec un numéro de noeud rempli
il proposera également de créer une table de noeuds
Il suffit ensuite de compter pour chaque numéro de noeud, dans combien de troncons différents il appartient ( en noeudA ou noeudB)
et de reporter ces informations dans la tables des tronçons par une jointure sur le numéro de noeud

Les troncons dont le NoeudA et NoeudB sont repris qu'une fois sont isolés
ceux pour lesquels un des deux est repris une seule fois sont connectés que d'un côté
ceux pour lesquels les deux noeuds sont repris plus d'une fois sont connectés des deux côtés

PS: L'outil permet également de parcourir un graphe sur un réseau (pour la question de calcul de distances routières) et quelques fonctions basiques pour visualiser les isochrones à partir de grilles.

[EDIT Maurice]: doc. de 24 pages mise en ligne.. en 3 morceaux zippés: les pages d'explication de 1 à 20, 3 pages d'illustration de l'accessibilité de 21 à 23, la dernière page 24 illustrant l'usage de la BDALTI (altitude-pente et courbes de niveau)


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

Hors ligne

 

#6 Thu 05 November 2009 13:45

Nana35
Participant occasionnel
Date d'inscription: 11 Oct 2007
Messages: 18

Re: Tronçons connectés entre eux

Merci pour ces réponses.
Je me suis plus intéressée à l'outil proposé par Patrick. Je pense que ça devrait pouvoir ce faire seulement j'ai besoin davantage de précisions pour réaliser le calcul du compte et la jointure.
Est- possible de développer?
Bonne journée.

Hors ligne

 

#7 Thu 05 November 2009 14:56

Patrick PALMIER
Participant actif
Lieu: Lille
Date d'inscription: 18 Jan 2007
Messages: 97

Re: Tronçons connectés entre eux

Bonjour

Je pense que tu as donc réussi à générer ton graphe
tu a donc une table de noeuds (qui contient une colonne "NUMERO" avec le numéro de noeud)
et une table d'objets linéaires qui contient deux colonnes "NOEUDA" et "NOEUDB" qui contiennent les numéros de noeud extrémités des polylignes

Deux solutions sont possibles

- solution géographique
Tout d'abord ajouter un champ "NBCONNEX" dans la table des noeuds
Si les noeuds sont bien fusionnés avec les extrémités de tronçon, tu peux mettre à jour la colonne  NBCONNEX de la table noeuds en faisant le count des objets de la table d'objets linaires (jointure intersects). Si les noeuds ne sont pas tout à fait jointifs il faut passer auparavant par un petit tampon autour des noeuds
Tu as ensuite pour chaque noeud  le nombre de polylignes qui ont pour extrémité le dit noeud

- requête attributaire
Même chose mais à effectuer en deux temps
Compter pour chaque noeud les objets linéaires pour lequels NoeudA=NUMERO, puis NoeudB=NUMERo et faire la somme des deux indicateurs
Tu as ensuite pour chaque noeud  le nombre de polylignes qui ont pour extrémité le dit noeud
Ensuite, il faut remonter ce nombre calculé pour chaque noeud au niveau des polylignes avec une jointure sur noeudA=Numero et noeudB=numero
Chaque polyligne a ensuite deux indicateurs (nombre de connections au noeudA(=na) et le nombre au noeudB (=nb))
Si na=1 et nb=1, la polyligne est isolée
si na=1 et nb>1 ou nb=1 et na>1 la polyligne est connectée que d'un côté
si na>1 et nb>1 la polyligne est connectée des deux côtés


C'est pas immédiat immédiat, mais ça doit fonctionner

Hors ligne

 

#8 Thu 05 November 2009 21:01

goujonmp
Participant occasionnel
Date d'inscription: 8 Dec 2005
Messages: 34

Re: Tronçons connectés entre eux

Bonjour,

J'ai essayé le fameux outil "réseau" proposé par Patrick, pour créer des carrefours à l'intersection de mon filaire de voies
Exercice similaire à ce qui est expliqué ci-dessous par Patrick,
Efficace, mais j'aimerai en savoir un peu plus, il a l'air de faire des choses plus intéressantes encore.
On ne pourrait pas voir sa doc ?

Merci à vous.
Cordialement

MP GOUJON

Hors ligne

 

#9 Fri 06 November 2009 10:08

Nana35
Participant occasionnel
Date d'inscription: 11 Oct 2007
Messages: 18

Re: Tronçons connectés entre eux

Merci Patrick,
L'outil est super intéressant et tu m'as donné de très bonnes explications.
C'est parfait.
Bonne continuation.

Hors ligne

 

#10 Fri 06 November 2009 11:40

Patrick PALMIER
Participant actif
Lieu: Lille
Date d'inscription: 18 Jan 2007
Messages: 97

Re: Tronçons connectés entre eux

goujonmp a écrit:

On ne pourrait pas voir sa doc ?


Il faudrait me contacter par email ... ou pouvoir déposer un fichier de 4741Ko (le document principal contient des copies d'écran)

[EDIT Maurice]: doc. de 24 pages mise en ligne.. en 3 morceaux zippés: les pages d'explication de 1 à 20, 3 pages d'illustration de l'accessibilité de 21 à 23, la dernière page 24 illustrant l'usage de la BDALTI (altitude-pente et courbes de niveau)

Hors ligne

 

#11 Mon 22 February 2010 22:28

wakinfei
Juste Inscrit !
Date d'inscription: 18 Jan 2010
Messages: 1

Re: Tronçons connectés entre eux

bonjour,
merci de votre partage!
je pense que cet outil est assez efficace que CHRONOmap...

Hors ligne

 

#12 Thu 25 February 2010 16:54

michelbgy
Participant actif
Date d'inscription: 9 Feb 2010
Messages: 77

Re: Tronçons connectés entre eux

Une méthode avec uniquement les commandes de base de Mapinfo, qui répond parfaitement au problème initial et certainement plus rapide:

Faire une sélection SQL de la table avec une copie, ne garder que les colonnes ID et ID_2
Agrégation par ID: si count =1 (autointersections)--->cas1(tronçons isolés)
si count=2 ---> cas2 (tronçons raccordés d'un coté)
Faire une sélection SQL de la table constituée des objets restants(count>=3) avec une copie (renommer les champs Idbis et Idbis_2) , critères:
Les objets ne se touchent pas entre eux mais touchent un objet commun (Id_2=Idbis_2) et sont donc en opposition
La colonne ID_2  donne les objets du cas3 (encadrés des 2 côtés) les autres rejoignent le cas 2 (avec en prime l'information qu'ils des connections multiples bien que d'un seul côté)


ps: le problème des tronçons non jointifs doit en principe être réglé préalablement, sauf que la manip peut avoir cette finalité: détecter les anomalies pour les corriger manuellement
Il reste le problème des tronçons qui se recoupent mais pas par les extrémités: là il faut générer des points et faire des SQL avec critères d'intersection sur les tronçons ET les points;Il vaudrait mieux faire cela dans une étape indépendante  sinon ça va devenir compliqué, ceci dit la question initiale ne mentionnait pas les problèmes de "propreté" de la table.

Hors ligne

 

#13 Mon 15 March 2010 18:01

antonio24
Juste Inscrit !
Date d'inscription: 17 Nov 2008
Messages: 8

Re: Tronçons connectés entre eux

Bonjour,

A propos de l'outil Réseaux:
Lorsque je veux générer un graphe (c'est la première étape, si j'ai bien compris), un message d'erreur apparaît :
"(reseaux.mb:198) Impossible de créer une table"

Y-a t'il quelquechose que j'ai manqué ? Je pars d'une couche représentant les Rues, issu d'une base Navteq...

Merci de vos réponses

Hors ligne

 

#14 Tue 16 March 2010 08:54

Patrick PALMIER
Participant actif
Lieu: Lille
Date d'inscription: 18 Jan 2007
Messages: 97

Re: Tronçons connectés entre eux

Bonjour,

l'outil reseaux créait des tables temporaires sur le disque C:
Il semble que la tendance actuelle (une triste régression à mon avis, surtout pour des utilisateurs confirmés) qui consiste à ne pas donner les privilèges administrateur sur leur poste aux agents soit la source du problème.

Es-tu administrateur de ton poste?
Si non, ci-joint une version du MBX qui tourne même si l'on est pas administrateur. Il crée les tables temporaires dans le répertoire temporaire de l'utilisateur

Il suffit de remplacer le MBX existant par celui-ci

Le problème doit venir de là.


Cordialement


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

Hors ligne

 

#15 Fri 19 March 2010 16:54

antonio24
Juste Inscrit !
Date d'inscription: 17 Nov 2008
Messages: 8

Re: Tronçons connectés entre eux

Bonjour,

Merci beaucoup, je vais voir ce que ça donne et je vous tiens au courant.

Hors ligne

 

#16 Fri 19 March 2010 17:36

antonio24
Juste Inscrit !
Date d'inscription: 17 Nov 2008
Messages: 8

Re: Tronçons connectés entre eux

Bonjour,

Merci pour la nouvelle version du MBX. J'ai pu aller plus loin dans les étapes.
Cependant, lors du lancement du calcul d'accessibilité, un nouveau message d'erreur apparaît : "(reseaux.mb.1523) La bibliothèque michemin.dll est introuvable. Impossible de créer un lien vers la bibliothèque externe michemin.dll."

J'ai donc essayé de lancer le calcul avec l'outil précédent (celui qui bug lorsque l'on est pas administrateur) et là c'est carrément un plantage en règle de Mapinfo qui survient, avec proposition d'envoi de rapport d'erreur etc...)

C'est dommage d'être privé d'un outil aussi intéressant pour des problèmes d'administration...

A bientôt

Hors ligne

 

#17 Fri 19 March 2010 20:26

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

Re: Tronçons connectés entre eux

Bonjour
Cette bibliothèque michemin.dll est fait partie de l'outil joint au post #5 ici même et doit être installée au même endroit que le mbx

Hors ligne

 

Pied de page des forums

Powered by FluxBB