Pages: 1
- Sujet précédent - Inverser ou definir la direction d'une ligne suivant M(calibration) - Sujet suivant
#1 Thu 10 August 2017 14:31
- OSSENI
- Juste Inscrit !
- Date d'inscription: 23 Oct 2015
- Messages: 1
Inverser ou definir la direction d'une ligne suivant M(calibration)
Bonjour ,
Actuellement je travaille sur les lignes du réseau SNCF. Ces lignes sont calibrées à l'aide des points kilométriques.
J'aimerais créer une zone tampon à gauche de mes lignes mais j'ai constaté que mes lignes ne sont pas numérisées dans la même direction.
A cet effet j'aimerais que toutes mes lignes soient numèrisées suivant la direction de la calibration.
Avec ArcGIS, lorsque j’édite ma couche je peux definir la direction suiivant M mais le seule problème est qu'elle marche après une seul sélection.
Je ne peux pas sélectionner plus d'une seule ligne et faire la modification alors que moi je possède des millions de lignes.
j'aimerais demander si quelqu'un a une solution à me proposer afin que je puisse définir la direction de mes lignes de manière groupé ou singulier avec un script ou tout autre méthodes.
Merci
Hors ligne
#2 Wed 30 August 2017 17:55
- gwenmael
- Juste Inscrit !
- Lieu: Melun
- Date d'inscription: 3 Aug 2006
- Messages: 4
Re: Inverser ou definir la direction d'une ligne suivant M(calibration)
Bonjour,
Je travail également sur ce type de ligne pour le réseau routier départementale.
Lors de la dernière migration, l'an dernier, j'ai été confronté un problème similaire, je l'ai résolu en plusieurs étapes.
En prérequis il faut s'assurer que chaque arc soit éclaté (plus de multi-parties) et qu'il dispose d'un identifiant unique (de l'arc et de la partie).
1- Exporter en point tous les sommets de tes lignes. (outils FeatureVerticesToPoints_management)
2- Ensuite, pour chaque point, tu récupère dans un champ la valeur M (calibration).
- soit tu ajoute un champ (réel double) à ta classe de point et tu la calcul via la calculatrice en Python !shape.extent.getM!
- soit via la toolbox avec l'outil AddXY_management où il t'ajoutera les champs POINT_X, POINT_Y, {POINT_Z} et POINT_M.
3- Enfin, tu recrées des lignes à partir de ces point en utilisant l’outil PointsToLine_management. Dans le paramétrage de l’outil, tu utilise ton champ contenant la valeur M comme champs de tri et celui avec l'identifiant de la section comme champ de regroupement.
4- Si tu avais dût éclater les arc multi partie en entrée il ne te reste plus qua les regrouper par ton identifiant d'arc.
si tu as quelques connaissance en python le tous peut se faire en un seul script.
Espérant que cela puisse t'aider. Il y a peut-être des méthode plus rapide mais je n'avais pas le temps à l'époque de faire beaucoup de recherche ou d'expérimentation.
Gwenmmaël
Hors ligne
#3 Wed 30 August 2017 17:55
- gwenmael
- Juste Inscrit !
- Lieu: Melun
- Date d'inscription: 3 Aug 2006
- Messages: 4
Re: Inverser ou definir la direction d'une ligne suivant M(calibration)
J'ai oublié de précisé dans ma réponse le travail à été effectué en ArcGis desktop 10.3.1, avec une licence Advanced.
je n'ai pas vérifié mais il me semble que tous les outils utilisés sont disponible des le niveau basic
Gwenmaël
Hors ligne
Pages: 1
- Sujet précédent - Inverser ou definir la direction d'une ligne suivant M(calibration) - Sujet suivant