|
<< Cliquer pour afficher la table des matières >> API d'analyse des résultats |
![]() ![]()
|
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` |