ChristopherJohnWalsh / space-time-toolkit

Automatically exported from code.google.com/p/space-time-toolkit
1 stars 0 forks source link

Time Controller widget and Autoupdate option #2

Open GoogleCodeExporter opened 9 years ago

GoogleCodeExporter commented 9 years ago
What steps will reproduce the problem?
1. Set AutoUpdate to true for a DataItem within the project
2. Start up STT#
3. Check out the the TimeControoler widget for that DataItem

What is the expected output? What do you see instead?
Override MasterTime should be unchecked and time should change when Master 
time is changed. Instead, override master time is checked and item time 
does not change when master time changes. One must still uncheck the 
override option for this to work.

Please use labels and text to provide additional information.

Original issue reported on code.google.com by mike.bot...@gtempaccount.com on 20 Oct 2008 at 10:02

GoogleCodeExporter commented 9 years ago
To set a dataItem to slave to the Master time, you need to add
autoUpdate="#SCENE_TIME_REFERNCE" to the <timeExtent> attribute.  See this 
snippet
from Nasa.xml project:
=============================================
<OWSDataProvider id="PROVIDER_NOAA15_AVHRR">
    <name>NOAA-15 AVHRR Footprints</name>
        <timeExtent autoUpdate="#SCENE_01">
            <TimeExtent>
                <lagTime>900</lagTime>
                <leadTime>900</leadTime>
            </TimeExtent>
        </timeExtent>
...
=============================================

And the associated SCENE_TIME declaration:
=============================================
<Scene id="SCENE_01">
<name>World View</name>            
    <time updatePeriod="3">
        <TimeExtent>
            <baseTime>2007-06-03T06:00:00Z</baseTime>
            <stepTime>60</stepTime>
        </TimeExtent>
   </time>  
...
=============================================

This project file produces the expected results you describe in my local copy 
of STT3.  

Original comment by TheRest...@gmail.com on 21 Oct 2008 at 8:43

GoogleCodeExporter commented 9 years ago
Tony.

What does the <time updatePeriod="3"> do. This is the only thing missing in 
EC08 
project and data items, which doesn't behave properly.

         <Scene id="SCENE_01">
            <name>Empire Challenge 08</name>
          <time>
               <TimeExtent>
                  <baseTime>2008-07-21T17:38:00Z</baseTime>
                  <lagTime>3600</lagTime>
                  <leadTime>3600</leadTime>
                  <stepTime>30</stepTime>
               </TimeExtent>
            </time> 

         <DataItem>
            <name>KCM-HD Footprint</name>
            <dataProvider>
               <SensorMLProvider>
                  <name>KCM-HD Footprint Process Chain</name>
                  <timeExtent>
                     <TimeExtent autoUpdate="#SCENE_01" id="ERDAS_TIME4">
                        <baseTime>2008-07-21T17:38:00</baseTime>
                        <leadTime>20</leadTime>
                        <lagTime>0</lagTime>
                        <stepTime>0</stepTime>
                     </TimeExtent>
                  </timeExtent>
                  <process 
xlink:href="./Erdas_ProcessFPwithCSM.xml#FOOTPRINT_PROCESS"/>
               </SensorMLProvider>
            </dataProvider>

They even share a common basetime, although one is missing the Z timezone 
indicator.

Original comment by mike.bot...@gtempaccount.com on 21 Oct 2008 at 9:40

GoogleCodeExporter commented 9 years ago
For this line:
<time updatePeriod="3">
updatePeriod specifies the value used if you are creating a RealTimeUpdater.  It
really shouldn't appear in the above example, although in walking through the 
code,
it has no effect anyway.  

Looking at the blurb from your Project file for KCM_HD, the issue is here:
 <name>KCM-HD Footprint Process Chain</name>
 <timeExtent>
     <TimeExtent autoUpdate="#SCENE_01" id="ERDAS_TIME4">

You have autoUpdate on the wrong element. It needs to be on <timeExtent> 
lowercase
't'.  Yes, I know this is confusing- partially a result of forcing our project 
files
to maintain the lowerUpper camelCase convention used in SensorML, and partly 
just
poor naming convnetion.  Suggest we change the outer <timeExtent> to just 
<time>, or
something along those lines.

At any rate, change your EC08 file to this:
 <name>KCM-HD Footprint Process Chain</name>
 <timeExtent autoUpdate="#SCENE_01" id="...">
     <TimeExtent>

and it should work.  I did this with my local EC08 project and it worked, 
although I
can't enable the data items because they all refer to a local-machine demo 
configuration.

This did lead me to find another issue, which really belongs back in issue #3.  
I
will add it there to avoid confusing this one any further.

Oh, and the 'Z' is optional with our DateTimeFormat parser, although if you 
specify a
TimeZone offset, it has to be in there.

TC

Original comment by TheRest...@gmail.com on 22 Oct 2008 at 1:07

GoogleCodeExporter commented 9 years ago
Actually the id needs to stay on the TimeExtent with an upper case!

<timeExtent autoUpdate="#SCENE_01">
    <TimeExtent id="...">

I can't remember the reason why autoUpdate is on the property but I'm pretty 
sure
there was one :-) 

Original comment by i...@sensiasoftware.com on 24 Oct 2008 at 2:44