Révision 310
Ajouté par Massamba FALL il y a presque 3 ans
branch/fall_massamba/sp4a12/main.c | ||
---|---|---|
|
||
|
||
#include <stdio.h>
|
||
|
||
#include <stdlib.h>
|
||
... | ... | |
|
||
cpt++ ;
|
||
|
||
int i,j;
|
||
int i,j,i2;
|
||
|
||
char tab_lat[11];
|
||
|
||
... | ... | |
|
||
long conversion_l;
|
||
|
||
long stockage_lat[2];
|
||
|
||
long stockage_lon[2];
|
||
|
||
float distance=0;
|
||
|
||
double distance1=0;
|
||
|
||
int i1=0, j1=0;
|
||
|
||
long lat1 = 0, lat2 = 0, lon1 = 0, lon2 = 0;
|
||
|
||
if (trame_cmp(trame,"GPGGA")==1) {
|
||
|
||
printf ("> %s\n",trame);
|
||
... | ... | |
|
||
resultat_l = decode_nombre(&tab_lon);
|
||
|
||
/* printf("Latitude %ld\n",resultat_L);
|
||
/* printf("Latitude %ld\n",resultat_L);
|
||
|
||
printf("Longitude : %ld\n",resultat_l); */
|
||
|
||
... | ... | |
|
||
printf("Longitude : %ld\n",conversion_l);
|
||
|
||
stock_lat (conversion_L, &stockage_lat);
|
||
|
||
stock_lon (conversion_l, &stockage_lon);
|
||
|
||
if (stockage_lat[0]>stockage_lat[1])
|
||
|
||
{
|
||
|
||
lat1 = stockage_lat[1];
|
||
|
||
lat2 = stockage_lat[0];
|
||
|
||
lon1 = stockage_lon[1];
|
||
|
||
lon2 = stockage_lon[0];
|
||
|
||
distance = calcul_distance(&lat1,&lat2,&lon1,&lon2);
|
||
|
||
printf("La distance est : %f\n",distance);
|
||
|
||
}
|
||
|
||
}
|
||
|
||
}
|
||
|
||
void stock_lat (long lat_R, long * stock_L)
|
||
|
||
{
|
||
|
||
if ((lat_R != stock_L[0]))
|
||
|
||
{
|
||
|
||
stock_L[1] = stock_L[0];
|
||
|
||
stock_L[0] = lat_R;
|
||
|
||
}
|
||
|
||
printf("GP :%ld\n",stock_L[1]);
|
||
|
||
}
|
||
|
||
void stock_lon(long lon_R, long * stock_l)
|
||
|
||
{
|
||
|
||
if ((lon_R != stock_l[0]))
|
||
|
||
{
|
||
|
||
stock_l[1] = stock_l[0];
|
||
|
||
stock_l[0] = lon_R;
|
||
|
||
}
|
||
|
||
printf("GP :%ld\n",stock_l[0]);
|
||
|
||
}
|
||
|
||
void calcul_distance (long * lat1, long * lat2, long * lon1, long * lon2)
|
||
|
||
{
|
||
|
||
long delta_lat = lat1 - lat2;
|
||
|
||
long deltat_lon = lon1 - lon2;
|
||
|
||
float distance = sqrt(pow(delta_lat,2)+ pow(deltat_lon,2));
|
||
|
||
printf("BG: %lf\n",distance);
|
||
|
||
}
|
||
|
||
void decode_trame(char * tab_lat, char * tab_lon, char *trame)
|
||
|
||
{
|
||
... | ... | |
return 0;
|
||
|
||
}
|
||
|
||
|
Formats disponibles : Unified diff
fin de l'implantation et de la validation de la fonction calcul_distance