#1 Wed 21 January 2009 20:27
- Rick16
- Juste Inscrit !
- Lieu: Mont-Tremblant
- Date d'inscription: 21 Jan 2009
- Messages: 9
Correction de ligne de direction
Bonjour,
Nous avons récupéré un fichier qui contient des rues créées en polylignes. Mais certaines de ces polylignes pour un même nom de rue sont créées dans le sens contraire. Exemple sur 10 segments , l'un d'eux est contraire aux autres. J'ai environ 15000 lignes dans ce fichier. Comment pouvoir retracer rapidement ces lignes qui n'ont pas été créées dans le même sens. Merci
Dernière modification par Rick16 (Wed 21 January 2009 20:28)
Hors ligne
#2 Wed 21 January 2009 21:14
- Maurice
- Membre
- Lieu: Montpellier
- Date d'inscription: 5 Sep 2005
- Messages: 5331
Re: Correction de ligne de direction
Bonjour
Même si je ne sais pas (encore) quel outil ou méthode on peut utiliser, je me demande si vous êtes bien sûr de vouloir faire ça: pour un réseau hydro le sens est "certain" (encore qu'avec le réchauffement... ) mais pour un réseau routier, où les rue peuvent être dans un sens ou l'autre (ou les deux) il faut être sûr de ce qu'on fait
Hors ligne
#3 Wed 21 January 2009 21:30
- Daniel
- Membre
- Lieu: Victoriaville, Québec
- Date d'inscription: 6 Sep 2005
- Messages: 2028
Re: Correction de ligne de direction
Bonjour
Je suis entièrement d'accord avec Maurice. 15 000 lignes, il faudra être très habile pour ne pas revenir sur ces pas!!!
Mais selon moi, quelques jours de travail et le tout est fait. Ma méthode (car moi non plus je ne vois pas comment faire ça d'un seul coup!!!), la méthode manuelle. Vous ouvrez votre couche de rues, vous afficher le sens, vous vous placer à une échelle convenable et vous afficher le nom des rues pour chaque segment et avec l'aide de l'outil REVDIR, vous vous promenez. Pour vous aider, il pourrait être plus facile de vous faire une grille (A1, A2, A3... B1, B2, B3...etc) et prendre en note les cellules qui sont faites. Ça va éviter de recommencer certains secteur.
À moins que d'autre aient une solution, je ne vois pas comment faire
Daniel
De retour à la géomatique
Hors ligne
#4 Wed 21 January 2009 22:06
- Marc-André
- Participant assidu
- Lieu: Montréal
- Date d'inscription: 30 Sep 2005
- Messages: 688
Re: Correction de ligne de direction
Bonjour,
Revrdirc.MBX permet d'inverser la direction des lignes. Cet utilitaire se trouvait sur le site de Jacques Paris qui n'est malheureusement plus accessible. Heureusement, son précieux contenu sera bientôt disponible sur le wiki de GeoRezo.
En attendant, J'ai trouvé ici un utilitaire équivalent: REVERDIR.MBX
Ne me demandez cependant pas de traduire le contenu du site.
La seule chose que j'ai reconnu, c'est le nom du MBX.
Je l'ai essayé et il fonctionne.
Dernière modification par Marc-André (Wed 21 January 2009 22:14)
Hors ligne
#5 Wed 21 January 2009 22:32
- Rick16
- Juste Inscrit !
- Lieu: Mont-Tremblant
- Date d'inscription: 21 Jan 2009
- Messages: 9
Re: Correction de ligne de direction
Merci pour votre appui.
Je vais voir ce que je peux faire.
Rick
Hors ligne
#6 Wed 21 January 2009 23:14
- Maurice
- Membre
- Lieu: Montpellier
- Date d'inscription: 5 Sep 2005
- Messages: 5331
Re: Correction de ligne de direction
Correctif: non Marc-André, il n'est pas nécessaire d'en attendre la "wikisation", le site de Jacques Paris est déjà en miroir sur Georezo depuis longtemps et on y trouve l'outil Revrdirc.MBX évoqué
Cet outil est le même que REVERDIR.MBX mais multi-langue (le fameux MLC de JP !)
Adapter le code pour qu'il travaille sur tous les tronçons d'une sélection devrait être faisable
Reste à trouver le moyen de sélectionner parmi 15000 les tronçons dont le sens doit être inversé...et c'est a priori coton
Je ferai volontiers des tests mais il me faudrait un échantillon: ce serait possible Rick16 ??
Hors ligne
#7 Thu 22 January 2009 15:30
- Marc-André
- Participant assidu
- Lieu: Montréal
- Date d'inscription: 30 Sep 2005
- Messages: 688
Re: Correction de ligne de direction
Bonjour,
Merci pour l'info.
J'avais cherché là:
http://georezo.net/wiki/main:mapinfo:outils:outilmi_jp
alors que tout ce que l'on veut avoir se trouve ici:
http://georezo.net/jparis/decharge_liste_mbx.htm
Hors ligne
#8 Thu 22 January 2009 15:43
Re: Correction de ligne de direction
Hello,
Marc-André avait bien vu en fait, c'est bien le lien final, mais l'intégration avance à pas de tortue, en fonction du temps dont je dispose pour tout remettre en ligne de façon organisée La liste que tu as pointée sera mise à jour au fur et à mesure de la mise à jour, mais c'est un gros boulot. Je vous tiendrai au courant quand ça aura significativement avancé Revdir, c'est la lettre R et j'en suis à la lettre F, sans compter que je n'ai pas mis les tags pour que les outils de Jacques déjà intégrés soient visible dans la liste des outils de Jacques
A suivre,
Robin.
Ps : au passage, si des motivés veulent donner un coup de main pour intégrer tout ça, contactez moi !
Hors ligne
#9 Thu 22 January 2009 16:26
- Rick16
- Juste Inscrit !
- Lieu: Mont-Tremblant
- Date d'inscription: 21 Jan 2009
- Messages: 9
Re: Correction de ligne de direction
Bonjour,
Merci pour l'attention de mon problème.
J'inclus deux fichiers l'un visuel et l'autre fichier de MapInfo.
Merci
J'espère que c'est la bonne manière d'inclure un fichier car c'est la première fois que j'utilise un forum.
Hors ligne
#10 Fri 23 January 2009 11:19
- Maurice
- Membre
- Lieu: Montpellier
- Date d'inscription: 5 Sep 2005
- Messages: 5331
Re: Correction de ligne de direction
Sur la base de l'exemple fourni, j'ai dans un premier temps tenté de sélectionner les segments "à l'envers"
J'y suis presque: je dois passer par la création préalable dans la table "exemple" de 5 colonnes (X_ptDEB, Y_ptDEB, X_ptFIN, Y_ptFIN - signification "évidente" - et troncons, qui dénombre le nombre de tronçons dont est formée une Rue, avec une Rue = un Nom)
Je considère en effet seulement les rues formées de plusieurs tronçons, sinon ... je ne connais pas la ville
Les instructions suivantes donnent satisfaction, il reste seulement en trop un tronçon de bout de rue et je n'ai pas le temps de trouver comment l'éliminer:
set coordsys table exemple
Alter Table "exemple" ( add X_ptDEB Float,Y_ptDEB Float,X_ptFIN Float,Y_ptFIN Float ) Interactive
Map From exemple
Update exemple Set X_ptDEB = ObjectNodeX(obj, 1, 1)
Update exemple Set Y_ptDEB = ObjectNodeY(obj, 1, 1)
Update exemple Set X_ptFIN = ObjectNodeX(obj, 1, ObjectInfo(obj,20))
Update exemple Set Y_ptFIN = ObjectNodeY(obj, 1, ObjectInfo(obj,20))
Commit Table exemple Interactive
Select EdgeldTmp, Rue, Count(*) "nb_troncons" from exemple group by Rue order by Rue into tata
Commit Table tata As "C:\toto.TAB" TYPE NATIVE Charset "WindowsLatin1"
Close Table tata Interactive
Open Table "C:\toto.TAB" Interactive
Add Column "exemple" (troncons) From toto Set To nb_troncons Where Rue = Rue
Commit Table exemple Interactive
Select * from exemple where troncons>1 into tutu
Commit Table tutu As "C:\ex_1.TAB" TYPE NATIVE Charset "WindowsLatin1"
Commit Table tutu As "C:\ex_MN.TAB" TYPE NATIVE Charset "WindowsLatin1"
Drop Table toto
Close Table tutu Interactive
Open Table "C:\ex_1.TAB" Interactive
Open Table "C:\ex_MN.TAB" Interactive
Select * from ex_1, ex_MN where (ex_1.X_ptFIN=ex_MN.X_ptDEB Or ex_1.X_ptDEB=ex_MN.X_ptFIN) And ex_1.Rue = ex_MN.Rue into titi
run menu command 311
Commit Table selection As "C:\titi.TAB" TYPE NATIVE Charset "WindowsLatin1"
run menu command 304
Drop Table ex_MN
Drop Table ex_1
Close Table titi Interactive
Open Table "C:\titi.TAB" Interactive
Select * from exemple where EdgeldTmp = any (Select EdgeldTmp From titi) into to_reverse
Drop Table titi
[EDIT]: instructions modifiées et complétées
Reste à faire passer sur cette sélection "to_reverse" le reversedir.mbx modifié....que j'écrirai...un jour
Ou traiter à la main les segments ainsi identifiés avec l'outil dans sa forme actuelle !
ps: je ne sais pas quel est ton niveau en MapInfo et j'ai écrit toutes ces instructions en syntaxe FMB (pour la fenêtre MapBasic). Après les avoir adaptées à ton cas, tu peux tester en sélectionnant toute les lignes puis 'enter'.
nb: travailler sur une copie !!
Hors ligne
#11 Fri 23 January 2009 15:11
- Rick16
- Juste Inscrit !
- Lieu: Mont-Tremblant
- Date d'inscription: 21 Jan 2009
- Messages: 9
Re: Correction de ligne de direction
Bonjour Maurice,
Merci beaucoup pour cette solution, je suis un peu familier avec ce genre d'explication.Je vais l'étudier et me perfectionner par le fait même.
Le fait d'identifier les segments fautifs c'est la meilleur solution car pour deux lignes seulement je dois faire le choix selon ce qui existe sur les lieux.
Merci encore
Hors ligne
#12 Fri 23 January 2009 17:22
- Maurice
- Membre
- Lieu: Montpellier
- Date d'inscription: 5 Sep 2005
- Messages: 5331
Re: Correction de ligne de direction
J'ai un peu modifié la suite de commande pour qu'on se retrouve uniquement avec la table exemple et la sélection nommée "to_reverse"
Il reste à traiter le cas du segment final de la rue DE SAINT-JOVITE, sélectionné à tort....je cherche !!
Hors ligne