Extraire les rails d’un nuage de points (3D Analyst)

Synthèse

Extrait les voies de chemin de fer et les axes médians des voies de chemin de fer classées dans un jeu de données LAS, un paquetage de couche de scènes de nuage de points ou une couche de nuage de points I3S.

Utilisation

  • Cet outil requiert l’installation des structures de Deep Learning. Pour configurer votre machine afin d’utiliser des structures d’apprentissage profond dans ArcGIS Pro, consultez la rubrique Installer les structures d’apprentissage profond pour ArcGIS.

  • Cet outil requiert de classer les points de rail. Les entités de rail sont composées de points de rail classés. La norme LAS utilise la classe 10 pour le rail, bien que des classes personnalisées puissent être spécifiées. Si plusieurs classes sont fournies, chaque classe doit représenter un type de rail différent et est traitée séparément pour produire des entités en sortie distinctes. Bien que le processus d’extraction des rails puisse éliminer le bruit, la réduction des erreurs dans la classification des points de voie ferrée permet de créer des entités de chemin de fer plus précises.

  • Les lignes ferroviaires en sortie et les axes médians possèdent un champ CLASS_CODE indiquant la classe de points qui a été utilisée pour générer l’entité.

  • La présence de jonctions de rails, où des aiguillages joignent ou séparent la voie ferrée, produit généralement des interruptions au niveau des rails et des axes médians en sortie.

  • Bien que l’outil puisse être exécuté à l’aide du processeur, il est recommandé d’utiliser un GPU NVIDIA compatible CUDA pour cette opération. S’il existe plusieurs GPU compatibles CUDA, spécifiez une valeur d’environnement ID du GPU de -1 pour utiliser tous les GPU éligibles.

Paramètres

ÉtiquetteExplicationType de données
Nuage de points en entrée

Jeu de données LAS en entrée ou couche de scène de nuage de points contenant les points de voie ferrée classés.

LAS Dataset Layer; Scene Layer
Codes de classe des rails

Codes de classe qui seront utilisés pour les points de rail.

Long
Lignes ferroviaires en sortie

Lignes ferroviaires 3D en sortie qui seront extraites du nuage de points.

Feature Class
Norme de rail
(Facultatif)

Indique la norme de rail qui sera utilisée. La norme décrit les mesures d’écartement et d’épaisseur des rails. La spécification a un impact sur l’algorithme qui sera utilisé pour extraire les entités de rail.

  • Norme américaine 115RELa norme de rail 115 lb des États-Unis définie par l’American Railway Engineering and Maintenance-of-Way Association (AREMA) sera utilisée. Il s’agit de l’option par défaut.
  • Norme américaine 132RELa norme de rail 132 lb des États-Unis définie par l’AREMA sera utilisée.
  • Norme américaine 141RELa norme de rail 141 lb des États-Unis définie par l’AREMA sera utilisée.
  • Norme européenne UIC54La norme de rail européenne 54,77 kg définie par l’Union internationale des chemins de fer sera utilisée.
  • Norme européenne UIC60La norme de rail européenne 60 kg définie par l’Union internationale des chemins de fer sera utilisée.
  • PersonnaliséeUne autre norme sera utilisée. Lorsque cette option est spécifiée, définissez des valeurs pour les paramètres d’écartement et d’épaisseur des rails.
String
Axes médians 3D en sortie
(Facultatif)

Axe médian 3D en sortie qui représente le milieu de la voie ferrée.

Feature Class
Écartement des rails
(Facultatif)

Écartement des rails qui décrit la distance interne entre les deux rails d’une voie ferrée. La valeur par défaut est 1 435 millimètres, ce qui correspond à la norme américaine 115 RE, mais cette valeur est mise à jour pour correspondre à la norme de rail spécifiée.

Linear Unit
Épaisseur des rails
(Facultatif)

Largeur de la partie supérieure de chaque rail. La valeur par défaut est 66,675 millimètres, ce qui correspond à la norme américaine 115 RE, mais cette valeur est mise à jour pour correspondre à la norme de rail spécifiée.

Linear Unit
Distance horizontale du noyau de lissage
(Facultatif)

Distance x,y qui sera utilisée pour appliquer horizontalement une fonction de lissage basée sur la moyenne pondérée sur les lignes ferroviaires en sortie. Ce paramètre permet d’éliminer les distorsions des points de rail incomplets, incorrectement classés ou bruyants. La valeur par défaut est 0,8 mètre.

