[Proj] Proj4 Bug  (rtodms)
    cp 
    ch.panel at free.fr
       
    Thu Nov  2 04:34:36 PST 2006
    
    
  
due to floating point precision, there is a bug in source code of rtodms.c
the portion of code
  r = floor(r * CONV + .5);
  sec = fmod(r / RES, 60.);
  r = floor(r / RES60);
  min = fmod(r, 60.);
  deg = r / 60.;
must be replaced by
  r = floor(r * CONV + .5);
  sec = fmod(r / RES, 60.);
  r = floor(r / RES60);
  min = fmod(r, 60.);
  r = floor(r / 60.);
  deg = r;
the conversion of 0.06981317007977319578 (4 degree in radian)  is 3d with 
the first code (wrong) and  4d with the second (true).
    
    
More information about the Proj
mailing list