17 Replies Latest reply on Apr 30, 2012 4:58 PM by rzufelt

    eTime Widget time interval problem

    rzufelt
      Below is the MapService time info for my "layer":

      Time Info:  Start Time Field: Year_of_Trans End Time Field: N/A Track ID Field: N/A Time Extent: [2010/01/01 08:00:00 UTC, 2015/01/01 08:00:00 UTC] Time Zone: Pacific Standard Time    Respects Daylight Saving: False Time Interval: 1 (esriTimeUnitsYears) Export Options:   Use Time: True Time Data Cumulative: False Time Offset: 0


      My Year_of_Trans field only has 4 digit years from 2010 to 2015.  In ArcMap, the time slider, set to 1 years interval will step through 1 year at a click/slide.

      However, in the FlexApp, for the first three years, there are two clicks/slides per interval and in the last two years, there are only one.  (I.e., starts by displaying the 2010 data, to get to display 2011 data, need to click on the next arrow TWICE.  Same for 2011-2013.  Then, there is only 1 click for 2014 and 2015).  Also, the only values in my time field is the 4 digit year, yet somehow, when you "slide" the slider, it is putting in months, day, year and even time???  Not sure how/where it is interpolating that information from, but is probably related to my issue.

      Does the eTime slider only work with time fields of a particular type or is it supposed to work with same types as ArcMap slider?  I started with a date field type, but could never get just a 4 year only to go, so have tried with both numeric and text fields, but have the same issues with all.

      Any ideas?

      R_
        • Re: eTime Widget time interval problem
          rzufelt
          Bump, and more on this.

          It appears as if this is not an eTime widget issue, but a Time widget issue in general.

          Does not matter if I load the eTime or Time widget, it is still appears to be "creating" time sequence data on it's own.

          I am used to server changing config files on it's own, but can't figure out where these extra time "intervals" are coming from, but they don't appear in ArcMap.

          R_
          • Re: eTime Widget time interval problem
            rzufelt
            Bump, and more on this.

            It appears as if this is not an eTime widget issue, but a Time widget issue in general.

            Does not matter if I load the eTime or Time widget, it is still appears to be "creating" time sequence data on it's own.

            I am used to server changing config files on it's own, but can't figure out where these extra time "intervals" are coming from, but they don't appear in ArcMap.

            R_


            guess it is an eTime widget issue afterall.  I can configure the Time widget to increment by year with only one stop per year.  However, if you drag the slider, it is still putting time/date info in there from somewhere.
            However, the eTime widget, no matter how I try to configure it, seems to automatically break each interval into "two" stops.
            • Re: eTime Widget time interval problem
              rscheitlin
              rhett,

                The lieklyhood of this being related to the eTime is very slim. The eTime is identical to the time slider widget except for the fact that it allows you to specify a different layer at runtime. The routine for determining the time extent is unchanged in the eTime widget from what it is in the esri time slider widget. I actually don't work alot with time enabled layers so I don't really know how you can use a field with just a year and get it to work properly.
              • Re: eTime Widget time interval problem
                rzufelt
                Thanks for the info.  Still can't figure out what is going on here.

                Here is my timewidget_config:
                <?xml version="1.0" ?>
                <configuration label="2015 Visiontest">
                
                    <dateformat>YYYY</dateformat>
                    <loop>true</loop>
                    <singlethumbastimeinstant>true</singlethumbastimeinstant>
                    <thumbcount>1</thumbcount>
                    <thumbmovingrate>1500</thumbmovingrate>
                    <timeextent setfromlayer="2015 Visiontest"/>
                    <timestops>
                        <timestopsinterval>1</timestopsinterval>
                        <timestopsunits>years</timestopsunits>
                    </timestops>
                
                </configuration>


                and here is the eTime widget_config:

                <configuration>
                      <layers>
                  <layer label="Year Of Transition" name="2015 Visiontest">
                      <dateformat>YYYY</dateformat>
                      <loop>true</loop>
                      <singlethumbastimeinstant>true</singlethumbastimeinstant>
                      <thumbcount>1</thumbcount>
                      <thumbmovingrate>1500</thumbmovingrate>
                      <timeextent setfromlayer="2015 Visiontest"/>
                      <timestops>
                          <timestopsinterval>1</timestopsinterval>
                          <timestopsunits>years</timestopsunits>
                      </timestops>
                  </layer>
                    </layers>
                </configuration>


                Seems like they should be working "the same", but they are not.  The Time widget is giving me ONE interval per year (each time I move the slider one "click", it increments it one year).  With this same config, the eTime widget is giving me TWO intervals per year (have to move the slider two "clicks" in order to increment one year).  Both are using the same time enabled service, yet behave differently.

                Do you see anything that I'm missing here?

                Thanks again,

                Rhett
                • Re: eTime Widget time interval problem
                  rscheitlin
                  Rhett,

                     I don't suppose your map Service is pubic for me to access is it? If not would you give me all the details about the layer (field types, values, etc) so I can re-create the map service?
                  • Re: eTime Widget time interval problem
                    rscheitlin
                    Rhett,

                      Are you using the compiled or the uncompiled version? I believe I found a mistake in my code:rolleyes: and I would like you to see if it fixes the issue you are seeing.
                    • Re: eTime Widget time interval problem
                      rzufelt
                      Unfortunatly,  my services are not available publicly.

                      Here is what my polygons look like: [ATTACH=CONFIG]13782[/ATTACH]

                      I have two attribute columns.  One is a text column of length 20 and the other is a short column length 2.  Both have a 4 digit year between 2010 and 2015 and each polygon only has one year assigned.  The idea is to have only the polygons with the respective year to display as you move the slider.  I have tried using both of these columns and have the issues.  With the Time slider, I got it to work using the text column as the time field.  Well, it "works" with the eTime also, just gives me the two steps per interval issue.

                      I am using the un-compiled version so can do any testing needed.  Right now, I am actually using the pre-release3, but, to make sure it wasn't related to that, I have also set it up in the 2.5 version and have the same results.


                      Here are the rest attributes for my service (minus the symbology info to reduce size):

                      Layer: TA (ID: 0)
                      Display Field: Year_of_Trans
                      
                      Type: Feature Layer
                      
                      Geometry Type: esriGeometryPolygon
                      
                      Description: 
                      
                      Definition Expression: 
                      Copyright Text: 
                      
                      Min. Scale: 0
                      
                      Max. Scale: 0
                      
                      Default Visibility: True
                      
                      Extent: 
                      
                      XMin: 558473.4375
                      YMin: 113834.0086
                      XMax: 594972.687500002
                      YMax: 154573.8906
                      Spatial Reference: 32149
                      
                      Has Attachments: False
                      
                      HTML Popup Type: esriServerHTMLPopupTypeAsHTMLText
                      
                      Time Info: 
                      
                      Start Time Field: Year_of_Trans
                      End Time Field: N/A
                      Track ID Field: N/A
                      Time Extent: [2010/01/01 08:00:00 UTC, 2015/01/01 08:00:00 UTC]
                      Time Zone: Pacific Standard Time
                         Respects Daylight Saving: True
                      Time Interval: 1 (esriTimeUnitsYears)
                      Export Options: 
                      
                      Use Time: True
                      Time Data Cumulative: False
                      Time Offset: 0
                      
                      
                      
                      Fields: 
                      OBJECTID (Type: esriFieldTypeOID, Alias: OBJECTID) 
                      Shape (Type: esriFieldTypeGeometry, Alias: Shape) 
                      Shape_Length (Type: esriFieldTypeDouble, Alias: Shape_Length) 
                      Shape_Area (Type: esriFieldTypeDouble, Alias: Shape_Area) 
                      Year_of_Trans (Type: esriFieldTypeString, Alias: Year_of_Trans, Length: 20 ) 
                      time2 (Type: esriFieldTypeSmallInteger, Alias: time2) 
                      Type ID Field: N/A


                      Thanks again for looking into this Robert,  let me know if I can test anything or answer any other questions that may help,

                      Rhett
                      • Re: eTime Widget time interval problem
                        rscheitlin
                        Rhett,

                          Here is the updated uncompiled version. See if this addresses the issue you are having.
                        • Re: eTime Widget time interval problem
                          rzufelt
                          That did the trick.

                          Thanks again for your timely solution.

                          Also, I modified this line in the TimeSliderSkin.mxml        
                          <mx:DateFormatter id="dateFormatter" formatString="MMM D, YYYY at L:NN A"/>
                          to        
                          <mx:DateFormatter id="dateFormatter" formatString="YYYY"/>


                          Now it no longer makes up a day and time when moving the slider manually.  Only shows the year as in the time field.
                          I tried to figure out how to use an If format == "YYYY" then formatString="YYYY", that way, it would be more robust to other layers/maps.  However, for this map, the only time enabled layers are by 4 digit year only, so a mod to the skin.mxml works fine.

                          Thanks again,

                          Rhett
                          • Re: eTime Widget time interval problem
                            rscheitlin
                            Rhett,

                               In version 2.5.1.1 the datatip on the slider skin automatically uses the data format that you specify in the xml file for that layer so you don't have to worry anymore about updating the skin manually.
                            • Re: eTime Widget time interval problem
                              rzufelt
                              Thanks again, and nice enhancement.

                              However, the "datatip" (assuming that is the text box on the slider window itself) does now honor my xml settings.  However, if I grab the slider and move it to a position manually, the pop-up info/tip still has Jan 1, YYYY at 12:00 AM.

                              If I make the mod on the slider skin, it will then just show the year itself and doesn't "create" the day/time info (see attached photos).


                              R_
                              • Re: eTime Widget time interval problem
                                rscheitlin
                                Rhett,

                                   Strange... On my end the Datatip (what you get when you move the slider manually) does follow the dateformat. Did you replace ALL your files with the new ones in the download. There is a change to the skin that does not work without a change made to the widget mxml.
                                • Re: eTime Widget time interval problem
                                  rzufelt
                                  Thought I had changed all files, so tried again, but no change to result.

                                  So, thought maybe it was something I had done that was conflicting, so imported a brand new flexapp, added eTime widget, and have the same issues.

                                  So, thought maybe it was related to using the pre-release 3.

                                  Created a brand new 2.5 viewer project and brought in the eTime widget (even removed the normal Time widget module).  Same issue.  So, far, the only way I can get it to have the slider value year only is to make the change to the timeSliderSkin.mxml format string.

                                  Wonder if I'm missing something in my config xml or something (still using xml from previous post)??

                                  R_
                                  • Re: eTime Widget time interval problem
                                    rscheitlin
                                    Rhett,

                                       Well, I don't have a clue why it's not working for you. In the eTimeWidget.xml init function these lines pass the dateformat from the xml file to the slider component:

                                    if (dateFormat){
                                                            myDateFormatter.formatString = dateFormat;
                                                            timeSlider.setStyle('dateFormat',dateFormat);
                                                        }


                                    Then in the TimeSliderSkin.mxml I use this line to get that info and set the Dateformatter:

                                    <fx:Declarations>
                                            <!--- @private -->
                                            <mx:DateFormatter id="dateFormatter" formatString="{hostComponent.getStyle('dateFormat')}"/>
                                        </fx:Declarations>
                                    • Re: eTime Widget time interval problem
                                      rzufelt
                                      Robert,

                                      Thanks Robert,

                                      I made the changes you mentioned, and the DataTip is now following my Date format.  I also re-checked the zip file you posted earlier with the update and I do not see the changes in the files in the zip.

                                      Have cleared all my browser cache, etc. in case I was re-downloading a cached version and still don't see them.  Think maybe the zip file didn't get updated properly.

                                      Thanks again,

                                      Rhett
                                      • Re: eTime Widget time interval problem
                                        rscheitlin
                                        Rhett,

                                           OK that's where the disconnect is. I only added those changes to the download from the gallery after I posted the zip file.
                                        • Re: eTime Widget time interval problem
                                          rzufelt
                                          Pretty easy to narrow down after you posted the changes to the code and I couldn't find it in my copy.

                                          Worked out better this way anyway.  I learn a lot more about the way these modules interact when I get to see the changes to the code rather than just an updated version.

                                          Thanks again for your time/help,

                                          Rhett