Linear Unit
Distance verticale du noyau de lissage
(Facultatif)

Distance z qui sera utilisée pour appliquer verticalement une fonction de lissage basée sur la moyenne pondérée sur les lignes ferroviaires en sortie. Ce paramètre permet d’éliminer les distorsions des points de rail incomplets, incorrectement classés ou bruyants. La valeur par défaut est de 10 mètres.

Linear Unit
Tolérance horizontale de rail
(Facultatif)

Distance qui sera utilisée dans la direction x,y pour identifier les points appartenant au même rail sur une ligne ferroviaire donnée. La valeur par défaut est 10 centimètres.

Linear Unit
Tolérance verticale de rail
(Facultatif)

Distance qui sera utilisée dans la direction z pour identifier les points appartenant au même rail sur une ligne ferroviaire donnée. La valeur par défaut est 3 centimètres.

Linear Unit
Tolérance d’alignement d’axe médian
(Facultatif)

Distance de tolérance qui sera utilisée pour aligner l’entité d’axe médian entre les rails d’une ligne ferroviaire donnée. La valeur par défaut est 50 millimètres.

Linear Unit
Rayon de détection de couronne de rail
(Facultatif)

Rayon de recherche qui sera utilisé pour identifier les points continus qui définissent la couronne de rail, c’est-à-dire la partie supérieure d’une ligne ferroviaire donnée. La valeur par défaut est 20 mètres.

Linear Unit
Tolérance de simplification horizontale
(Facultatif)

Distance qui sera utilisée pour simplifier la ligne ferroviaire en sortie dans la direction x,y. La position horizontale du rail simplifié ne s’écartera pas de la position originale de plus de cette valeur. La valeur par défaut est 2 millimètres.

Linear Unit
Tolérance de simplification verticale
(Facultatif)

Distance qui sera utilisée pour simplifier la ligne ferroviaire en sortie dans la direction z. La hauteur du rail simplifié ne s’écartera pas de la hauteur originale de plus de cette valeur. La valeur par défaut est 2 millimètres.

Linear Unit
Longueur minimale des lignes en sortie
(Facultatif)

Longueur tri-dimensionnelle minimale qu’une ligne détectée doit avoir pour être incluse dans les entités linéaires en sortie. Les lignes détectées dont la longueur est inférieure à celle-ci seront ignorées. La valeur par défaut est de 1 mètre.

Linear Unit

arcpy.ddd.ExtractRailsFromPointCloud(in_point_cloud, class_codes, out_3d_lines, {rail_standard}, {out_3d_centerlines}, {track_gauge}, {rail_thickness}, {horizontal_smoothing_kernel_distance}, {vertical_smoothing_kernel_distance}, {horizontal_rail_tolerance}, {vertical_rail_tolerance}, {centerline_alignment_tolerance}, {rail_crown_detection_radius}, {horizontal_simplification_tolerance}, {vertical_simplification_tolerance}, {min_line_length})
NomExplicationType de données
in_point_cloud

Jeu de données LAS en entrée ou couche de scène de nuage de points contenant les points de voie ferrée classés.

LAS Dataset Layer; Scene Layer
class_codes
[class_codes,...]

Codes de classe qui seront utilisés pour les points de rail.

Long
out_3d_lines

Lignes ferroviaires 3D en sortie qui seront extraites du nuage de points.

Feature Class
rail_standard
(Facultatif)

Indique la norme de rail qui sera utilisée. La norme décrit les mesures d’écartement et d’épaisseur des rails. La spécification a un impact sur l’algorithme qui sera utilisé pour extraire les entités de rail.

  • US_115_RELa norme de rail 115 lb des États-Unis définie par l’American Railway Engineering and Maintenance-of-Way Association (AREMA) sera utilisée. Il s’agit de l’option par défaut.
  • US_132_RELa norme de rail 132 lb des États-Unis définie par l’AREMA sera utilisée.
  • US_141_RELa norme de rail 141 lb des États-Unis définie par l’AREMA sera utilisée.
  • EU_UIC_54La norme de rail européenne 54,77 kg définie par l’Union internationale des chemins de fer sera utilisée.
  • EU_UIC_60La norme de rail européenne 60 kg définie par l’Union internationale des chemins de fer sera utilisée.
  • CUSTOMUne autre norme sera utilisée. Lorsque cette option est spécifiée, définissez des valeurs pour les paramètres d’écartement et d’épaisseur des rails.
