#!/usr/bin/env python3 # -*- coding: utf-8 -*- """ Created on September 2022 @author: Phil Vernant philippe.vernant@umontpellier.fr """ # import libraries import numpy as np import pandas as pd import matplotlib import matplotlib.pyplot as plt from pyproj import Transformer #----------------------------------------------------------------------------------------- #gps = pd.read_csv('test_centipede.csv',index_col=False) # lecture du fichier gps = pd.read_excel('3octobre-fac.xls',sheet_name='MTP2') #gps = gps.drop(columns=['Time','Geometry','Ortho Height','Instrument Ht']) # on élimine quelques colonnes qui ne nous servent pas gps['sta'] = gps.Remarks.str[0:1] # on fait une nouvelle colonne contenant juste la premiere lettre des points de mesure (implique que le code est uniquement une lettre sinon str[0:X] avec X=nombre de lettres) stations = gps.sta.unique() # on liste les stations print ('points mesurées :', stations) # on transforme les coordonnées WGS84 en UTM31N transformer = Transformer.from_crs("EPSG:4326", "epsg:32631", always_xy=True) gps['E'],gps['N'] = (transformer.transform(gps.Longitude,gps.Latitude)) #creation d'un tableau de donnees pour les valeurs moyennes et écarts types gps_m = pd.DataFrame(columns=['sta','n_obs','E','N','Z','sE','sN','sZ']) gps_m.sta = stations for i, sta in enumerate(stations): # calcul des moyennes et écarts types print ('processing :',sta) gps_m.n_obs[i] = len(gps.E[gps.sta==sta]) gps_m.E[i] = np.mean(gps.E[gps.sta==sta]) gps_m.N[i] = np.mean(gps.N[gps.sta==sta]) gps_m.Z[i] = np.mean(gps.Elevation[gps.sta==sta]) gps_m.sE[i] = np.std(gps.E[gps.sta==sta]) gps_m.sN[i] = np.std(gps.N[gps.sta==sta]) gps_m.sZ[i] = np.std(gps.Elevation[gps.sta==sta]) print(gps_m)