En fait au début, j'avais mis niveau de base et ça me met le même résultat... En cherchant ce matin, j'ai vu que dans ma liste, il y a des index de niveau non renseigné (un index avec du vide à côté) d'ou le fait qu'il ne puisse pas le convertir.
J'essaie un list.clean mais ça ne nettoie rien ^^ donc je dois trouver un noeud qui enlève les valeurs vide ou nul (et non null).
Concernant le non du niveau, c'est déjà réglé à la fin du script, j'ai mis un groupe "pour numéroter par niveau" et je l'ai mis en entrée.
En clair je souhaiterais faire une ligne par niveau en filtrant avec "R+0", "R+1", "R+2"... car ce sont des noms que l'on retrouvera dans plusieurs projet. Je pensais utiliser un String.contains par ligne et ne prendre que les True pour trier ensuite en X et Y avec le reste de mon script
Des index non renseignés? Si tu prends le niveau de base, c'est bizarre qu'il renvoie des valeurs vides (sauf si c'est un paramètre que tu remplies toi même). Et attention, pcq si tu vires des index de ta liste de niveau, après tu manipuleras des listes de coordonnées, et de poteaux qui seront de tailles différentes de ta liste de niveau, et ça va foirer à un moment. Mieux vaut voir pourquoi il renvoie des valeurs vides.
Si tu veux fonctionner par niveau, alors effectivement tu fais un tri par niveau, et à partir de ta liste de booléen, tu vas chercher dans ta liste de poteaux tous les indices correspondants. Ce qui revient à faire un List.GroupByKey!
En cherchant j'ai trouvé d'où venait les index non renseignés: ce sont des poteaux porteurs mais crée in situ (car forme particulière), je les numéroterais donc à la main pour ceux là.
Pour le reste, j'ai réussi à faire ce que je pensais, j'ai testé sur 3 niveaux et ça marche!
Par contre je n'ai pas utilisé de List.GroupByKey.... mais ça fonctionne après plusieurs FilterByBoolMask.
Je t'ai mis le fichier ci-joint si ça peut te servir