String
out_3d_centerlines
(Facultatif)

Axe médian 3D en sortie qui représente le milieu de la voie ferrée.

Feature Class
track_gauge
(Facultatif)

Écartement des rails qui décrit la distance interne entre les deux rails d’une voie ferrée. La valeur par défaut est 1 435 millimètres, ce qui correspond à la norme américaine 115 RE, mais cette valeur est mise à jour pour correspondre à la norme de rail spécifiée.

Linear Unit
rail_thickness
(Facultatif)

Largeur de la partie supérieure de chaque rail. La valeur par défaut est 66,675 millimètres, ce qui correspond à la norme américaine 115 RE, mais cette valeur est mise à jour pour correspondre à la norme de rail spécifiée.

Linear Unit
horizontal_smoothing_kernel_distance
(Facultatif)

Distance x,y qui sera utilisée pour appliquer horizontalement une fonction de lissage basée sur la moyenne pondérée sur les lignes ferroviaires en sortie. Ce paramètre permet d’éliminer les distorsions des points de rail incomplets, incorrectement classés ou bruyants. La valeur par défaut est 0,8 mètre.

Linear Unit
vertical_smoothing_kernel_distance
(Facultatif)

Distance z qui sera utilisée pour appliquer verticalement une fonction de lissage basée sur la moyenne pondérée sur les lignes ferroviaires en sortie. Ce paramètre permet d’éliminer les distorsions des points de rail incomplets, incorrectement classés ou bruyants. La valeur par défaut est de 10 mètres.

Linear Unit
horizontal_rail_tolerance
(Facultatif)

Distance qui sera utilisée dans la direction x,y pour identifier les points appartenant au même rail sur une ligne ferroviaire donnée. La valeur par défaut est 10 centimètres.

Linear Unit
vertical_rail_tolerance
(Facultatif)

Distance qui sera utilisée dans la direction z pour identifier les points appartenant au même rail sur une ligne ferroviaire donnée. La valeur par défaut est 3 centimètres.

Linear Unit
centerline_alignment_tolerance
(Facultatif)

Distance de tolérance qui sera utilisée pour aligner l’entité d’axe médian entre les rails d’une ligne ferroviaire donnée. La valeur par défaut est 50 millimètres.

Linear Unit
rail_crown_detection_radius
(Facultatif)

Rayon de recherche qui sera utilisé pour identifier les points continus qui définissent la couronne de rail, c’est-à-dire la partie supérieure d’une ligne ferroviaire donnée. La valeur par défaut est 20 mètres.

Linear Unit
horizontal_simplification_tolerance
(Facultatif)

Distance qui sera utilisée pour simplifier la ligne ferroviaire en sortie dans la direction x,y. La position horizontale du rail simplifié ne s’écartera pas de la position originale de plus de cette valeur. La valeur par défaut est 2 millimètres.

Linear Unit
vertical_simplification_tolerance
(Facultatif)

Distance qui sera utilisée pour simplifier la ligne ferroviaire en sortie dans la direction z. La hauteur du rail simplifié ne s’écartera pas de la hauteur originale de plus de cette valeur. La valeur par défaut est 2 millimètres.

Linear Unit
min_line_length
(Facultatif)

Longueur tri-dimensionnelle minimale qu’une ligne détectée doit avoir pour être incluse dans les entités linéaires en sortie. Les lignes détectées dont la longueur est inférieure à celle-ci seront ignorées. La valeur par défaut est de 1 mètre.

Linear Unit

Exemple de code

Exemple d’utilisation de la fonction ExtractRailsFromPointCloud (fenêtre Python)

L’exemple suivant illustre l’utilisation de cet outil dans la fenêtre Python :

import arcpy
arcpy.env.workspace = 'C:/data'
arcpy.ddd.ExtractRailsFromPointCloud("Rail_Survey.lasd", 10, "RailTracks.shp", 
                                     out_3d_centerlines="RailCenterlines.shp")

Informations de licence

  • Basic: Nécessite 3D Analyst
  • Standard: Nécessite 3D Analyst
  • Advanced: Nécessite 3D Analyst

Rubriques connexes