#include  <io.h>
#include <fcntl.h>
#include <stdio.h>
#include <math.h>

#define PI 3.14159265
int main() {
           FILE  *h_fic, *h_fic2,*fichesql;
           float x,y,v,a;
           double x1,y1,sinus1,sinus2;
           char ligne[512]="";    
          
            /*ouverture du fichier mapinfo*/
            h_fic = fopen ("gps.txt","rt");

            /*creation du fichier de copie*/
            h_fic2=fopen("mapinfogps.mif","wt");
            
            fichesql=fopen("mapinfogps.mid","wt");
            
            /* test si le fichier de copie est ouvert*/
            if (h_fic ==NULL)
            {
            return(1);
            }
else {

/* ecriture de l'entête dans le fichier copié*/

fprintf (h_fic2 , "Version 300\n");
fprintf (h_fic2 , "Charset \"WindowsLatin1\" \n");
fprintf (h_fic2 , "Delimiter  \",\" \n");
fprintf (h_fic2 , "Index 2\n");
fprintf(h_fic2 , "CoordSys Earth Projection 3, 1002, \"m\", 0, 46.8, 45.898918964419, 47.696014502038, 600000, 200000 Bounds (0, 0) (115167455.417, 120767151.185)\n");
fprintf(h_fic2 , "Columns 2\n");
fprintf(h_fic2 , "Angle Integer\n");
fprintf(h_fic2 , "Vitesse Integer\n");
fprintf (h_fic2 ,"\n");
fprintf (h_fic2 ,"Data \n");
fprintf (h_fic2 ,"\n");

while (fgets(ligne, 512, h_fic))
{
       /* lecture du fichier mapinfo.txt*/
sscanf (ligne, "%f %f %f %f",&x,&y,&v,&a);

            /* création du rectangle */
fprintf (h_fic2 ,"Point ");
fprintf (h_fic2 ,"%f %f\n",x,y);
fprintf (h_fic2 ,"Symbol (32,255,10)\n");  
fprintf (h_fic2 ,"line ");
fprintf (fichesql,"%f , %f \n",a,v);  

/* redimension de v pour le dessin*/
v = v/10;

/*formule pour creer la ligne*/
x1 = sin (a*PI/180)*v+x;
y1 = cos (a*PI/180)*v+y;

/*affichage de la ligne */
fprintf (h_fic2 ,"%f %f %f %f \n",x,y,x1,y1);
fprintf (h_fic2 ,"Pen(1,2,255)\n");
fprintf (fichesql," \" \" ,\" \"");
fprintf (fichesql,"\n");

}
/*fermeture des 2 fichiers textes*/
fclose (h_fic) ;
fclose(h_fic2);
fclose(fichesql);
return 0;
}

}


