[visad] Possible bug in LogCoordinateSystem/FaltField

Hello,

i tried the example from Don Murray for Logarithmic Axis (http://www.unidata.ucar.edu/mailing_lists/archives/visad/2007/msg00053.html) and i think i found the bug why auto scaling is not working.

First, in LogCoordinateSystem.toReference(vales):
there is no validation if log value can be calculated (no "0" checking, so log(0) results in -INFINITE). I changed the line
         logValues[i][j] = Math.log(values[i][j])/Math.log(base);
     to
logValues[i][j] =(values[i][j]==0)?0: Math.log(values[i][j])/Math.log(base);

The next possible bug is in FlatField.computeRanges(ShadowType type, DataShadow shadow) line 54318. If i comment out the range component mapping, ( if (!any_mapped) return shadow), line 5322) it works (Log Axis with auto scaling). The problem is, that the rangeComponent has the RealType "Values", not "LogValues", so the Display Indices is set to -1;

I have no idea if the modification has some side effects (I could not find any unit test), but for my use case it works.

Is there a any kind of bug tracker?

Thanks a lot for this great library,

Stefan Below








  • 2012 messages navigation, sorted by:
    1. Thread
    2. Subject
    3. Author
    4. Date
    5. ↑ Table Of Contents
  • Search the visad archives: