NOTICE: This version of the NSF Unidata web site (archive.unidata.ucar.edu) is no longer being updated.
Current content can be found at unidata.ucar.edu.

To learn about what's going on, see About the Archive Site.

Re: 20000928: RealType.Time, and an exception

Hi Paul,

> 
> > >1. What Unit is RealType.Time?
> >
> >  CommonUnit.secondsSinceTheEpoch (seconds since Jan 1, 1970, 00:00:00).
> 
>   If I use RealType.Time for my domain, the axis labels are in
> human-readable form.  If I make my own RealType using the above unit, I
> get axis labels displayed in seconds (I presume).  Why is that?  I
> looked at the source (should have done that before I asked my question)
> and see RealType.Time uses a constructor that I can't use.  Would that
> be why?
> 

If you mean you want to have your axes labeled with a proper date
format, rather than with seconds, then the following code might help:
        // construct a real type from Time and a RealTType from it
    RealType[] time = {RealType.Time};
    RealTupleType tdays = new RealTupleType(time);

        // use VisAD's DateTime class to convert a date into double
    DateTime staDate, stoDate;
    staDate = new DateTime(1998, 1, 57060);     // start date
    stoDate = new DateTime(1998, 1+nDays, 57060);       // end date

        // optional: set date's format to your favourite one; see JDK Docs
java.util.GregorianCalendar
    String dp = "dd.MM.yyyy";
    staDate.setFormatPattern( dp );
    stoDate.setFormatPattern( dp );
    
        // convert date to doubles
    double startAt, stopAt;
            
    startAt = staDate.getValue();
    stopAt = stoDate.getValue();

        // create a domain set with the doubles   
    Set tdaySet =  new Linear1DSet(tdays, startAt, stopAt, nDays); 
    
        // create a map
    xMap6    = new  ScalarMap( RealType.Time, Display.XAxis );

    xMap6.setRange( startAt, stopAt);   // optional ;-)

add it to the display.

You might also want to know about the methods:

ScalarType.alias(java.lang.String alias)

and

ScalarMap.setScalarName(java.lang.String name) 

to set an alternative name for a ScalarType (i.e. RealType) and to set a
name for the ScalarMap, respectively. The latter should allow you to
have an axis label with blank spaces and all.

Hope it helps.

Cheers,

Ugo


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