Ask Question

Name:
Title:
Your Question:

Answer Question

Name:
Your Answer:
User Submitted Source Code!


Description:
  huuuu
Language: C/C++
Code:
#include <iostream>
#include<cmath>
using namespace std;

int main()
{
     double a;
     double b;
     double f;
     double e;
     double ep;
     double k0;
     double FE;
     double FN;
     double FNSS;
     double e2;
     double e4;
     double e6;
     double ep2;
     double pi;

     pi = 3.14159265358979;
     a = 6378137.0;
     b = 6356752.31424518;
     f = 0.0033528107;
     e = 0.0818191908;
     ep = 0.0820944379;
     k0 = 0.9996;
     FE = 500000.0;
     FN = 0;
     FNSS = 10000000.0;
     e2 = e*e;
     e4 = e*e*e*e;
     e6 = e*e*e*e*e*e;
     ep2 = ep*ep;




     double lat;

     cout << "enter the latitiude : " ;
     cin >> lat;
cout<<endl;
     double longitude;
     cout << "enter the longitude : " ;
     cin >> longitude;
cout<<endl;

cout<<"************************************************************************************************************************";

     char LetterDesignator;


     if ((84 >= lat) && (lat >= 72))  LetterDesignator = 'X';
     else if ((72 > lat) && (lat >= 64))  LetterDesignator = 'W';
     else if ((64 > lat) && (lat >= 56))  LetterDesignator = 'V';
     else if ((56 > lat) && (lat >= 48))  LetterDesignator = 'U';
     else if ((48 > lat) && (lat >= 40))  LetterDesignator = 'T';
     else if ((40 > lat) && (lat >= 32))  LetterDesignator = 'S';
     else if ((32 > lat) && (lat >= 24))  LetterDesignator = 'R';
     else if ((24 > lat) && (lat >= 16))  LetterDesignator = 'Q';
     else if ((16 > lat) && (lat >= 8))   LetterDesignator = 'P';
     else if ((8 > lat) && (lat >= 0))   LetterDesignator = 'N';
     else if ((0 > lat) && (lat >= -8))  LetterDesignator = 'M';
     else if ((-8 > lat) && ( lat >= -16)) LetterDesignator = 'L';
     else if ((-16 > lat) && (lat >= -24)) LetterDesignator = 'K';
     else if ((-24 > lat) && (lat >= -32)) LetterDesignator = 'J';
     else if ((-32 > lat) && (lat >= -40)) LetterDesignator = 'H';
     else if ((-40 > lat) && (lat >= -48)) LetterDesignator = 'G';
     else if ((-48 > lat) && (lat >= -56)) LetterDesignator = 'F';
     else if ((-56 > lat) && (lat >= -64)) LetterDesignator = 'E';
     else if ((-64 > lat) && (lat >= -72)) LetterDesignator = 'D';
     else if ((-72 > lat) && (lat >= -80)) LetterDesignator = 'C';

     else LetterDesignator = 'Z';

     /// print letterdesighner
     //ppppppppppppppppppppppppppppppppppppppppppppppppppppppp

     cout << "letterDesignator : ";
          cout << LetterDesignator << endl;

     double northing;
     double easting;
     char utmZone;
     double longorigin;
     double N;
     double C;
     double T;
     double A;
     double M;

     double longtemp = (longitude + 180) - int((longitude + 180) / 360) * 360 - 180;

     double latRAD = (lat*3.14159265358979) / 180;
     double longRAD = (longtemp*3.14159265358979) / 180;
     double longOriginRAD;
     int ZoneNumber;

     ZoneNumber = int((longtemp + 180) / 6) + 1;
     longorigin = (ZoneNumber - 1) * 6 - 180 + 3;

     longOriginRAD = (longorigin*pi) / 180;

     cout << "ZoneNumber: ";
     cout << ZoneNumber << endl;




     N = a / sqrt(1 - e2*sin(latRAD)*sin(latRAD));

     T = tan(latRAD)*tan(latRAD);

     C = ep2*cos(latRAD)*cos(latRAD);

     A = cos(latRAD)*(longRAD - longOriginRAD);



     M = a*((1 - e2/4 - 3*e2*e2/64
                - 5*e2*e2*e2/256) * latRAD
               - (3*e2/8 + 3*e2*e2/32
                  + 45*e2*e2*e2/1024)*sin(2*latRAD)
               + (15*e2*e2/256
                  + 45*e2*e2*e2/1024)*sin(4*latRAD)
               - (35*e2*e2*e2/3072)*sin(6*latRAD));



     easting = (k0*N*(A + (1 - T + C)*A*A*A / 6 + (5 - 18 * T + T*T + 72 * C - 58 * ep2)*A*A*A*A*A / 120) + 500000.0);


     northing = (k0*(M + N*tan(latRAD)*(A*A / 2 + (5 - T + 9 * C + 4 * C*C)*A*A*A*A / 24 + (61 - 58 * T + T*T + 600 * C - 330 * ep2)*A*A*A*A*A*A / 720)));




     cout << "easting : ";
     cout << easting << endl;
     cout << "northing : ";
     cout << northing << endl;




     return 0;
}

















Comments: