API d'analyse des résultats

<< Cliquer pour afficher la table des matières >>

Navigation :  Les Analyses >

API d'analyse des résultats

Page précédenteRetour chapitrePage suivante

Description

L'API Python permet d'exploiter les résultats de calculs MithraSIG et de les exporter au format CSV.

Cet API est compatible avec Excel, Python (pandas), R.

Fichiers fournis

mithrasig_wrapper_example.py` : Wrapper Python pour l'API C MithraSIG

export_mithrasig_to_csv.py` : Module d'export CSV

Prérequis

Python 3.6 ou supérieur

numpy: `pip install numpy`

DLL: `mithrasig_calcul_wrapper.dll` (fournie avec MithraSIG)

 

API du wrapper (`MithrasigWrapper`)

Propriétés

Propriété

Description

nb_recepteurs

Nombre de récepteurs

nb_periodes

Nombre de périodes

nb_frequences

Nombre de fréquences. Si > 1, l'index 0 correspond toujours à la somme en dBA

nb_sources

Nombre total de sources

nb_natures

Nombre de natures de sources

is_lamax

`True` si LAmax, `False` si LAeq

is_dynamic

`True` si calcul dynamique

Méthodes

Méthode

Description

Retour

open(filepath)

Ouvre un fichier XML de simulation

`bool`

close()

Ferme le fichier ouvert

-

print_info()

Affiche les métadonnées en console

-

get_resultat(rec, per, freq, src)

Un résultat en dB (freq=0 = somme dBA si plusieurs fréquences)

`float` ou `None`

get_resultats(rec, per, freq)

Toutes les sources

np.ndarray (S,)

get_all_resultats_recepteur(rec)

Tout un récepteur

`np.ndarray (P,F,S)`

get_receiver_info(index)

Infos d'un récepteur

`ReceiverInfo` ou `None`

get_nature_name(index)

Nom d'une nature

`str` ou `None`

get_all_nature_names()

Tous les noms de natures

`List[str]`

get_source_name(index)

Nom de la nature et n° de voie d'une source

`(str, int)` ou `None`

get_all_source_names()

Noms d'affichage de toutes les sources (avec suffixe voie en mode dynamique)

`List[str]`

Flux de sortie de la DLL

La DLL C++ `mithrasig_calcul_wrapper.dll` utilise les flux standard du système :

- stdout : messages informatifs (progression, métadonnées)

- stderr : messages d'erreur et avertissements

Cela permet de séparer les sorties lors de l'exécution :

 

bash

Messages dans un fichier, erreurs à l'écran:

python export_mithrasig_to_csv.py > log.txt

Messages à l'écran, erreurs dans un fichier:

python export_mithrasig_to_csv.py 2> erreurs.txt

Les deux séparés:

python export_mithrasig_to_csv.py > log.txt 2> erreurs.txt

 

Note : C'est la DLL C++ qui écrit sur ces flux, pas le wrapper Python. Le wrapper se contente de retourner `None` ou `False` en cas d'erreur.

Dépannage

Problème

Solution

DLL non trouvée

Vérifiez le chemin vers mithrasig_calcul_wrapper.dll

Fichier XML non trouvé

Vérifiez que le fichier Simu_*.xml existe

Impossible d'ouvrir le fichier

Vérifiez la présence des fichiers .res et .obj

Accents mal affichés dans Excel

Le fichier utilise UTF-8-BOM, vérifiez l'import Excel

`ModuleNotFoundError: numpy`

Exécutez `pip install numpy`