Karl Kristian Markman wrote:

> So here is the code I use to transform the Lat long to UTM ( in case 
> anyone else wouders..)
>
> [code]
>   
> public void convert (){
>
>                 double a = 6378137;
>

Strictly speaking, you should use a double constant to initialize a double 
variable.
Fortunately Java does the conversion for you.
 

>         double b = 6356752.3142;
>
>                 e = Math.sqrt(1-Math.pow(b,2)/Math.pow(a, 2));  // a and b 
> are constants.
>

'a' and 'b' are not constants in the Java sense unless they're declared 
'final'.

'Math.pow()' for squares, really? Why?
 

> e2 = e*e/(1-(e*e));
>

Yet here you use the multiplication idiom for squares. Why the difference?
 

> n =(a-b)/(a+b);        
>  A0 =  a*(1 - n + (5/4)*(Math.pow(n,2) - Math.pow(n,3)) + 
> (81/64)*(Math.pow(n,4) - Math.pow(n,5)));
>   B0 =(3*a*n/2)*(1 - n - (7*n*n/8)*(1-n) + (55/64)*(Math.pow(n, 
> 4)-Math.pow(n, 5)));
> C0 =(15*a*n*n/16)*(1 - n +(3*n*n/4)*(1-n));
> D0 =(35*a*Math.pow(n, 3)/48)*(1 - n + 11*n*n/16);
> E0 =(315*a*Math.pow(n,4)/51)*(1-n);
>  zone = (int) (31 + (lngdeg/6));
>  double pi = 6* zone -183;
> double pii = (lngdeg-pi)*Math.PI/180;
> double rho1 = (1-(e*e) * (Math.sin(lat)*( Math.sin(lat))));
> rho = a * (1-e*e)/ Math.pow(rho1, (3/2));
> nu = a/(Math.pow((1-(e*e *(Math.sin(lat))*(Math.sin(lat)))), (1/2)));
> S  = A0* lat - B0 * Math.sin(2*lat) + C0 * Math.sin(4*lat) - D0 * 
> Math.sin(6*lat) + E0 * Math.sin(8*lat);
> double Ki = S * knu;
> double Kii = knu * nu *Math.sin(lat)*Math.cos(lat)/2;
> double Kiii = (knu * nu 
> *Math.sin(lat)*Math.pow(Math.cos(lat),3)/24)*(5-Math.pow(Math.tan(lat),2)+9*Math.pow(e2,2)*Math.pow(Math.cos(lat),2)+4*Math.pow(e2
>  
> ,2)*Math.pow(Math.cos(lat),4));
> double Kiv = knu * nu *Math.cos(lat);
> double Kv = knu * 
> Math.pow(Math.cos(lat),3)*(nu/6)*(1-Math.pow(Math.tan(lat),2)+e2*Math.pow(Math.cos(lat),2));
>    
> double UTMni = (Ki+Kii*Math.pow(pii, 2)+ Kiii * Math.pow(pii,4));
> double UTMei = 500000 + (Kiv*pii + Kv * Math.pow(pii, 3));
>  UTMn = (int) UTMni;
> UTMe = (int) UTMei; 
> }
> [/code]
>

OMFG, dude! You are just all over the place with this. Variables out of 
nowhere, 
terse obscure names, varying idioms for the same kinds of calculations, 
utter 
lack of comments or whitespace, except for the exorbitant indentation, 
variable names 
that imply different values, and the one and only comment you include tells 
nothing 
except for a falsehood that isn't relevant anyway, and would have been 
self-explanatory 
in code if the variables had been constants.

I gather this code is meant neither to be re-used, shared nor maintained.

-- 
Lew
 

-- 
You received this message because you are subscribed to the Google
Groups "Android Developers" group.
To post to this group, send email to android-developers@googlegroups.com
To unsubscribe from this group, send email to
android-developers+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en

Reply via email to