Profil réseau
Dans un projet ViSit Anywhere 2D, les données altimétriques sont stockées sous la forme d'attributs, qu'elles soient interpolées à partir d'un MNT, saisies manuellement ou automatiquement (récepteur GPS, géo-détecteur). Leur représentation dans un profil en long nécessite donc de spécifier l'emplacement de ces informations dans le modèle, et d'en faire l'interprétation.
Dans un modèle réseau ViSit Anywhere, les informations altimétriques sont stockées au niveau des nœuds, avec éventuellement des hauteurs relatives en début et fin de segment. C'est ce que nous proposons par défaut pour les réseaux d'assainissement dans ViSit Anywhere, et l'exemple décrit dans cet article est basé sur ce modèle. Chaque nœud du réseau possède une altitude 'tampon' (sol) et 'radier' (fond), chaque segment possède une hauteur relative (delta) au-dessus du nœud amont et aval.
Un profil réseau est un modèle de profil en long adapté à cette configuration. A partir d'un modèle de profil réseau et d'une suite de segments réseaux adjacents, l'outil de profils va représenter dans un diagramme une coupe longitudinale de cette portion de réseau. Les points seront les nœuds du réseau, les lignes seront les segments entre les nœuds. Ce type de profil est hautement paramétrable, pour vous permettre de représenter dans le diagramme toute l'information que vous jugez pertinente.
Sélection d'une portion de réseau
L'onglet PROFILS contient un outil Sélectionner un profil, qui facilite la sélection d'une liste de segments réseau adjacents. Il collecte tous les segments situés entre les segment de départ et d'arrivée que vous identifiez à l'écran.
Lancez l'outil. Identifiez dans la carte un segment de départ, puis un segment d'arrivée (dans le même modèle réseau). L'outil calcule le plus court chemin entre les nœuds à l'extrémité des segments identifiés, et liste les segments parcourus dans un tableau, dans l'ordre du parcours.
Si vous n'avez de profil courant, le traitement s'arrête avec une alerte indiquant que le diagramme ne peut pas être généré. Nous allons maintenant voir comment configurer un modèle de profil en long réseau adapté à une telle sélection.
Données à représenter
Dans le cas d'un profil simple issu d'une liste de points en 3D, toute l'information géométrique est connue. Pour un profil réseau, il faut décrire comment extraire les données altimétriques des segments sélectionnés. Une simple liste de segments donne implicitement les nœuds extrémités situés entre les segments. L'outil de profils connaît donc :
- les identifiants des segments sélectionnés, et l'ordre de ces segments
- les identifiants des nœuds aux extrémités de ces segments
A ce stade, pour dessiner un profil en long minimal, il reste à connaître l'altitude de chaque nœud. Pour spécifier assez librement comment extraire cette information, on utilise un éclairage sur la table des nœuds. Pour simplifier la configuration de ces éclairages de profil réseau, on utilise une dizaine d'identifiants de colonne prédéfinis commençant par 'vigis_prf_', comme vigis_prf_z_low (ou vigis_prf_z_high) pour représenter l'altitude basse (ou haute) d'un nœud.
Pour spécifier la cote sol d'un nœud, ajoutons un éclairage nommé 'Cote TN' sur les nœuds du réseau. Après avoir glissé la colonne Elément (obligatoire), Ajoutons une colonne nommée vigis_prf_z_high donnant l'altitude au sol d'un nœud, à partir de la valeur de l'attribut 'Cote tampn (NGF)' dans la table de détail ASSA_Détails Nœuds :
Nous précisons ensuite le type de l'information (System.Double) dans la définition de la colonne :
Ajoutons également dans cet éclairage une colonne vigis_prf_label qui décrit comment nous voulons afficher cette altitude dans le diagramme (ici avec une décimale) :
Création d'un profil réseau
Nous sommes maintenant en mesure de créer notre premier profil réseau, que nous nommons minimal :
Dans la catégorie 'Eclairages réseau', nous déclarons notre éclairage sur les nœuds dans la propriété 'Points de données' :
Nous sélectionnons ce profil comme profil courant. La sélection d'une portion de réseau génère alors notre premier diagramme réseau :
Ce n'est pas encore un profil en long, mais c'est encourageant! Notre éclairage 'Cote TN' apparaît bien dans la zone de données du diagramme. Nous pouvons changer la spécification de format de la colonne vigis_prf_label, pour utiliser 2 décimales et donner l'unité : {0:f2} m. On voit que l'outil le prend en compte en régénérant le profil.
Ce diagramme ne contient pas de zone de profils, et la valeur plan de référence ne peut pas être calculée. Il suffit de spécifier un éclairage de lignes de profils pour résoudre ce problème. Ajoutons un éclairage sur les segments réseau nommé Ligne TN, destiné à représenter le profil du terrain naturel. Après avoir glissé la colonne Elément (obligatoire), Ajoutons une colonne nommée vigis_prf_start_z_high donnant la hauteur relative du début du segment par rapport à la valeur vigis_prf_z_high du nœud début. Ici, ce delta doit toujours valoir zéro, car la valeur z_high sur le nœud est déjà la cote TN. J'ai donc créé une fonction DeltaZero qui retourne toujours la valeur numérique 0.
On ajoute de la même façon une colonne similaire nommée vigis_prf_end_z_high pour décrire l'autre extrémité du segment (par copie par exemple).
Dans la catégorie 'Eclairages réseau', nous déclarons notre éclairage sur les segments dans la propriété 'Lignes de profils'. Pour une ligne de profils, nous pouvons spécifier la couleur et l'épaisseur de la ligne, ainsi le trait de rappel éventuel :
Le diagramme contient maintenant une ligne de profil; il est nécessaire d'ajuster la valeur du plan référence pour bien visualiser le profil :
Il ne reste qu'à répéter ces opérations pour ajouter au profil les informations usuelles. A force de persévérance, on arrive à configurer un modèle de profil assez complet, comme dans l'exemple ci-dessous :
Il serait trop long d'expliquer en détail comment ce profil est configuré. Il est intéressant de noter qu'il contient plusieurs lignes de profils (TN, radier, sommet de la conduite), que les chutes (delta amont non nul) sont bien représentées, et qu'on peut faire figurer du texte dans la zone de profil (ici les types des regards et leur profondeur). On note aussi qu'il est possible de fusionner des cellules adjacentes identiques dans la zone de données (ici les sections, natures et fonctions).
N'hésitez pas à nous contacter si vous souhaitez mettre en oeuvre cet outil dans votre projet.