From a38d1ae4537ca796206553c623e73469956da1fe Mon Sep 17 00:00:00 2001 From: David Castex Date: Tue, 3 Jun 2025 16:40:31 +0200 Subject: [PATCH] Ajout fonction test_remplir_visa ajout differents tests --- banbou.py | 405 ++++-- .../dossier01/fichier01_ENTREE.csv | 10 + .../dossier01/fichier02_ENTREE.csv | 9 + .../dossier01/fichier03_ENTREE.csv | 21 + .../dossier01/fichier04_ENTREE.csv | 18 + .../dossier01/fichier05_ENTREE.csv | 1119 +++++++++++++++++ .../dossier01/fichier06_ENTREE.csv | 18 + test/JEUXDONNEES/dossier02/modele_visa.xlsx | Bin 0 -> 18567 bytes test/test_projet_formatter_vers_ArcGIS.py | 99 ++ test/test_projet_notifier.py | 22 + test/test_projet_preparer_dossier_travail.py | 4 +- test/test_remplir_visa.py | 27 + 12 files changed, 1676 insertions(+), 76 deletions(-) create mode 100644 test/JEUXDONNEES/dossier01/fichier01_ENTREE.csv create mode 100644 test/JEUXDONNEES/dossier01/fichier02_ENTREE.csv create mode 100644 test/JEUXDONNEES/dossier01/fichier03_ENTREE.csv create mode 100644 test/JEUXDONNEES/dossier01/fichier04_ENTREE.csv create mode 100644 test/JEUXDONNEES/dossier01/fichier05_ENTREE.csv create mode 100644 test/JEUXDONNEES/dossier01/fichier06_ENTREE.csv create mode 100644 test/JEUXDONNEES/dossier02/modele_visa.xlsx create mode 100644 test/test_projet_formatter_vers_ArcGIS.py create mode 100644 test/test_projet_notifier.py create mode 100644 test/test_remplir_visa.py diff --git a/banbou.py b/banbou.py index 7feed9c..90dfc7c 100644 --- a/banbou.py +++ b/banbou.py @@ -1,7 +1,7 @@ ## Script Banbou pour le prétraitement des données des dossiers de recollement ## de fibre optique. -import os, shutil, datetime +import os, shutil, datetime, openpyxl @@ -240,6 +240,183 @@ def controller_projection(id_point, point_x, point_y): +def remplir_VISA(modele, projet): + """ + Complète le Visa du projet à partir d'un fichier modele. + + Controle le nb de fichiers de chaque catégorie et notifie. + Parcours la liste de notifications du projet et ajoute chaque + notification dans la feuille concerné du classeur + A défaut, une notification de la liste qui n'a pas de catégorie + avec sa propre feuille sera ajoutée à la première feuille (FRONT) + + Enregistre le Visa dans le repertoire de Travail + Contraintes : + - le modele du VISA soit être NÉCESSAIREMENT dans le même + dossier que le script. TODO : traité l'exception si fichier non trouvé + - le modele du VISA NE doit PAS avoir eu de modification notable + dans son design ( emplacements des cellules utilisées pour + notifier, nom des feuilles, etc) + """ + + # Masques Binaires représentants les controles de chaques catégorie traitées + # les bits sont allumés à chaque position où un test existe + FAIL_CSV = 7 # Explication : il existe pour le moment 3 tests pour les CSVs donc : "0000 0000 0000 0111" + FAIL_DWG = 16 # un seul test pour les DWGs : "0000 0000 0001 0000" + FAIL_PDF = 256 # un seul test pour les PDFs : "0000 0001 0000 0000" + FAIL_INFO = 4096 # un seul test pour les fiches infos : "0001 0000 0000 0000" + + + + + + + + # creation d'un workbook à partir d'un modele + classeur = openpyxl.load_workbook(modele) + + + ## definition personnalisé vers chaque feuille du classeur + FRONT = wb[wb.sheetnames[0]] + PDF = wb[wb.sheetnames[1]] + CSV = wb[wb.sheetnames[2]] + DWG = wb[wb.sheetnames[3]] + + + + # feuille = classeur.active + + # cell = feuille["A2"] + # cell.value = "Dossier : "+ racine.name + + ## NOTE: cell est la cellule courante dans la feuille + ## Ainsi cell = 'A1' + + # Nom dossier + # Date de reception + # Date Visa + FRONT['C1'] = f'Analyse : {projet.nom}\nDate de réception :\nDate visa : {projet.date}' + + + + # TODO: factoriser les instructions ci dessous --> faire une fonction + + # FRONT DWG + # Je ne peux pas controler automatiquement la projection du DWG (c'est un binaire illisible hors de AutoCAD) + # J'ajoute automatiquement la mention comme dans le script précedent. + FRONT['C3'] = f"{projet.nb_dwgs} fichier(s) DWG présent(s).\nProjection de tous les fichiers DWG : RFG93-CC43 (EPSG:3943)." + + # Controle le nb de fichiers DWG + if projet.nb_dwgs == 0: + projet.controles |= 2**4 # allume le bit 5ième bit + FRONT['C3'] = "Pas de fichier DWG présent." + + # Regarde si des fails ont été détectés sur les DWGs + fail = projet.controles & FAIL_DWG # operation logique avec le masque + # notifie en consequence + if fail : + FRONT['B3'] = "FAIL" + FRONT['B3'].fill = PatternFill("solid", start_color="FF4343") + else : + FRONT['B3'] = "OK" + FRONT['B3'].fill = PatternFill("solid", start_color="52BE80") # ancien vert "68D000" + + + + # FRONT PDF + FRONT['C4'] = f"{projet.nb_pdfs} fichier(s) PDF présent(s)." + + # Controle le nb de fichiers PDF + if projet.nb_pdfs == 0: + projet.controles |= 2**8 # allume le 9ième bit + FRONT['C4'] = "Pas de fichier PDF présent." + + # Regarde si des fails ont été détectés sur les PDFs + fail = projet.controles & FAIL_PDF + # notifie en consequence + if fail : + FRONT['B4'] = "FAIL" + FRONT['B4'].fill = PatternFill("solid", start_color="FF4343") + else : + FRONT['B4'] = "OK" + FRONT['B4'].fill = PatternFill("solid", start_color="52BE80") + + + + # FRONT CSV + FRONT['C5'] = f"{projet.nb_points} point(s) en RFG93-CC43 (EPSG:3943)." + + # Controle le nb de fichiers CSV + if projet.nb_csvs == 0: + projet.controles |= 2**0 # allume le 1er bit + FRONT['C5'] = "Pas de fichier CSV présent." + + # Regarde si des fails ont été détectés sur les CSVs + fail = projet.controles & FAIL_CSV + # notifie en consequence + if fail : + FRONT['B5'] = "FAIL" + FRONT['B5'].fill = PatternFill("solid", start_color="FF4343") + else : + FRONT['B5'] = "OK" + FRONT['B5'].fill = PatternFill("solid", start_color="52BE80") + + + + # FRONT FICHE INFO TOPOLOGIE + FRONT['C6'] = f"{projet.nb_releves} fiche(s) Info. présente(s)." + + # Controle le nb de fichiers Fiche Topologique + if projet.nb_releves == 0: + projet.controles |= 2**12 # allume le 13ième bit + FRONT['C6'] = "Pas de fiche d'Info. Topologie présente." + + # Regarde si des fails ont été détectés sur les CSVs + fail = projet.controles & FAIL_CSV + # notifie en consequence + if fail : + FRONT['B6'] = "FAIL" + FRONT['B6'].fill = PatternFill("solid", start_color="FF4343") + else : + FRONT['B6'] = "OK" + FRONT['B6'].fill = PatternFill("solid", start_color="52BE80") + + + + + # Notifier dans les autres Feuilles + + # lignes en cours à remplir pour chaque feuille + # initialisé aux lignes où on va commencer à notifier + A = 2 # "B2" # Pour la feuille PDF + B = 2 # "B2" # Pour la feuille CSV + C = 2 # "B2" # Pour la feuille DWG + D = 11 # "C11" # Pour la feuille FRONT + + cell = "" # cellule courante qui va être notifier + + for notif in projet.notifs : + match notif.categorie : + case "PDF" : + cell = PDF["B"+str(A)] + A += 1 + case "CSV" : + cell = CSV["B"+str(B)] + B += 1 + case "DWG" : + cell = DWG["B"+ str(C)] + C += 1 + case _: + cell = FRONT["C"+str(D)] + D += 1 + + cell.value = notif.texte + + + # Ici le VISA doit être correctement rempli + # on sauvegarde dans un fichier le classeur + classeur.save(f"Travail\\{projet.nom}_VISA.xlsx") + @@ -261,7 +438,7 @@ class _Fichier: self.extension = extension # - son extension self.nom = nom # - son nom formaté self.implication = implication # - son implication dans le projet - self.taille = taille + self.taille = taille # taille en octets def afficher(self): @@ -291,6 +468,8 @@ class _Fichier: ce_Fichier.chemin = dossier + "\\" + fichier # déterminer son nom original et son extension ce_Fichier.nom_original, ce_Fichier.extension = fichier.split(".", maxsplit=1) # maxsplit permet de spliter qu'une fois au cas ou on a plusieurs . dans le nom de fichier) + # lettrer les extensions en minuscule + ce_Fichier.extension = ce_Fichier.extension.casefold() # formatter et écrire le nom ce_Fichier.nom = formatter(ce_Fichier.nom_original) # déterminer son implication @@ -333,10 +512,13 @@ class _Projet: rapport="Pas de fichier", nb_shemas=0, nb_releves=0, - nb_csv=0, + nb_csvs=0, + points=[], + nb_points=0, nb_dwgs=0, - nb_points = 0, - notifs=[]): + nb_pdfs=0, + notifs=[], + controles=0): self.nom = nom # nom du projet self.date = date # date du traitement self.racine = racine # chemin racine du projet @@ -346,11 +528,13 @@ class _Projet: self.rapport = rapport # chemin vers le visa self.nb_shemas = nb_shemas # nb de plans de la mise en place self.nb_releves = nb_releves # nb de rapports de relevés topo - self.nb_csv = nb_csv # nb de fichiers CSV + self.nb_csvs = nb_csvs # nb de fichiers CSV + self.points = points # liste des points du CSV + self.nb_points = nb_points # nb de points des CSVs TODO: REDONDANT avec len(points) self.nb_dwgs = nb_dwgs # nb de fichiers DWG self.nb_pdfs = nb_pdfs # nb de fichiers PDF - self.nb_points = nb_points # nb de points des CSVs - self.notifs = notifs # liste contenant les notifs du VISA + self.notifs = notifs # liste contenant les notifs du VISA + self.controles = controles # variable drapeau contenant toutes les validations de controles (voir Document pour plus d'info sur sa représentation) def enraciner(self): @@ -394,9 +578,11 @@ class _Projet: def nommer(self): """ - met à jour l'attribut 'nom' en composant un nom. + Met à jour l'attribut 'nom' en composant un nom. + Le nom est constitué du nom du dossier racine et de la date courante formatté. + """ self.nom = f"{os.path.basename(os.getcwd())}_{self.date}" @@ -426,6 +612,7 @@ class _Projet: for fichier in self.fichiers: source = fichier.chemin print(f"\nsource : {source}") + # lors du peuplement préfixer et suffixer les noms des fichiers concernés comme suit : "Plan_nomfichierdwg.dwg" et "Point_nomfichiercsv_IN.csv" # Confirmation par Audrey qu'il n'y a nécessairement qu'un fichier CSV par projet --> Le script s'occupe de le renommer. # Mais parfois il peut y avoir plusieurs DWGs dont un seul est utile --> PASS -- Je laisse l'opérateur choisir lequel utiliser et le renommer manuellement. @@ -433,6 +620,10 @@ class _Projet: case "csv": dest = self.racine + "\\" + travail + "\\" + "Point_" + fichier.nom + "_IN" + "." + fichier.extension + + case "dwg": + dest = self.racine + "\\" + travail + "\\" + "Plan_" + fichier.nom + "." + fichier.extension + case _: dest = self.racine + "\\" + travail + "\\" + fichier.nom + "." + fichier.extension @@ -445,70 +636,136 @@ class _Projet: print(f"\nLe fichier {fichier.nom + fichier.extension} existe déjà.") #TODO : # Confirmation par Audrey qu'il n'y a necessairement qu'un fichier CSV par projet --> On peut le renommer. - # Mais parfois il peut y avoir plusieurs DWGs dont un seul est utile --> PASS -- Je laisse l'opérateur choisir lequel utiliser et le renommer manuellement. + # Mais parfois il peut y avoir plusieurs DWGs dont un seul est utile --> PASS -- Je laisse l'opérateur choisir lequel utiliser et le renommer manuellement. EDIT : Nathalie prefere que tous les fichier DWG soient préfixé avec Plan_ #TODO : verifier aussi la longueur des noms de fichiers. Notifier si nécessaire - def formatter_vers_ArcGIS(self, fichier): + def formatter_vers_ArcGIS(self, fichier_entree, fichier_sortie): """ Lit et formatte un fichier CSV pour son importation dans ArcGIS. Lit la 1ère ligne et s'assure de la présence des titres de colonnes, - formatte cette 1ère ligne, supprime les lignes vides puis change le séparateur d'élements en - ',' -- séparateur adapté pour ArcGIS -- + formatte cette 1ère ligne. + Supprime les lignes vides. + Change le séparateur décimal ',' en '.' (necessaire car sinon je ne peux convertir les strings en float) Notifie si nécessaire les points de controles qui ne passent pas. - Renomme le fichier formatté en "Point_fichier_IN.csv" + Met à jour l'attribut nb_points Contraintes : - - Le fichier CSV NÉCESSITE des ';' comme séparateur d'élements. - - Le fichier doit avoir exactement 5 colonnes. + - Le fichier CSV NÉCESSITE des ';' comme séparateur d'élements. (Normalement c'est toujours le cas de toutes façon) + - Le fichier doit avoir exactement 5 colonnes. TODO : vois si plus de souplesse avec le catchage de paramètres restants param user_input: nom complet d'un fichier csv - return: Le nombre de points du csv """ # titres des colonnes correctement formattés. - titres = "id_point;TYPE;X;Y;Z" + titres = "id_point;TYPE;X;Y;Z\n" - # On va traiter ligne par ligne le fichier, puis cette ligne sera ajouté - # a une liste. Finalement, on écrasera chaque ligne du fichier avec cette liste - df = open(fichier) - sortie = [] + sortie = [titres] # le fichier de sortie ( representé comme une liste de lignes ) contient un premiere ligne de titre - # analyser la premier ligne et formatter cette ligne + + df = open(fichier_entree, "r") ligne = df.readline() + + # analyser la premiere ligne et formatter cette ligne # Si le premier mot est un nombre Alors il manque les titres, dans # ce cas insérer une ligne. mots = ligne.split(sep=";", maxsplit=1) - if mots[0].isalpha(): + print(f"Mots[0] = {mots[0]}") + + + if mots[0].isnumeric(): #insérer ligne - sortie.append(titres) - else: sortie.append(ligne) + self.nb_points += 1 # la tête de lecture du descripteur de fichier ne reset pas sa position # donc on peut continuer le parcours des lignes directement for ligne_courante in df : - # enlever les espaces - ligne_courante = ligne_courante.replace(" ", "") - # si la ligne n'est pas vides alors - # TODO : changer le match en if ligne_courante not in ["", ";;;;"]: - match ligne_courante: - case "" | ";;;;": - pass - case _: - # controler la projection de ce point - id_point, type_, point_x, point_y, *autres = ligne_courante.split(sep=";") - projection = controller_projection(id_point, float(point_x), float(point_y)) - #TODO: notifier si pas bonne projection - # puis ajouter la ligne a la liste - sortie.append(ligne_courante) - # compter ce point - self.nb_points += 1 + courant = self.lire_ligne(ligne_courante) + sortie.append(courant) + # compter ce point + if courant not in "": + self.nb_points += 1 + df.close() # je reouvre le descripteur en mode w only pour ecrire le fichier + df = open(fichier_sortie, "w") + # écriture + for ligne in sortie: + print(f"{ligne}") + df.write(ligne) # NOTE: write() + + df.close() + - df + def lire_ligne(self, ligne): + """ + Analyse une chaine de caractère (concrètement, une ligne du CSV)/ + + remplace les séparateurs décimaux ',' par '.' + Notifie si nécessaire les points de controles qui ne passent pas. + Met à jour l'attribut nb_points + Met à jour la variable de controles + Contraintes : + - Le fichier CSV NÉCESSITE des ';' comme séparateur d'élements. + :return: une chaine de carac formatté pour ArcGIS + """ + print(f'ligne : "{ligne}"') + # enlever les espaces + ligne = ligne.replace(" ", "") + ligne = ligne.replace(",", ".") + # si la ligne n'est pas vides alors + # TODO : changer le match en if ligne not in ["", ";;;;"]: + match ligne: + case "" | ";;;;" |";;;;\n"| ";;;" | ";;;\n" | "\n": + ligne = "" + case _: + # controler la projection de ce point + id_point, type_, point_x, point_y, point_z, *autres = ligne.split(sep=";") + print(f"Typage point X : {type(point_x)}") + + #PRINT de controle + print(f"ID:{id_point}, TYPE:{type_}, X:{point_x}, Y:{point_y}, Z:{point_z}, *autres={autres}") + + projection = controller_projection(id_point, float(point_x), float(point_y)) + # notifier si pas bonne projection + if projection in "Mauvaise projection": + incident = _Notification("CSV", f"Point ID {id_point} : Mauvaise projection") + self.notifs.append(incident) + self.controles |= 2**2 + + return ligne + # TODO: afficher dans la sortie standard le point + + + def controler_longueur_noms(self): + """ + controle la longueur des noms des fichiers du projet. + + Notifie si necessaire les noms trop longs + """ + for fichier in self.fichiers: + match fichier.extension: + case "dwg": + if len(fichier.nom) > 30 : + self.notifier("DWG", f'"{fichier.nom}" : Nom trop long.') + case "csv" : + if len(fichier.nom) > 45 : + self.notifier("CSV", f'"{fichier.nom}" : Nom trop long.') + case "pdf" : + if len(fichier.nom) > 45 : + self.notifier("PDF", f'"{fichier.nom}" : Nom trop long.') + case _: + if len(fichier.nom) > 45 : + self.notifier("FRONT", f'"{fichier.nom}" : Nom trop long.') + + def notifier(self, categorie, texte): + """ + Ajoute une notification au _Projet + """ + incident = _Notification( categorie, texte) + self.notifs.append(incident) @@ -519,50 +776,50 @@ class _Notification: def __init__(self, categorie="Pas de catégorie", texte="Pas de texte"): - self.categorie = categorie + self.categorie = categorie # vu comme une énumération de l'ensemble {"CSV", "DWG", "PDF", "FRONT"} seule ces valeurs sont donc possible et traité par le script self.texte = texte -# -------------------------------------------------------------------------- # -# -------------------------------------------------------------------------- # -# MAIN +# # -------------------------------------------------------------------------- # +# # -------------------------------------------------------------------------- # +# # MAIN -racine = os.getcwd() -print("\nRépertoire courant : ".center(18), racine) +# racine = os.getcwd() +# print("\nRépertoire courant : ".center(18), racine) -# --recupérer le chemin du dossier à traiter -pas_de_dossier = True +# # --recupérer le chemin du dossier à traiter +# pas_de_dossier = True -for a in os.scandir(): - print("\ncourant scandir() = ", a.name.ljust(25), " ", a.is_dir()) - if a.is_dir(): - #il y a un dossier - pas_de_dossier = False - print(f"\nDossier à Traiter trouvé : {a.name}") - racine = a +# for a in os.scandir(): +# print("\ncourant scandir() = ", a.name.ljust(25), " ", a.is_dir()) +# if a.is_dir(): +# #il y a un dossier +# pas_de_dossier = False +# print(f"\nDossier à Traiter trouvé : {a.name}") +# racine = a -if pas_de_dossier: - print("\nPas de dossier trouvé...\nFin de programme.\n") - os.system("pause") - exit() +# if pas_de_dossier: +# print("\nPas de dossier trouvé...\nFin de programme.\n") +# os.system("pause") +# exit() -# Création entité projet et maj de ses attributs -projet = _Projet() +# # Création entité projet et maj de ses attributs +# projet = _Projet() -projet.dater() +# projet.dater() -projet.nommer() -# controle de la longueur du nom du projet -if len(projet.nom) >=46 : - print(f"\n{projet.nom} est un nom de dossier trop long (+ de 46 caractères). Veuillez raccourcir son nom\nFin de programme.\n") - os.system("pause") - exit() +# projet.nommer() +# # controle de la longueur du nom du projet +# if len(projet.nom) >=46 : +# print(f"\n{projet.nom} est un nom de dossier trop long (+ de 46 caractères). Veuillez raccourcir son nom\nFin de programme.\n") +# os.system("pause") +# exit() -projet.enraciner() +# projet.enraciner() -projet.rapport = f"{racine}\\Visa_lot_2.xlsx" +# projet.rapport = f"{racine}\\Visa_lot_2.xlsx" -projet.fichiers = creer_liste(projet.racine) +# projet.fichiers = creer_liste(projet.racine) diff --git a/test/JEUXDONNEES/dossier01/fichier01_ENTREE.csv b/test/JEUXDONNEES/dossier01/fichier01_ENTREE.csv new file mode 100644 index 0000000..f846866 --- /dev/null +++ b/test/JEUXDONNEES/dossier01/fichier01_ENTREE.csv @@ -0,0 +1,10 @@ +ID_POINTS;Type;x;a;w +1007;TACE;1604957.07;2169690.34;715.80 +1008;TEIC;1604959.44;2169692.70;716.01 +1009;TEIC;1604960.25;2169693.85;716.07 +1010;TEIC;1604959.70;2169694.24;715.99 +1011;TEIC;1604958.87;2169693.10;715.94 +1012;TACC;1604959.57;2169693.47;715.94 +1014;RCIC;1604957.15;2169690.71;715.39 +1016;RCCC;1604958.09;2169691.76;715.58 +1018;RCIC;1604959.06;2169692.91;715.58 \ No newline at end of file diff --git a/test/JEUXDONNEES/dossier01/fichier02_ENTREE.csv b/test/JEUXDONNEES/dossier01/fichier02_ENTREE.csv new file mode 100644 index 0000000..064e7aa --- /dev/null +++ b/test/JEUXDONNEES/dossier01/fichier02_ENTREE.csv @@ -0,0 +1,9 @@ +1007;TACE;1604957.07;2169690.34;715.80 +1008;TEIC;1604959.44;2169692.70;716.01 +1009;TEIC;1604960.25;2169693.85;716.07 +1010;TEIC;1604959.70;2169694.24;715.99 +1011;TEIC;1604958.87;2169693.10;715.94 +1012;TACC;1604959.57;2169693.47;715.94 +1014;RCIC;1604957.15;2169690.71;715.39 +1016;RCCC;1604958.09;2169691.76;715.58 +1018;RCIC;1604959.06;2169692.91;715.58 \ No newline at end of file diff --git a/test/JEUXDONNEES/dossier01/fichier03_ENTREE.csv b/test/JEUXDONNEES/dossier01/fichier03_ENTREE.csv new file mode 100644 index 0000000..7031910 --- /dev/null +++ b/test/JEUXDONNEES/dossier01/fichier03_ENTREE.csv @@ -0,0 +1,21 @@ +id_point;TYPE;X;Y;Z + +1007;TACE;1604957.07;2169690.34;715.80 + + + + +1008;TEIC;1604959.44;2169692.70;716.01 +1009;TEIC;1604960.25;2169693.85;716.07 +1010;TEIC;1604959.70;2169694.24;715.99 + + + +;;;; +;;; +1011;TEIC;1604958.87;2169693.10;715.94 +1012;TACC;1604959.57;2169693.47;715.94 +1014;RCIC;1604957.15;2169690.71;715.39 +1016;RCCC;1604958.09;2169691.76;715.58 +1018;RCIC;1604959.06;2169692.91;715.58 +;;; \ No newline at end of file diff --git a/test/JEUXDONNEES/dossier01/fichier04_ENTREE.csv b/test/JEUXDONNEES/dossier01/fichier04_ENTREE.csv new file mode 100644 index 0000000..dd58d6e --- /dev/null +++ b/test/JEUXDONNEES/dossier01/fichier04_ENTREE.csv @@ -0,0 +1,18 @@ +id_point;TYPE;X;Y;Z +1001;TEIC;1585702.06;2185080.612;466.282 +1002;TEIC;1585702.468;2185080.582;466.41 +1003;TEIC;1585702.586;2185081.047;466.6 +1004;TACC;1585702.456;2185080.899;466.892 +1005;RCIC;1585702.4207;2185081.2221;466.884 +1006;RCCC;1585702.459;2185081.647;466.878 +1007;RCIC;1585702.451;2185081.735;466.876 +1008;RCCC;1585702.365;2185081.808;466.896 +1009;RCIC;1585701.73;2185082.136;466.91 +1010;RCCC;1585700.807;2185082.299;466.931 +1011;RCIC;1585700.563;2185082.289;466.945 +1012;RCCC;1585700.363;2185082.184;466.956 +1013;RCIC;1585700.192;2185081.784;466.938 +1014;TACE;1585700.012;2185081.135;467.347 +1015;TEIE;1585699.952;2185081.673;466.758 +1016;TEIE;1585699.725;2185080.689;466.741 +1017;TEIE;1585700;2185080.592;466.733 \ No newline at end of file diff --git a/test/JEUXDONNEES/dossier01/fichier05_ENTREE.csv b/test/JEUXDONNEES/dossier01/fichier05_ENTREE.csv new file mode 100644 index 0000000..86a3af9 --- /dev/null +++ b/test/JEUXDONNEES/dossier01/fichier05_ENTREE.csv @@ -0,0 +1,1119 @@ +id_point;TYPE;X;Y;Z +1;RCCC;1574745.795;2173050.314;803.6 +2;RCCC;1574746.672;2173050.44;803.48 +3;RCCC;1574749.156;2173050.393;803.5 +4;RCCC;1574752.119;2173050.169;803.47 +5;RCCC;1574754.295;2173050.012;803.15 +8;RCCC;1575351.683;2174388.011;757.76 +9;RCCC;1575353.659;2174387.52;757.44 +10;RCCC;1575356.162;2174386.298;757.55 +11;RDCE;1572999.062;2169368.432;1052.62 +12;RDCE;1572933.405;2169484.954;1039.45 +13;RDCE;1573787.356;2171705.313;909.98 +14;RDCC;1574756.979;2173049.632;803.98 +15;RDCE;1575063.136;2173296.579;795.06 +16;RDCE;1575351.03;2174388.48;758.49 +17;RDCC;1575384.448;2174566.835;752.07 +18;RDCC;1575397.994;2174590.315;751.57 +19;RDCE;1575401.773;2174639.083;750.96 +21;RCCC;1575403.29;2174638.465;750.63 +22;RCCC;1575404.667;2174636.431;750.74 +24;RCCC;1575385.623;2174567.79;751.47 +25;RCIC;1575386.686;2174568.389;751.72 +26;RCIC;1575356.796;2174385.59;757.92 +27;RCCC;1575356.162;2174386.298;757.55 +28;RCCC;1575355.593;2174387.729;757.48 +29;RCCC;1575356.359;2174389.791;757.5 +30;RCCC;1575357.328;2174392.444;757.24 +31;RCCC;1575357.879;2174395.553;757.04 +32;RCCC;1575358.232;2174398.038;757.08 +33;RCCC;1575358.455;2174401.063;757.04 +34;RCCC;1575359.397;2174403.792;756.86 +35;RCCC;1575360.12;2174407.224;756.66 +36;RCCC;1575360.684;2174412.781;756.32 +37;RCCC;1575361.265;2174417.82;755.93 +38;RCCC;1575361.77;2174422.155;755.57 +39;RCCC;1575362.223;2174425.483;755.33 +40;RCCC;1575362.904;2174430.43;754.89 +41;RCCC;1575363.448;2174435.121;754.64 +42;RCCC;1575364.082;2174440.556;754.35 +43;RCCC;1575364.645;2174446.261;754.1 +44;RCCC;1575365.007;2174452.11;753.89 +45;RCCC;1575365.262;2174457.661;753.61 +46;RCCC;1575365.597;2174463.129;753.46 +47;RCCC;1575365.973;2174468.047;753.34 +48;RCCC;1575366.535;2174473.833;753.23 +49;RCCC;1575366.979;2174479.319;753.11 +50;RCCC;1575367.483;2174484.975;753.04 +51;RCCC;1575368.063;2174491.622;752.93 +52;RCCC;1575368.568;2174497.969;752.76 +53;RCCC;1575369.011;2174503.313;752.62 +54;RCCC;1575369.508;2174508.868;752.57 +55;RCCC;1575369.948;2174514.289;752.54 +56;RCCC;1575370.408;2174519.537;752.38 +57;RCCC;1575370.928;2174524.951;752.27 +58;RCCC;1575371.382;2174530.02;752.16 +59;RCCC;1575371.883;2174535.264;752.06 +60;RCCC;1575372.646;2174539.833;751.89 +61;RCCC;1575373.836;2174543.796;751.86 +62;RCCC;1575375.034;2174546.864;751.81 +63;RCCC;1575376.407;2174550.107;751.83 +64;RCCC;1575378.147;2174553.322;751.73 +65;RCCC;1575380.231;2174556.655;751.62 +66;RCCC;1575382.507;2174560.478;751.54 +67;RCCC;1575384.333;2174563.875;751.53 +68;RCCC;1575385.644;2174566.332;751.36 +69;RCIC;1575386.686;2174568.389;751.72 +70;TEIC;1575386.873;2174568.234;751.12 +71;TEIC;1575387.675;2174569.201;751.08 +72;TACC;1575387.058;2174568.802;751.13 +73;TEIC;1575387.302;2174569.511;751.09 +74;TEIC;1575356.466;2174385.617;757.32 +75;TEIC;1575356.35;2174384.198;757.32 +76;TACC;1575356.738;2174384.88;757.92 +77;TEIC;1575357.007;2174384.12;757.32 +79;RCCC;1575062.448;2173297.249;794.37 +80;RCCC;1575061.796;2173298.743;794.16 +81;RCCC;1575060.745;2173302.274;793.9 +82;RCCC;1575059.131;2173306.33;793.95 +83;RCIC;1575058.417;2173308.331;794.48 +84;TEIC;1575058.652;2173308.199;793.88 +85;TEIC;1575059.275;2173309.309;793.84 +86;TACC;1575058.729;2173308.886;794.44 +87;TEIC;1575058.809;2173309.578;793.85 +88;RCIC;1574745.374;2173049.946;804.21 +89;RCCC;1574745.795;2173050.314;803.6 +90;RCCC;1574747.013;2173051.05;803.77 +91;RCCC;1574749.821;2173054.149;803.74 +92;RCCC;1574753.232;2173057.906;803.64 +93;RCCC;1574756.445;2173061.417;803.45 +94;RCCC;1574759.541;2173064.886;803.27 +95;RCCC;1574762.855;2173068.493;803.07 +96;RCCC;1574765.752;2173071.801;802.87 +97;RCCC;1574769.405;2173075.813;802.6 +98;RCCC;1574772.616;2173079.367;802.41 +99;RCCC;1574775.975;2173083.014;802.25 +100;RCCC;1574779.209;2173086.506;802.08 +101;RCCC;1574782.545;2173089.901;801.83 +102;RCCC;1574786.232;2173093.621;801.64 +103;RCCC;1574790.226;2173097.624;801.45 +104;RCCC;1574794.153;2173101.414;801.3 +105;RCCC;1574798.156;2173105.1;801.15 +106;RCCC;1574802.065;2173108.459;801.06 +107;RCCC;1574805.532;2173111.27;800.91 +108;RCCC;1574808.917;2173114.227;800.77 +109;RCCC;1574810.094;2173115.448;800.86 +110;RCCC;1574810.661;2173117.303;800.58 +111;RCCC;1574811.257;2173117.997;800.35 +112;RCCC;1574812.976;2173119.365;800.51 +113;RCCC;1574814.423;2173120.547;800.41 +114;RCCC;1574815.222;2173120.837;800.44 +115;RCCC;1574817.239;2173122.576;800.4 +116;RCCC;1574818.627;2173123.798;800.41 +117;RCCC;1574819.048;2173124.573;800.43 +118;RCCC;1574820.523;2173126.087;800.24 +119;RCCC;1574821.679;2173127.379;799.98 +120;RCCC;1574824.13;2173130.044;799.52 +121;RCCC;1574824.996;2173130.935;799.87 +122;RCCC;1574826.123;2173132.005;800.06 +123;RCCC;1574827.931;2173133.599;800.01 +124;RCCC;1574829.133;2173135.318;799.93 +125;RCCC;1574831.675;2173139.27;799.69 +126;RCCC;1574834.682;2173144.713;799.36 +127;RCCC;1574837.352;2173150.055;799.33 +128;RCCC;1574840.071;2173155.565;799.06 +129;RCCC;1574842.448;2173160.306;798.92 +130;RCCC;1574845.079;2173165.33;798.71 +131;RCCC;1574847.181;2173169.138;798.55 +132;RCCC;1574849.7;2173173.096;798.38 +133;RCCC;1574851.91;2173176.241;798.11 +134;RCCC;1574853.917;2173178.703;797.99 +135;RCCC;1574856.774;2173181.53;797.72 +136;RCCC;1574859.182;2173183.826;797.62 +137;RCCC;1574862.193;2173186.056;797.34 +138;RCCC;1574865.839;2173188.703;797.09 +139;RCCC;1574869.962;2173191.362;796.79 +140;RCCC;1574874.551;2173193.964;796.65 +141;RCCC;1574879.616;2173196.873;796.16 +142;RCCC;1574884.273;2173199.477;796.19 +143;RCCC;1574889.555;2173202.143;795.96 +144;RCCC;1574896.395;2173205.695;795.79 +145;RCCC;1574903.101;2173209.304;795.61 +146;RCCC;1574908.926;2173212.455;795.45 +147;RCCC;1574913.917;2173215.016;795.41 +148;RCCC;1574918.742;2173217.729;795.26 +149;RCCC;1574923.386;2173220.267;795.22 +150;RCCC;1574927.841;2173222.778;795.18 +151;RCCC;1574932.19;2173225.109;795.19 +152;RCCC;1574936.965;2173227.53;794.9 +153;RCCC;1574941.596;2173229.94;794.84 +154;RCCC;1574946.056;2173231.752;794.8 +155;RCCC;1574950.184;2173233.267;794.73 +156;RCCC;1574953.673;2173234.511;794.61 +157;RCCC;1574961.492;2173237.443;794.63 +158;RCCC;1574966.171;2173238.845;794.57 +159;RCCC;1574970.331;2173240.039;794.39 +160;RCCC;1574974.498;2173241.404;794.26 +161;RCCC;1574979.323;2173243.029;794.22 +162;RCCC;1574984.609;2173245.207;794.11 +163;RCCC;1574989.739;2173247.531;794.03 +164;RCCC;1574996.057;2173250.739;794.01 +165;RCCC;1575000.57;2173253.197;794.01 +166;RCCC;1575005.075;2173256.027;794.01 +167;RCCC;1575009.026;2173258.542;794.0 +168;RCCC;1575013.456;2173261.38;794.05 +169;RCCC;1575017.338;2173264.165;794.06 +170;RCCC;1575021.662;2173267.436;794.13 +171;RCCC;1575026.8;2173271.441;794.09 +172;RCCC;1575030.396;2173274.385;794.09 +173;RCCC;1575034.401;2173277.493;794.19 +174;RCCC;1575039.3;2173281.921;794.34 +175;RCCC;1575042.774;2173285.713;794.39 +176;RCCC;1575046.4;2173289.625;794.35 +177;RCCC;1575049.433;2173293.709;794.29 +178;RCCC;1575052.393;2173297.86;794.35 +179;RCCC;1575055.502;2173302.65;794.33 +180;RCCC;1575057.922;2173306.913;794.19 +181;RCIC;1575058.417;2173308.331;794.48 +182;TEIC;1574745.147;2173050.163;803.61 +183;TACC;1574744.892;2173049.383;804.23 +184;TEIC;1574745.613;2173049.741;803.63 +185;TEIC;1574744.647;2173048.615;803.69 +186;RCIC;1574744.409;2173048.82;804.29 +187;RCCC;1574743.206;2173047.026;803.79 +188;RCCC;1574739.634;2173043.264;803.92 +189;RCCC;1574735.922;2173039.225;804.17 +190;RCCC;1574733.188;2173036.282;804.19 +191;RCCC;1574730.031;2173032.619;804.39 +192;RCCC;1574726.884;2173029.085;804.55 +193;RCCC;1574723.773;2173025.636;804.62 +194;RCCC;1574720.536;2173022.123;804.8 +195;RCCC;1574716.847;2173018.097;805.05 +196;RCCC;1574713.409;2173014.318;805.27 +197;RCCC;1574709.731;2173010.328;805.44 +198;RCCC;1574705.948;2173006.602;805.42 +199;RCCC;1574702.747;2173003.375;805.7 +200;RCCC;1574699.124;2172999.496;805.9 +201;RCCC;1574695.717;2172995.759;805.93 +202;RCCC;1574692.227;2172992.039;805.91 +203;RCCC;1574688.483;2172988.134;806.04 +204;RCCC;1574685.344;2172984.639;806.1 +205;RCCC;1574681.936;2172980.87;806.17 +206;RCCC;1574678.543;2172977.351;806.23 +207;RCCC;1574675.097;2172973.723;806.32 +208;RCCC;1574672.396;2172970.944;806.31 +209;RCCC;1574668.31;2172966.82;806.78 +210;RCCC;1574664.909;2172963.185;806.47 +211;RCCC;1574662.587;2172960.235;806.58 +212;RCCC;1574660.581;2172957.221;806.61 +213;RCCC;1574657.859;2172954.023;806.82 +214;RCCC;1574655.214;2172950.795;806.96 +215;RCCC;1574652.379;2172947.877;807.02 +216;RCCC;1574649.784;2172944.904;806.91 +217;RCCC;1574647.047;2172942.393;807.22 +218;RCCC;1574644.184;2172939.628;807.29 +219;RCCC;1574641.627;2172937.119;807.56 +220;RCCC;1574638.185;2172933.648;807.71 +221;RCCC;1574634.686;2172930.367;807.73 +222;RCCC;1574631.459;2172927.486;807.82 +223;RCCC;1574628.417;2172924.654;808.33 +224;RCCC;1574624.077;2172920.673;807.97 +225;RCCC;1574620.718;2172917.579;808.25 +226;RCCC;1574616.786;2172914.065;808.34 +227;RCCC;1574613.612;2172911.49;808.33 +228;RCCC;1574610.07;2172908.234;808.4 +229;RCCC;1574606.478;2172904.84;808.55 +230;RCCC;1574603.097;2172901.738;808.74 +231;RCCC;1574599.6;2172898.698;808.89 +232;RCCC;1574595.538;2172894.982;808.9 +233;RCCC;1574592.472;2172892.22;809.03 +234;RCCC;1574589.355;2172889.27;809.25 +235;RCCC;1574584.78;2172885.065;809.19 +236;RCCC;1574581.81;2172882.28;809.34 +237;RCCC;1574579.897;2172880.296;809.42 +238;RCCC;1574578.57;2172878.035;809.53 +239;RCCC;1574577.228;2172875.573;809.54 +240;RCCC;1574575.85;2172874.014;809.57 +241;RCCC;1574573.23;2172871.703;809.76 +242;RCCC;1574569.76;2172868.567;809.93 +243;RCCC;1574565.781;2172865.158;810.15 +244;RCCC;1574562.208;2172862.117;810.35 +245;RCCC;1574558.88;2172859.422;810.6 +246;RCCC;1574554.84;2172856.392;810.76 +247;RCCC;1574550.711;2172853.494;811.15 +248;RCCC;1574547.719;2172851.447;811.54 +249;RCCC;1574543.393;2172848.845;811.97 +250;RCCC;1574539.089;2172846.283;812.21 +251;RCCC;1574534.826;2172844.003;812.89 +252;RCCC;1574530.727;2172841.562;813.18 +253;RCCC;1574526.244;2172839.251;813.62 +254;RCCC;1574521.347;2172836.592;813.93 +255;RCCC;1574516.578;2172833.758;813.96 +256;RCCC;1574512.774;2172831.52;814.31 +257;RCCC;1574508.71;2172829.27;814.65 +258;RCCC;1574504.062;2172826.949;814.94 +259;RCCC;1574499.811;2172824.953;815.23 +260;RCCC;1574495.217;2172822.926;815.45 +261;RCCC;1574490.748;2172821.152;815.67 +262;RCCC;1574486.855;2172819.734;815.95 +263;RCCC;1574483.035;2172818.221;815.98 +264;RCCC;1574480.123;2172817.208;816.12 +265;RCCC;1574477.945;2172816.707;816.21 +266;RCCC;1574475.26;2172816.436;816.22 +267;RCCC;1574472.99;2172816.267;816.22 +268;RCCC;1574471.397;2172815.835;816.31 +269;RCCC;1574468.563;2172814.591;816.31 +270;RCCC;1574464.56;2172812.756;816.4 +271;RCCC;1574461.019;2172811.037;816.54 +272;RCCC;1574456.879;2172808.725;816.71 +273;RCCC;1574453.182;2172806.693;816.89 +274;RCCC;1574449.381;2172804.513;816.92 +275;RCCC;1574445.413;2172802.022;816.98 +276;RCCC;1574441.747;2172799.673;817.13 +277;RCCC;1574437.746;2172797.076;817.49 +278;RCCC;1574433.857;2172794.509;817.52 +279;RCCC;1574429.298;2172791.425;817.54 +280;RCCC;1574425.087;2172788.195;817.72 +281;RCCC;1574420.322;2172784.705;817.86 +282;RCCC;1574415.035;2172780.987;818.1 +283;RCCC;1574408.044;2172776.468;818.3 +284;RCCC;1574404.782;2172774.4;818.49 +285;RCCC;1574400.673;2172771.693;818.55 +286;RCCC;1574395.977;2172768.565;818.48 +287;RCCC;1574389.906;2172764.929;818.63 +288;RCCC;1574383.617;2172760.87;818.89 +289;RCCC;1574377.06;2172756.701;819.09 +290;RCCC;1574373.098;2172754.263;818.97 +291;RCCC;1574368.463;2172751.453;819.02 +292;RCCC;1574361.729;2172747.607;822.69 +293;RCCC;1574352.721;2172743.025;821.72 +294;RCCC;1574348.276;2172740.415;822.15 +295;RCCC;1574341.86;2172737.043;822.48 +296;RCCC;1574334.828;2172734.24;819.85 +297;RCCC;1574329.314;2172731.993;820.22 +298;RCCC;1574325.259;2172730.437;820.43 +299;RCCC;1574321.839;2172729.21;820.57 +300;RCCC;1574318.816;2172728.191;820.68 +301;RCCC;1574316.946;2172727.243;820.77 +302;RCCC;1574314.599;2172725.804;820.98 +303;RCCC;1574312.743;2172724.808;821.07 +304;RCCC;1574309.162;2172723.026;821.57 +305;RCCC;1574305.586;2172721.246;821.47 +306;RCCC;1574302.848;2172719.863;821.69 +307;RCCC;1574299.554;2172717.943;821.87 +308;RCCC;1574296.312;2172715.827;822.24 +309;RCCC;1574293.483;2172713.845;822.35 +310;RCCC;1574290.54;2172711.981;822.75 +311;RCCC;1574287.597;2172709.822;823.01 +312;RCCC;1574284.349;2172707.478;823.55 +313;RCCC;1574281.679;2172705.315;823.79 +314;RCCC;1574280.437;2172703.938;824.03 +315;RCCC;1574279.194;2172702.3;824.19 +316;RCCC;1574277.775;2172699.916;824.42 +317;RCCC;1574276.011;2172696.706;824.78 +318;RCCC;1574275.017;2172694.319;825.05 +319;RCCC;1574273.871;2172692.156;825.27 +320;RCCC;1574272.905;2172691.281;825.46 +321;RCCC;1574270.472;2172689.135;825.82 +322;RCCC;1574268.017;2172686.608;826.11 +323;RCCC;1574265.113;2172684.668;826.5 +324;RCCC;1574262.181;2172682.561;826.83 +325;RCCC;1574259.191;2172680.281;827.3 +326;RCCC;1574255.396;2172677.518;827.87 +327;RCCC;1574252.346;2172675.325;828.15 +328;RCCC;1574248.926;2172673.089;828.58 +329;RCCC;1574245.529;2172670.975;829.06 +330;RCCC;1574241.979;2172668.832;829.56 +331;RCCC;1574238.484;2172666.721;829.93 +332;RCCC;1574234.874;2172664.576;830.24 +333;RCCC;1574230.422;2172662.301;830.47 +334;RCCC;1574226.351;2172660.321;830.84 +335;RCCC;1574222.499;2172658.155;831.14 +336;RCCC;1574218.185;2172655.887;831.5 +337;RCCC;1574214.064;2172653.461;831.76 +338;RCCC;1574208.119;2172650.093;832.45 +339;RCCC;1574202.174;2172646.724;833.0 +340;RCCC;1574198.385;2172644.231;833.46 +341;RCCC;1574195.053;2172641.884;833.83 +342;RCCC;1574191.588;2172639.349;834.26 +343;RCCC;1574188.354;2172636.965;834.61 +344;RCCC;1574185.151;2172634.476;835.0 +345;RCCC;1574181.42;2172631.62;835.48 +346;RCCC;1574178.356;2172629.373;835.74 +347;RCCC;1574175.023;2172626.802;836.25 +348;RCCC;1574172.132;2172624.509;836.62 +349;RCCC;1574169.625;2172623.073;836.9 +350;RCCC;1574169.067;2172621.507;837.15 +351;RCCC;1574169.049;2172619.608;837.01 +352;RCCC;1574169.473;2172617.89;837.33 +353;RCCC;1574170.264;2172616.134;838.66 +354;RCCC;1574171.542;2172614.899;839.53 +355;RCCC;1574172.91;2172614.187;839.98 +356;RCCC;1574174.864;2172613.882;840.27 +357;RCCC;1574177.751;2172614.356;840.58 +358;RCCC;1574180.68;2172615.018;840.96 +359;RCCC;1574184.083;2172615.136;841.32 +360;RCCC;1574187.818;2172615.527;841.7 +361;RCCC;1574191.639;2172616.037;841.83 +362;RCCC;1574195.413;2172616.534;841.96 +363;RCCC;1574198.581;2172616.582;842.17 +364;RCCC;1574202.112;2172616.269;842.42 +365;RCCC;1574203.769;2172615.704;842.51 +366;RCCC;1574205.003;2172614.476;842.6 +367;RCCC;1574205.709;2172612.814;842.93 +368;RCCC;1574206.2;2172610.659;843.3 +369;RCCC;1574206.7;2172608.781;843.81 +370;RCCC;1574206.584;2172607.187;844.19 +371;RCCC;1574205.502;2172605.531;844.46 +372;RCCC;1574203.287;2172603.587;844.75 +373;RCCC;1574200.663;2172601.793;844.96 +374;RCCC;1574198.079;2172599.999;845.48 +375;RCCC;1574195.145;2172598.218;845.68 +376;RCCC;1574191.357;2172595.779;846.02 +377;RCCC;1574187.511;2172593.349;846.45 +378;RCCC;1574184.392;2172590.912;846.78 +379;RCCC;1574181.264;2172588.596;848.14 +380;RCCC;1574178.773;2172586.649;847.56 +381;RCCC;1574175.066;2172583.725;848.2 +382;RCCC;1574171.617;2172581.168;848.72 +383;RCCC;1574168.414;2172578.67;849.05 +384;RCCC;1574164.894;2172576.021;849.51 +385;RCCC;1574161.585;2172573.547;849.98 +386;RCCC;1574158.471;2172571.112;850.43 +387;RCCC;1574155.657;2172568.767;850.78 +388;RCCC;1574152.92;2172566.367;851.04 +389;RCCC;1574151.471;2172564.843;851.37 +390;RCCC;1574150.893;2172563.437;851.48 +391;RCCC;1574149.645;2172560.501;851.78 +392;RCCC;1574148.644;2172558.722;851.93 +393;RCCC;1574146.191;2172555.658;852.3 +394;RCCC;1574143.433;2172552.134;852.81 +395;RCCC;1574141.448;2172549.194;853.18 +396;RCCC;1574139.432;2172545.878;853.55 +397;RCCC;1574137.579;2172542.299;853.96 +398;RCCC;1574135.326;2172538.068;854.48 +399;RCCC;1574133.537;2172534.058;855.02 +400;RCCC;1574131.866;2172530.198;855.55 +401;RCCC;1574130.261;2172526.336;855.86 +402;RCCC;1574128.674;2172522.175;856.45 +403;RCCC;1574127.374;2172518.846;856.71 +404;RCCC;1574125.844;2172514.975;857.28 +405;RCCC;1574124.085;2172510.766;857.68 +406;RCCC;1574122.606;2172506.875;858.16 +407;RCCC;1574121.039;2172502.871;858.66 +408;RCCC;1574119.355;2172498.736;859.04 +409;RCCC;1574117.875;2172495.069;859.53 +410;RCCC;1574116.151;2172490.737;859.94 +411;RCCC;1574114.329;2172486.356;860.38 +412;RCCC;1574112.697;2172482.124;860.86 +413;RCCC;1574111.524;2172478.533;861.16 +414;RCCC;1574110.437;2172474.838;861.59 +415;RCCC;1574109.281;2172471.493;861.89 +416;RCCC;1574108.164;2172468.943;862.24 +417;RCCC;1574107.096;2172467.361;862.41 +418;RCIC;1574106.25;2172466.316;863.29 +419;TEIC;1574106.168;2172465.017;862.72 +420;TEIC;1574106.495;2172466.251;862.63 +421;TACC;1574106.086;2172465.699;863.23 +422;TEIC;1574106.005;2172466.381;862.69 +423;RCIC;1573894.485;2171777.593;910.04 +424;RCCC;1573895.074;2171777.713;909.3 +425;RCCC;1573897.841;2171779.34;909.44 +426;RCCC;1573901.202;2171781.468;909.67 +427;RCCC;1573904.563;2171783.318;909.7 +428;RCCC;1573908.35;2171785.502;909.94 +429;RCCC;1573912.185;2171787.626;910.12 +430;RCCC;1573916.107;2171789.809;910.34 +431;RCCC;1573920.074;2171792.029;910.48 +432;RCCC;1573924.139;2171794.323;910.66 +433;RCCC;1573927.249;2171795.964;910.75 +434;RCCC;1573929.218;2171796.863;910.74 +435;RCCC;1573931.353;2171797.307;910.72 +436;RCCC;1573933.492;2171798.017;910.68 +437;RCCC;1573936.182;2171799.706;910.81 +438;RCCC;1573939.063;2171801.855;910.89 +439;RCCC;1573942.105;2171804.304;910.81 +440;RCCC;1573945.423;2171807.341;910.86 +441;RCCC;1573948.045;2171810.138;910.89 +442;RCCC;1573950.58;2171813.016;910.79 +443;RCCC;1573952.876;2171815.884;910.84 +444;RCCC;1573955.161;2171819.126;910.71 +445;RCCC;1573957.268;2171822.181;910.67 +446;RCCC;1573959.446;2171825.481;910.62 +447;RCCC;1573962.029;2171829.917;910.61 +448;RCCC;1573964.353;2171834.062;910.65 +449;RCCC;1573966.253;2171837.447;910.58 +450;RCCC;1573968.358;2171841.581;910.73 +451;RCCC;1573970.104;2171845.492;910.49 +452;RCCC;1573971.737;2171849.138;910.71 +453;RCCC;1573973.988;2171852.142;911.71 +454;RCCC;1573975.653;2171856.17;912.08 +455;RCCC;1573976.739;2171859.418;911.58 +456;RCCC;1573977.073;2171864.701;909.73 +457;RCCC;1573978.143;2171868.936;909.75 +458;RCCC;1573979.041;2171872.858;909.62 +459;RCCC;1573979.797;2171876.941;909.35 +460;RCCC;1573980.462;2171881.159;909.1 +461;RCCC;1573980.892;2171884.681;909.31 +462;RCCC;1573981.253;2171888.669;909.13 +463;RCCC;1573981.457;2171892.492;909.19 +464;RCCC;1573981.576;2171897.17;909.21 +465;RCCC;1573981.696;2171901.918;908.83 +466;RCCC;1573981.676;2171906.024;908.61 +467;RCCC;1573981.679;2171910.139;908.43 +468;RCCC;1573981.618;2171914.069;908.44 +469;RCCC;1573981.548;2171918.32;908.25 +470;RCCC;1573981.536;2171922.112;908.03 +471;RCCC;1573981.634;2171926.581;908.02 +472;RCCC;1573981.88;2171930.885;907.79 +473;RCCC;1573982.165;2171935.46;907.7 +474;RCCC;1573982.585;2171940.017;907.39 +475;RCCC;1573983.002;2171944.008;907.09 +476;RCCC;1573983.627;2171948.172;906.97 +477;RCCC;1573984.48;2171952.796;906.75 +478;RCCC;1573985.121;2171956.496;906.67 +479;RCCC;1573985.422;2171959.982;910.8 +480;RCCC;1573986.438;2171965.058;906.33 +481;RCCC;1573987.297;2171969.506;906.03 +482;RCCC;1573987.998;2171973.326;905.97 +483;RCCC;1573988.735;2171977.757;905.89 +484;RCCC;1573989.595;2171982.09;905.75 +485;RCCC;1573990.51;2171987.189;905.46 +486;RCCC;1573991.247;2171991.627;905.24 +487;RCCC;1573991.819;2171995.981;905.08 +488;RCCC;1573992.342;2172000.775;904.88 +489;RCCC;1573992.526;2172005.124;905.16 +490;RCCC;1573992.714;2172008.391;904.75 +491;RCCC;1573992.341;2172011.071;904.72 +492;RCCC;1573991.403;2172013.458;904.69 +493;RCCC;1573990.42;2172015.519;904.48 +494;RCCC;1573990.219;2172016.82;904.47 +495;RCCC;1573990.043;2172019.183;904.5 +496;RCCC;1573989.782;2172023.145;904.34 +497;RCCC;1573989.467;2172027.603;904.28 +498;RCCC;1573989.229;2172031.735;904.31 +499;RCCC;1573989.108;2172035.936;903.88 +500;RCCC;1573989.07;2172040.018;903.82 +501;RCCC;1573989.047;2172044.67;903.73 +502;RCCC;1573988.898;2172049.143;903.67 +503;RCCC;1573988.758;2172053.793;903.4 +504;RCCC;1573988.705;2172058.353;903.28 +505;RCCC;1573988.593;2172063.565;902.65 +506;RCCC;1573988.247;2172069.102;902.76 +507;RCCC;1573988.021;2172073.381;902.58 +508;RCCC;1573987.704;2172077.722;902.33 +509;RCCC;1573986.998;2172083.473;902.27 +510;RCCC;1573986.605;2172087.325;902.06 +511;RCCC;1573985.993;2172091.801;901.93 +512;RCCC;1573985.528;2172095.652;901.85 +513;RCCC;1573984.895;2172099.896;901.71 +514;RCCC;1573984.377;2172103.965;901.55 +515;RCCC;1573983.979;2172107.773;901.49 +516;RCCC;1573983.614;2172111.644;901.28 +517;RCCC;1573983.42;2172115.906;901.16 +518;RCCC;1573983.253;2172119.817;901.15 +519;RCCC;1573983.016;2172123.636;900.88 +520;RCCC;1573983.038;2172126.898;900.56 +521;RCCC;1573983.31;2172129.824;900.37 +522;RCCC;1573984.071;2172133.243;900.19 +523;RCCC;1573984.845;2172136.741;899.95 +524;RCCC;1573985.926;2172140.492;899.65 +525;RCCC;1573987.482;2172145.066;899.07 +526;RCCC;1573989.085;2172149.748;898.64 +527;RCCC;1573990.675;2172154.514;898.21 +528;RCCC;1573992.281;2172159.585;897.64 +529;RCCC;1573993.746;2172164.099;897.23 +530;RCCC;1573995.173;2172168.546;896.82 +531;RCCC;1573996.754;2172173.366;896.31 +532;RCCC;1573998.47;2172178.432;895.53 +533;RCCC;1573999.961;2172182.785;895.14 +534;RCCC;1574001.434;2172187.428;894.59 +535;RCCC;1574003.052;2172192.29;894.15 +536;RCCC;1574004.791;2172197.427;893.61 +537;RCCC;1574006.586;2172202.379;892.95 +538;RCCC;1574007.904;2172206.215;892.52 +539;RCCC;1574009.521;2172210.162;892.09 +540;RCCC;1574011.014;2172213.694;891.66 +541;RCCC;1574012.602;2172217.336;891.32 +542;RCCC;1574014.661;2172221.998;890.71 +543;RCCC;1574016.977;2172226.885;890.13 +544;RCCC;1574019.544;2172232.666;889.38 +545;RCCC;1574021.989;2172237.44;888.79 +546;RCCC;1574024.075;2172241.749;888.35 +547;RCCC;1574026.418;2172246.421;887.82 +548;RCCC;1574028.614;2172250.814;887.27 +549;RCCC;1574031.159;2172255.779;886.68 +550;RCCC;1574033.652;2172260.498;886.07 +551;RCCC;1574035.899;2172264.533;885.64 +552;RCCC;1574038.525;2172269.318;885.0 +553;RCCC;1574040.903;2172273.728;884.51 +554;RCCC;1574042.9;2172277.508;884.08 +555;RCCC;1574045.301;2172282.107;883.56 +556;RCCC;1574047.575;2172286.503;882.89 +557;RCCC;1574050.117;2172291.516;882.4 +558;RCCC;1574052.431;2172296.228;881.84 +559;RCCC;1574054.603;2172300.67;881.29 +560;RCCC;1574056.807;2172305.524;880.72 +561;RCCC;1574058.92;2172310.255;880.1 +562;RCCC;1574061.08;2172315.175;879.6 +563;RCCC;1574063.149;2172320.104;878.98 +564;RCCC;1574065.071;2172324.737;878.38 +565;RCCC;1574066.967;2172329.759;877.94 +566;RCCC;1574068.632;2172334.354;877.49 +567;RCCC;1574070.447;2172339.31;876.78 +568;RCCC;1574072.161;2172344.133;876.5 +569;RCCC;1574073.725;2172348.882;875.8 +570;RCCC;1574074.995;2172353.245;875.35 +571;RCCC;1574076.428;2172357.604;874.75 +572;RCCC;1574077.616;2172361.454;874.32 +573;RCCC;1574078.783;2172365.862;873.82 +574;RCCC;1574079.846;2172370.887;873.19 +575;RCCC;1574080.643;2172374.93;872.6 +576;RCCC;1574081.393;2172379.438;872.26 +577;RCCC;1574081.935;2172383.677;871.8 +578;RCCC;1574082.359;2172389.024;871.41 +579;RCCC;1574082.607;2172392.978;871.03 +580;RCCC;1574082.832;2172397.681;870.47 +581;RCCC;1574082.972;2172402.372;869.94 +582;RCCC;1574083.149;2172406.937;869.66 +583;RCCC;1574083.444;2172410.947;869.29 +584;RCCC;1574083.846;2172415.033;868.85 +585;RCCC;1574084.324;2172418.239;868.57 +586;RCCC;1574084.89;2172421.425;868.19 +587;RCCC;1574085.683;2172424.202;867.99 +588;RCCC;1574086.898;2172427.334;867.56 +589;RCCC;1574088.296;2172430.455;867.25 +590;RCCC;1574090.124;2172433.977;866.75 +591;RCCC;1574092.065;2172437.263;866.31 +592;RCCC;1574093.793;2172439.626;865.8 +593;RCCC;1574095.417;2172440.845;865.63 +594;RCCC;1574097.854;2172442.52;865.33 +595;RCCC;1574099.532;2172443.905;864.96 +596;RCCC;1574101.277;2172446.031;864.76 +597;RCCC;1574103.396;2172449.107;864.42 +598;RCCC;1574104.846;2172451.31;864.05 +599;RCCC;1574105.769;2172453.449;864.46 +600;RCCC;1574106.629;2172456.74;863.48 +601;RCCC;1574106.962;2172459.313;863.13 +602;RCCC;1574106.791;2172460.879;863.12 +603;RCCC;1574106.531;2172462.655;862.64 +604;RCCC;1574106.003;2172464.201;862.58 +605;RCIC;1574105.923;2172465.082;863.32 +606;TEIC;1573893.358;2171776.535;909.24 +607;TEIC;1573894.66;2171777.293;909.26 +608;TACC;1573893.834;2171777.214;909.86 +609;TEIC;1573894.298;2171777.886;909.44 +610;RCIC;1573790.081;2171706.13;909.97 +611;RCCC;1573791.015;2171706.728;909.32 +612;RCCC;1573792.747;2171708.492;909.05 +613;RCCC;1573794.73;2171710.028;908.92 +614;RCCC;1573797.05;2171711.138;908.9 +615;RCCC;1573798.403;2171711.627;908.74 +616;RCCC;1573800.975;2171712.65;908.66 +617;RCCC;1573803.278;2171713.829;908.61 +618;RCCC;1573807.064;2171716.404;908.41 +619;RCCC;1573810.481;2171718.748;908.24 +620;RCCC;1573814.031;2171721.014;908.19 +621;RCCC;1573818.076;2171723.678;907.9 +622;RCCC;1573821.911;2171726.386;908.0 +623;RCCC;1573826.192;2171729.35;907.53 +624;RCCC;1573829.718;2171731.704;907.77 +625;RCCC;1573833.797;2171734.534;907.73 +626;RCCC;1573838.624;2171737.954;907.8 +627;RCCC;1573842.968;2171741.303;907.41 +628;RCCC;1573847.332;2171744.433;907.69 +629;RCCC;1573850.648;2171746.662;907.82 +630;RCCC;1573854.747;2171749.534;907.82 +631;RCCC;1573858.271;2171752.052;907.87 +632;RCCC;1573862.22;2171754.848;908.02 +633;RCCC;1573865.432;2171757.212;908.1 +634;RCCC;1573867.342;2171759.08;908.13 +635;RCCC;1573869.659;2171762.119;908.21 +636;RCCC;1573871.256;2171763.938;908.49 +637;RCCC;1573873.435;2171765.459;908.36 +638;RCCC;1573877.033;2171767.654;908.54 +639;RCCC;1573880.288;2171769.585;908.7 +640;RCCC;1573883.214;2171771.207;909.48 +641;RCCC;1573886.554;2171772.869;908.89 +642;RCCC;1573890.041;2171774.744;909.04 +643;RCCC;1573892.456;2171776.363;909.18 +644;RCIC;1573893.183;2171776.835;909.84 +646;RCCC;1573787.673;2171704.798;909.11 +647;RCCC;1573788.789;2171704.7;909.01 +648;RCIC;1573789.693;2171705.638;909.97 +649;TEIC;1573790.268;2171705.982;909.37 +650;TEIC;1573789.88;2171705.49;909.37 +651;TACC;1573789.887;2171705.884;909.97 +652;TEIC;1573789.506;2171705.786;909.37 +654;RCCC;1575399.265;2174591.079;750.98 +655;RCCC;1575401.292;2174593.512;750.94 +656;RCCC;1575402.541;2174595.521;750.85 +657;RCCC;1575403.547;2174598.339;750.84 +658;RCCC;1575403.56;2174599.83;750.91 +659;RCIC;1575403.099;2174601.125;751.45 +660;RCIC;1575403.271;2174602.387;751.43 +661;RCCC;1575404.082;2174603.252;751.05 +662;RCCC;1575404.758;2174604.821;750.97 +663;RCCC;1575405.566;2174608.123;750.94 +664;RCCC;1575406.394;2174612.351;750.92 +665;RCCC;1575406.927;2174615.931;750.93 +666;RCCC;1575406.939;2174619.935;750.94 +667;RCCC;1575406.562;2174624.466;750.98 +668;RCCC;1575405.938;2174628.895;750.91 +669;RCCC;1575405.287;2174632.947;750.8 +670;RCCC;1575404.667;2174636.431;750.74 +671;RCCC;1575404.093;2174638.884;750.65 +672;RCCC;1575403.786;2174640.99;750.49 +673;RCCC;1575403.106;2174645.462;750.41 +674;RCCC;1575402.466;2174650.011;750.32 +675;RCCC;1575401.687;2174655.038;750.18 +676;RCCC;1575400.937;2174659.67;750.09 +677;RCCC;1575399.989;2174664.8;750.01 +678;RCCC;1575399.199;2174669.309;749.93 +679;RCCC;1575398.479;2174674.17;749.82 +680;RCCC;1575397.931;2174678.754;749.85 +681;RCCC;1575397.168;2174683.567;749.79 +682;RCCC;1575396.362;2174688.232;749.8 +683;RCCC;1575395.667;2174693.201;749.76 +684;RCCC;1575395.01;2174698.526;749.66 +685;RCCC;1575394.22;2174703.698;749.64 +686;RCCC;1575393.409;2174709.285;749.56 +687;RCCC;1575392.614;2174714.543;749.52 +688;RCCC;1575391.949;2174719.622;749.5 +689;RCCC;1575391.271;2174724.431;749.4 +690;RCCC;1575390.429;2174730.384;749.42 +691;RCCC;1575389.731;2174735.129;749.35 +692;RCCC;1575389.083;2174738.971;749.41 +693;RCCC;1575388.776;2174742.351;749.52 +694;RCCC;1575388.992;2174743.634;749.41 +695;RCCC;1575390.562;2174745.964;749.34 +696;RCCC;1575391.201;2174747.088;749.29 +697;RCCC;1575390.888;2174751.175;748.85 +698;RCCC;1575390.237;2174756.139;748.84 +699;RCCC;1575390.075;2174760.537;748.67 +700;RCCC;1575389.959;2174766.469;748.55 +701;RCCC;1575389.934;2174771.185;748.33 +702;RCCC;1575389.799;2174776.788;748.19 +703;RCCC;1575389.743;2174781.33;747.99 +704;RCCC;1575389.616;2174785.783;747.79 +705;RCCC;1575389.463;2174791.127;747.68 +706;RCCC;1575389.341;2174796.18;747.37 +707;RCCC;1575389.238;2174800.701;747.19 +708;RCCC;1575388.992;2174806.08;746.96 +709;RCCC;1575388.794;2174811.363;746.77 +710;RCCC;1575388.718;2174816.615;746.53 +711;RCCC;1575388.612;2174820.995;746.41 +712;RCCC;1575388.569;2174827.032;746.2 +713;RCCC;1575388.597;2174832.335;745.95 +714;RCCC;1575388.821;2174836.977;745.86 +715;RCCC;1575389.341;2174841.276;745.57 +716;RCCC;1575389.935;2174845.583;745.36 +717;RCCC;1575390.562;2174849.703;745.24 +718;RCCC;1575391.109;2174852.375;745.11 +719;RCCC;1575392.137;2174854.57;744.93 +720;RCCC;1575394.109;2174856.614;744.87 +721;RCCC;1575395.584;2174857.162;744.87 +722;RCCC;1575397.61;2174858.263;744.3 +723;RCCC;1575399.005;2174858.817;744.47 +724;RCCC;1575399.185;2174859.591;744.66 +725;RCCC;1575398.067;2174860.375;744.81 +726;RCCC;1575393.888;2174862.403;745.06 +727;RCCC;1575391.898;2174864.101;745.16 +728;RCCC;1575390.758;2174866.005;745.32 +729;TEIC;1575403.029;2174602.425;750.8 +730;TACC;1575403.185;2174601.756;751.45 +731;TEIC;1575403.514;2174602.354;750.79 +732;TEIC;1575403.342;2174601.092;750.81 +734;RCCC;1573000.308;2169369.555;1050.75 +735;RCCC;1573000.894;2169370.341;1050.73 +736;RCCC;1573000.86;2169371.177;1050.64 +737;RCCC;1573000.694;2169372.563;1050.78 +738;RCCC;1573000.184;2169374.796;1050.64 +739;RCCC;1572999.354;2169377.894;1050.32 +740;RCCC;1572998.062;2169381.729;1049.75 +741;RCCC;1572996.814;2169385.294;1049.32 +742;RCCC;1572995.541;2169388.725;1048.98 +743;RCCC;1572993.842;2169392.65;1048.71 +744;RCCC;1572991.947;2169396.562;1048.09 +745;RCCC;1572990.31;2169399.624;1047.63 +746;RCCC;1572988.276;2169402.669;1047.05 +747;RCCC;1572985.578;2169406.161;1046.58 +748;RCCC;1572983.503;2169408.425;1046.38 +749;RCCC;1572981.011;2169410.987;1046.16 +750;RCCC;1572978.471;2169413.499;1045.77 +751;RCCC;1572975.508;2169416.469;1045.35 +752;RCCC;1572972.835;2169419.241;1045.09 +753;RCCC;1572971.3;2169421.07;1044.93 +754;RCCC;1572970.154;2169422.604;1044.59 +755;RCCC;1572968.75;2169425.214;1044.42 +756;RCCC;1572967.134;2169428.178;1044.15 +757;RCCC;1572965.741;2169430.919;1043.59 +758;RCCC;1572964.42;2169433.701;1043.2 +759;RCCC;1572963.185;2169437.311;1042.8 +760;RCCC;1572962.398;2169441.501;1042.27 +761;RCCC;1572961.459;2169444.704;1042.19 +762;RCCC;1572960.881;2169446.516;1042.13 +763;RCCC;1572960.297;2169447.833;1042.01 +764;RCCC;1572958.783;2169450.171;1041.77 +765;RCCC;1572956.356;2169453.477;1041.48 +766;RCCC;1572954.142;2169456.49;1041.26 +767;RCCC;1572951.701;2169459.873;1040.85 +768;RCCC;1572948.562;2169463.98;1040.45 +769;RCCC;1572946.215;2169467.3;1039.98 +770;RCCC;1572943.977;2169470.22;1039.88 +771;RCCC;1572941.898;2169473.33;1039.31 +772;RCCC;1572940.461;2169475.723;1039.13 +773;RCCC;1572939.22;2169478.277;1038.97 +774;RCCC;1572938.069;2169481.073;1038.6 +775;RCCC;1572937.383;2169482.561;1038.34 +776;RCCC;1572936.529;2169483.623;1037.91 +777;RCCC;1572935.513;2169484.505;1037.86 +779;RCIC;1575142.735;2173734.847;785.37 +780;RCCC;1575145.267;2173738.365;784.89 +781;RCCC;1575147.839;2173742.64;784.87 +782;RCCC;1575151.165;2173747.491;784.81 +783;RCCC;1575153.723;2173751.328;784.74 +784;RCCC;1575156.992;2173755.642;784.9 +785;RCCC;1575160.102;2173759.591;784.75 +786;RCCC;1575163.092;2173763.768;784.59 +787;RCCC;1575165.866;2173767.365;784.57 +788;RCCC;1575168.626;2173771.412;784.43 +789;RCCC;1575171.739;2173775.883;784.28 +790;RCCC;1575174.325;2173779.942;784.24 +791;RCCC;1575176.759;2173783.506;783.97 +792;RCCC;1575179.716;2173787.607;783.73 +793;RCCC;1575182.795;2173791.858;783.58 +794;RCCC;1575185.924;2173795.785;783.43 +795;RCCC;1575188.736;2173799.489;783.26 +796;RCCC;1575191.434;2173803.369;783.13 +797;RCCC;1575194.143;2173807.159;783.03 +798;RCCC;1575196.409;2173810.106;783.01 +799;RCCC;1575198.788;2173812.932;782.87 +800;RCCC;1575201.607;2173815.45;782.85 +801;RCCC;1575204.277;2173817.78;782.71 +802;RCCC;1575205.636;2173819.593;782.62 +803;RCCC;1575207.499;2173822.984;782.58 +804;RCCC;1575209.569;2173827.276;782.38 +805;RCCC;1575212.01;2173831.866;782.17 +806;RCCC;1575214.831;2173836.708;781.95 +807;RCCC;1575217.603;2173840.875;781.83 +808;RCCC;1575220.469;2173844.977;781.58 +809;RCCC;1575223.301;2173848.881;781.51 +810;RCCC;1575226.2;2173852.839;781.21 +811;RCCC;1575228.553;2173856.271;781.04 +812;RCCC;1575229.727;2173858.733;781.0 +813;RCCC;1575230.844;2173861.942;780.81 +814;RCCC;1575232.274;2173864.6;780.7 +815;RCCC;1575234.542;2173867.866;780.47 +816;RCCC;1575236.83;2173871.413;780.42 +817;RCCC;1575239.233;2173874.954;780.06 +818;RCCC;1575242.387;2173879.876;779.93 +819;RCCC;1575244.754;2173883.643;779.95 +820;RCCC;1575247.398;2173887.939;779.85 +821;RCCC;1575250.02;2173892.294;779.75 +822;RCCC;1575252.716;2173897.15;779.47 +823;RCCC;1575254.992;2173901.228;779.39 +824;RCCC;1575257.071;2173905.696;779.33 +825;RCCC;1575259.331;2173910.519;779.1 +826;RCCC;1575261.566;2173914.857;779.12 +827;RCCC;1575263.662;2173919.459;778.84 +828;RCCC;1575265.822;2173924.171;778.68 +829;RCCC;1575268.178;2173929.059;778.36 +830;RCCC;1575270.201;2173933.507;778.24 +831;RCCC;1575272.601;2173938.229;778.01 +832;RCCC;1575274.972;2173942.963;777.82 +833;RCCC;1575277.461;2173948.155;777.58 +834;RCCC;1575279.751;2173953.309;777.28 +835;RCCC;1575281.917;2173957.851;777.1 +836;RCCC;1575284.289;2173963.566;776.7 +837;RCCC;1575286.081;2173969.524;776.48 +838;RCCC;1575287.519;2173974.474;776.23 +839;RCCC;1575288.831;2173979.978;775.91 +840;RCCC;1575290.046;2173985.409;775.82 +841;RCCC;1575291.027;2173990.928;775.52 +842;RCCC;1575291.658;2173996.217;775.42 +843;RCCC;1575292.2;2174001.142;775.18 +844;RCCC;1575292.729;2174005.676;775.1 +845;RCCC;1575293.156;2174010.245;774.89 +846;RCCC;1575293.486;2174014.551;774.71 +847;RCCC;1575293.797;2174018.869;774.57 +848;RCCC;1575293.909;2174022.84;774.43 +849;RCCC;1575293.929;2174027.935;774.19 +850;RCCC;1575293.982;2174033.046;774.07 +851;RCCC;1575293.855;2174037.597;773.81 +852;RCCC;1575293.454;2174043.47;773.54 +853;RCCC;1575293.218;2174048.797;773.24 +854;RCCC;1575292.778;2174054.027;773.0 +855;RCCC;1575292.456;2174059.357;772.86 +856;RCCC;1575292.08;2174064.631;772.54 +857;RCCC;1575291.856;2174069.764;772.22 +858;RCCC;1575291.423;2174075.049;771.99 +859;RCCC;1575291.118;2174080.371;771.61 +860;RCCC;1575291.016;2174086.316;771.34 +861;RCCC;1575291.133;2174091.479;771.11 +862;RCCC;1575291.391;2174097.062;770.65 +863;RCCC;1575291.724;2174102.046;770.48 +864;RCCC;1575292.216;2174106.824;770.14 +865;RCCC;1575292.799;2174112.305;769.97 +866;RCCC;1575293.604;2174117.896;769.67 +867;RCCC;1575294.568;2174124.67;769.32 +868;RCCC;1575295.48;2174130.192;769.34 +869;RCCC;1575296.097;2174134.921;769.21 +870;RCCC;1575296.707;2174140.231;768.97 +871;RCCC;1575297.709;2174145.043;768.74 +872;RCCC;1575298.512;2174150.284;768.4 +873;RCCC;1575298.736;2174154.389;768.3 +874;RCCC;1575299.442;2174156.293;768.07 +875;RCCC;1575301.299;2174158.928;767.88 +876;RCCC;1575304.118;2174162.836;767.51 +877;RCCC;1575306.015;2174165.845;767.16 +878;RCCC;1575306.744;2174167.566;767.07 +879;RCCC;1575307.424;2174170.474;766.8 +880;RCCC;1575308.127;2174174.528;766.56 +881;RCCC;1575308.443;2174178.092;766.17 +882;RCCC;1575308.697;2174182.043;765.88 +883;RCCC;1575309.387;2174186.338;765.48 +884;RCCC;1575309.988;2174191.007;765.1 +885;RCCC;1575310.569;2174195.02;764.77 +886;RCCC;1575311.144;2174199.399;764.44 +887;RCCC;1575311.56;2174203.882;764.2 +888;RCCC;1575312.093;2174208.459;763.98 +889;RCCC;1575312.84;2174213.532;763.53 +890;RCCC;1575313.592;2174218.23;763.24 +891;RCCC;1575314.245;2174222.45;763.0 +892;RCCC;1575315.259;2174225.751;762.86 +893;RCCC;1575316.311;2174229.027;762.71 +894;RCCC;1575317.371;2174233.413;762.46 +895;RCCC;1575318.242;2174236.717;762.33 +896;RCCC;1575319.03;2174240.724;762.03 +897;RCCC;1575319.983;2174244.965;761.86 +898;RCCC;1575321.085;2174249.656;761.72 +899;RCCC;1575322.573;2174254.984;761.37 +900;RCCC;1575324.172;2174259.782;761.19 +901;RCCC;1575325.611;2174263.811;761.04 +902;RCCC;1575327.119;2174268.375;760.8 +903;RCCC;1575329.038;2174273.281;760.51 +904;RCCC;1575331.689;2174279.21;760.07 +905;RCCC;1575333.859;2174284.087;759.77 +906;RCCC;1575336.381;2174289.336;759.75 +907;RCCC;1575338.462;2174293.804;759.44 +908;RCCC;1575340.58;2174297.573;759.23 +909;RCCC;1575342.843;2174301.609;759.09 +910;RCCC;1575345.298;2174306.017;758.96 +911;RCCC;1575347.614;2174310.02;758.8 +912;RCCC;1575349.676;2174313.615;758.74 +913;RCCC;1575351.686;2174317.512;758.69 +914;RCCC;1575353.538;2174322.302;758.61 +915;RCCC;1575355.015;2174326.433;758.62 +916;RCCC;1575356.304;2174329.939;758.71 +917;RCCC;1575357.642;2174334.969;758.99 +918;RCCC;1575358.576;2174338.915;758.97 +919;RCCC;1575359.215;2174342.407;758.66 +920;RCCC;1575359.946;2174347.328;758.38 +921;RCCC;1575360.958;2174351.818;758.26 +922;RCCC;1575362.002;2174356.668;758.11 +923;RCCC;1575362.676;2174359.985;758.05 +924;RCCC;1575362.963;2174361.514;758.0 +925;RCCC;1575361.704;2174363.084;757.87 +926;RCCC;1575359.453;2174365.689;757.8 +927;RCCC;1575356.752;2174368.998;757.69 +928;RCCC;1575355.404;2174370.822;757.79 +929;RCCC;1575354.631;2174372.398;757.81 +930;RCCC;1575354.559;2174373.532;757.73 +931;RCCC;1575355.257;2174375.247;757.65 +932;RCCC;1575356.117;2174377.531;757.49 +933;RCCC;1575356.686;2174379.8;757.5 +934;RCCC;1575356.79;2174381.917;757.39 +935;RCIC;1575356.679;2174384.171;757.92 +936;RCIC;1575059.04;2173309.44;794.45 +937;RCCC;1575060.463;2173311.401;793.97 +938;RCCC;1575063.008;2173316.285;793.67 +939;RCCC;1575065.626;2173321.103;793.45 +940;RCCC;1575068.065;2173325.951;793.22 +941;RCCC;1575070.583;2173330.875;792.97 +942;RCCC;1575073.336;2173336.442;792.68 +943;RCCC;1575076.338;2173342.593;792.42 +944;RCCC;1575078.458;2173346.913;792.17 +945;RCCC;1575080.725;2173351.452;791.95 +946;RCCC;1575083.226;2173356.739;791.73 +947;RCCC;1575085.656;2173361.865;791.63 +948;RCCC;1575088.095;2173367.236;791.37 +949;RCCC;1575090.356;2173372.245;791.25 +950;RCCC;1575092.65;2173377.397;791.37 +951;RCCC;1575095.351;2173382.973;790.84 +952;RCCC;1575097.813;2173388.055;790.7 +953;RCCC;1575099.712;2173392.67;790.63 +954;RCCC;1575101.676;2173397.034;790.58 +955;RCCC;1575103.201;2173401.304;790.47 +956;RCCC;1575105.156;2173407.085;790.42 +957;RCCC;1575106.389;2173411.468;790.43 +958;RCCC;1575107.346;2173415.611;790.25 +959;RCCC;1575108.387;2173420.96;790.41 +960;RCCC;1575109.482;2173427.154;790.48 +961;RCCC;1575110.529;2173432.402;790.5 +962;RCCC;1575111.504;2173437.223;790.44 +963;RCCC;1575112.435;2173442.163;790.59 +964;RCCC;1575113.452;2173447.232;790.54 +965;RCCC;1575114.401;2173452.462;790.67 +966;RCCC;1575115.408;2173457.474;790.75 +967;RCCC;1575116.344;2173461.867;790.79 +968;RCCC;1575117.086;2173465.266;790.75 +969;RCCC;1575117.797;2173469.203;790.85 +970;RCCC;1575119.092;2173471.789;790.85 +971;RCCC;1575120.728;2173475.366;790.94 +972;RCCC;1575121.586;2173478.223;790.92 +973;RCCC;1575122.281;2173482.069;790.94 +974;RCCC;1575123.1;2173487.27;790.85 +975;RCCC;1575123.708;2173491.978;790.9 +976;RCCC;1575124.017;2173497.308;790.86 +977;RCCC;1575124.144;2173502.352;790.95 +978;RCCC;1575124.019;2173507.854;790.73 +979;RCCC;1575123.773;2173512.695;790.75 +980;RCCC;1575123.657;2173517.913;790.56 +981;RCCC;1575123.63;2173522.854;790.54 +982;RCCC;1575123.632;2173527.316;790.19 +983;RCCC;1575123.833;2173531.23;790.13 +984;RCCC;1575124.329;2173535.518;789.79 +985;RCCC;1575124.966;2173539.329;789.6 +986;RCCC;1575126.138;2173543.843;789.32 +987;RCCC;1575127.857;2173548.762;789.0 +988;RCCC;1575130.06;2173554.677;788.39 +989;RCCC;1575131.984;2173559.926;788.07 +990;RCCC;1575133.567;2173564.475;787.87 +991;RCCC;1575135.216;2173569.791;787.53 +992;RCCC;1575136.561;2173574.351;786.95 +993;RCCC;1575137.669;2173578.982;786.95 +994;RCCC;1575138.359;2173583.576;786.7 +995;RCCC;1575138.788;2173587.544;786.57 +996;RCCC;1575138.997;2173591.282;786.49 +997;RCCC;1575138.93;2173596.182;786.35 +998;RCCC;1575138.542;2173601.371;786.16 +999;RCCC;1575137.83;2173606.155;786.01 +1000;RCCC;1575136.862;2173610.7;786.04 +1001;RCCC;1575135.747;2173615.436;785.95 +1002;RCCC;1575134.514;2173619.996;785.86 +1003;RCCC;1575133.223;2173624.68;785.91 +1004;RCCC;1575132.062;2173629.133;785.9 +1005;RCCC;1575130.91;2173633.527;785.74 +1006;RCCC;1575129.904;2173637.798;785.77 +1007;RCCC;1575129.19;2173642.386;785.76 +1008;RCCC;1575128.693;2173646.668;785.76 +1009;RCCC;1575128.383;2173651.527;785.69 +1010;RCCC;1575128.396;2173656.204;785.75 +1011;RCCC;1575128.586;2173661.387;785.57 +1012;RCCC;1575128.699;2173666.63;785.51 +1013;RCCC;1575129.27;2173671.618;785.44 +1014;RCCC;1575130.156;2173676.545;785.25 +1015;RCCC;1575131.105;2173682.038;785.37 +1016;RCCC;1575131.865;2173687.218;785.26 +1017;RCCC;1575132.582;2173692.629;785.16 +1018;RCCC;1575133.202;2173697.04;785.01 +1019;RCCC;1575134.061;2173702.048;785.15 +1020;RCCC;1575135.107;2173706.506;785.13 +1021;RCCC;1575136.469;2173711.951;785.0 +1022;RCCC;1575137.763;2173716.166;784.82 +1023;RCCC;1575138.903;2173720.676;784.93 +1024;RCCC;1575139.072;2173724.078;784.95 +1025;RCCC;1575139.285;2173726.534;785.03 +1026;RCCC;1575141.164;2173730.596;784.92 +1027;RCIC;1575142.189;2173733.709;785.44 +1028;RDCE;1573207.634;2170305.457;982.37 +1029;RDCC;1575100.585;2173668.608;785.15 +1030;RDCC;1575129.28;2173702.086;785.35 +1031;RDCC;1575477.52;2171829.866;984.17 +1032;RDCC;1575419.493;2172012.268;975.25 +1033;RDCC;1573338.876;2170581.719;988.3 +1034;RDCC;1573324.899;2170556.704;986.33 +1035;RDCC;1573306.994;2170539.582;982.88 +1036;RDCC;1573282.629;2170502.483;982.3 +1037;RCIC;1573205.786;2170304.9;981.24 +1038;RCCC;1573206.672;2170305.11;981.09 +1040;RDCC;1573133.108;2170190.966;989.14 +1041;RDCC;1573020.964;2169694.313;1009.82 +1042;RDCC;1571878.186;2169480.099;1113.14 +1043;RDCC;1575084.797;2172985.138;883.56 +1044;RDCC;1575054.492;2172995.766;868.89 +1045;RDCC;1575138.93;2173733.119;785.6 +1047;RCCC;1575139.998;2173732.896;785.19 +1048;RCCC;1575141.409;2173733.021;785.21 +1049;RCIC;1575142.189;2173733.709;785.44 +1050;TEIC;1575142.513;2173734.953;784.78 +1051;TACC;1575142.462;2173734.278;785.44 +1052;TEIC;1575142.956;2173734.741;784.84 +1053;TEIC;1575142.411;2173733.602;784.85 +1054;RCIC;1575392.472;2174690.74;750.07 +1055;RCCC;1575392.466;2174690.525;750.07 +1056;RCIC;1575392.336;2174690.071;750.07 +1057;TEIE;1575392.721;2174690.773;749.49 +1058;TEIE;1575392.548;2174692.061;749.41 +1059;TACE;1575392.385;2174691.384;749.99 +1060;TEIE;1575392.049;2174691.994;749.48 +1061;TEIC;1575392.162;2174689.403;749.49 +1062;TACC;1575392.369;2174689.75;749.48 +1063;TEIC;1575392.642;2174689.453;749.48 +1064;TEIC;1575392.574;2174690.096;749.47 +1065;RCIC;1575484.546;2175106.381;737.89 +1066;RCCC;1575484.781;2175106.921;737.11 +1067;RCCC;1575485.691;2175108.153;737.11 +1068;RCCC;1575486.113;2175109.986;737.1 +1069;RCCC;1575486.014;2175111.458;737.05 +1070;RCCC;1575485.923;2175113.686;737.17 +1071;RCCC;1575485.719;2175115.77;737.28 +1072;RCCC;1575485.539;2175118.148;737.15 +1073;RCCC;1575485.314;2175120.381;737.15 +1074;RCCC;1575485.054;2175123.011;737.18 +1075;RCCC;1575485.024;2175124.536;737.18 +1076;RCCC;1575484.653;2175126.691;737.3 +1077;RCCC;1575484.482;2175128.559;737.45 +1078;RCCC;1575484.196;2175131.159;737.0 +1079;RCCC;1575483.934;2175133.62;737.41 +1080;RCCC;1575483.701;2175135.433;738.19 +1081;RCCC;1575483.432;2175137.801;736.62 +1082;RCCC;1575483.191;2175140.045;736.9 +1083;RCCC;1575482.981;2175142.18;737.01 +1084;RCCC;1575482.675;2175144.319;737.04 +1085;RCCC;1575482.207;2175146.394;737.23 +1086;RCCC;1575481.548;2175148.574;737.05 +1087;RCCC;1575481.325;2175150.288;737.01 +1088;RCCC;1575481.314;2175152.177;737.16 +1089;RCCC;1575481.342;2175153.861;737.29 +1090;RCCC;1575481.306;2175154.45;737.3 +1091;RCCC;1575481.261;2175154.742;737.31 +1092;RCCC;1575481.138;2175154.861;737.51 +1093;RCIC;1575480.398;2175155.221;737.33 +1094;TEIE;1575479.754;2175155.223;736.72 +1095;TACE;1575480.126;2175155.105;737.39 +1096;TEIE;1575479.954;2175154.755;736.89 +1097;TEIE;1575480.498;2175154.987;736.83 +1099;RCCC;1575100.716;2173666.39;784.64 +1100;RCCC;1575100.894;2173663.986;784.8 +1101;RCCC;1575102.056;2173661.442;784.82 +1102;RCCC;1575103.172;2173660.103;784.78 +1103;RCCC;1575103.935;2173659.892;784.77 +1104;RCIC;1575105.682;2173659.985;785.39 +1105;TEIC;1575105.561;2173660.228;784.79 +1106;TACC;1575105.963;2173660.126;785.43 +1107;TEIC;1575105.804;2173659.742;784.78 +1108;TEIC;1575106.365;2173660.023;784.83 +1109;RDCC;1573084.388;2169873.536;1013.94 +1110;RDCC;1573076.562;2169931.724;1008.17 +1111;RDCC;1573076.007;2169955.269;1005.43 +1112;RDCC;1573080.133;2169976.429;1009.27 +1113;RDCC;1573075.439;2170008.122;1001.26 +1114;TEIC;1573205.645;2170305.11;980.64 +1115;TACC;1573205.175;2170304.488;980.9 +1116;TEIC;1573205.928;2170304.69;980.9 +1117;TEIC;1573204.705;2170303.865;980.3 +1118;RCCC;1573883.214;2171771.207;909.48 +1119;RCCC;1573881.49;2171770.454;909.38 +1120;RCCC;1573878.786;2171769.148;909.29 +1121;RCCC;1573876.965;2171768.371;909.23 +1122;RCCC;1573875.614;2171768.117;909.13 +1123;RCCC;1573874.464;2171768.295;908.41 +1124;RCCC;1573873.867;2171769.103;908.94 +1125;RCCC;1573874.01;2171770.287;908.92 +1127;RDCE;1573874.315;2171771.672;908.91 +1128;TEIE;1575484.79;2175106.368;737.04 +1129;TEIE;1575484.756;2175105.73;737.04 +1130;TACE;1575484.529;2175106.063;737.89 +1131;TEIE;1575484.267;2175105.757;737.05 diff --git a/test/JEUXDONNEES/dossier01/fichier06_ENTREE.csv b/test/JEUXDONNEES/dossier01/fichier06_ENTREE.csv new file mode 100644 index 0000000..2c65de7 --- /dev/null +++ b/test/JEUXDONNEES/dossier01/fichier06_ENTREE.csv @@ -0,0 +1,18 @@ +id_point;TYPE;X;Y;Z +1001;TEIC;1585702,06;2185080,612;466,282 +1002;TEIC;1585702,468;2185080,582;466,41 +1003;TEIC;1585702,586;2185081,047;466,6 +1004;TACC;1585702,456;2185080,899;466,892 +1005;RCIC;1585702,4207;2185081,2221;466,884 +1006;RCCC;1585702,459;2185081,647;466,878 +1007;RCIC;1585702,451;2185081,735;466,876 +1008;RCCC;1585702,365;2185081,808;466,896 +1009;RCIC;1585701,73;2185082,136;466,91 +1010;RCCC;1585700,807;2185082,299;466,931 +1011;RCIC;1585700,563;2185082,289;466,945 +1012;RCCC;1585700,363;2185082,184;466,956 +1013;RCIC;1585700,192;2185081,784;466,938 +1014;TACE;1585700,012;2185081,135;467,347 +1015;TEIE;1585699,952;2185081,673;466,758 +1016;TEIE;1585699,725;2185080,689;466,741 +1017;TEIE;1585700;2185080,592;466,733 \ No newline at end of file diff --git a/test/JEUXDONNEES/dossier02/modele_visa.xlsx b/test/JEUXDONNEES/dossier02/modele_visa.xlsx new file mode 100644 index 0000000000000000000000000000000000000000..e695f4438c333bb9db5a72bce9deb5ea12c5cef0 GIT binary patch literal 18567 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 faaIo*fX7k