MapInfo Pro

MapInfo Monday: Creating Time Series in MapInfo Pro v2021

  • 1.  MapInfo Monday: Creating Time Series in MapInfo Pro v2021

    Posted 10-04-2021 09:26
    Edited by Peter Horsbøll Møller 10-18-2021 05:32
    A very happy #MapInfoMonday to all of you!

    This is a great week because today we are releasing the new version of MapInfo Pro: MapInfo Pro v2021. We are all quite excited to finally be able to share more details with you around the new and improved capabilities of MapInfo Pro that our engineering team has been working on.

    Today, we will look at the all-new Time Series feature.

    What is the Time Series feature?

    Time Series is a new way to visualize your data that holds a temporal element.

    Time Series allows you to scroll through your data seeing data that belongs to a specific time and then disappear again as you get past that time period.

    Imagine you work with an insurance company with access to a dataset of lightning strikes. Each lightning strike has a location of where it took place. These records also hold a timestamp of when they occurred. With Time Series, you can open this data set into a map in MapInfo Pro v2021, enable Time Series, and now playback through time to see when and where the lightning strikes happened across the country.

    Such a visualization could look like this

    Preparing your data

    For the Time Series to work, you need to meet a couple of requirements:
    1. You need a map window with one or more layers
    2. One of these layers must hold a column of type Date, Time, or DateTime.

    The first is quite easy to achieve, and the second has been made easier with MapInfo Pro v2021 as we have added new and extended the capabilities of the MapBasic functions that can work with date and time.

    Let's continue using the use case from above with the lightning strikes over Denmark. Below you can see that I have loaded the data into a map, and also opened a browser window to see the attributes.

    The dataset didn't hold a DateTime column when I initially loaded it but it does hold two text columns that have temporal information. One column holds temporal information about the creation time and another about the observation time. We will use the observation time.

    But in order to use it for Time Series, we need to convert the temporal string into a DateTime value. I have already added the DataTime column called Observed_DateTime.

    With MapInfo Pro v2021, we also improved the MapBasic capabilities to handle and covert temporal data. In our case, we will use the improved StringToDateTime function that now allows you to specify the structure of the temporal string.

    Using the SQL Window, we can update the new DateTime column with this expression:

    Update Lightnings Set OBSERVED_DATETIME = StringToDateTime(OBSERVED, "yyyy-MM-ddTHH:mm:ss.ffffffZ")


    Once you have updated the column with the DateTime values, we recommend that you index the column you want to use for your Time Series.


    Creating a Time Series

    Now you have a map and you have at least one layer with a temporal column, Date, Time, or DateTime. On the Map tab, you can now see that Time Series is enabled in the Add To Map dropdown


    Click it to start configuring your Time Series.

    In the Layer Time Options dialog, you now have to configure your layer with regards to the temporal settings.

    First, you need to select your layer, and then you must select the Temporal Configuration Type. We support a number of these configurations. You can have your temporal data in a single column. If your data holds time intervals, you must select the start and end column for these intervals. You can also have your date and time values in separate columns.

    You can use the Statistics button next to the layer to inspect the statistics for your temporal column. We updated the Calculate Statistics feature in MapInfo Pro to also work with temporal columns.

    In my example, the temporal data is stored in a single column. When you select the column(s), MapInfo Pro will inspect the data and fill in the values in the Extents. MapInfo Pro will also estimate what Period Interval you might want to use. You can modify these to your likings. 


    When you click OK in the Layer Time Options dialog, MapInfo Pro will enable Time Series for your map window.

    You will see a few things happen.

    In the ribbon, MapInfo Pro adds a new Time tab and switches to this tab. A Time Slider has been inserted into your map window to help you playback your temporal data. And the layer you selected in the Layer Time Options dialog, has been filtered to only display records in the first time period.


    If you double-click on your temporal layer in the Explorer window to open the Layer Settings dialog, you can see the Layer Filter that has been applied to your layer. The Layer Filter basically filters out the records that are within the first time period and hides the remaining records.

    This is how MapInfo Pro controls which records to display for a given time period. The Layer Filter gets updated when your switch to a different time period.

    The Layer Filter options is a new feature in MapInfo Pro that also can be used to filter your layer for other purposes than Time Series.


    This first time period doesn't seem to hold many lightning strikes.

    Controlling  the Time Series

    Now that you have enabled Time Series you can start using the controls on the Time tab to control and playback your Time Series.

    Using the Select dropdown in the Period group on the Time tab, you can go to a different time period. Let try selecting a time period in the afternoon. I selected the 13th period, and now lightning strikes seem to occur over Denmark.

    Notice how the Map Time Slider shows the position and span of the selected time period. This gives you a nice visual of where you are in the extent of your time. You can drag use the slider, or change the size of it directly through the Map Time Slider to control what time period, or how big a time interval you want to look at.


    Notice that the time interval isn't using full hours but specifying minutes and seconds. Typically, the Time Series will use the first time stamp from the data as a starting point, and from this calculate the time periods by adding the time span to the first timestamp.

    You can snap the time periods to full-time units, say hours or minutes, to get "nicer" time intervals. Simply check the Snap option in the Adjust group on the Time tab.

    Below you can see the changes to the intervals when I snap to hours. The intervals are now using full hours which tend to look better and is easier to read and follow.


    On the Time tab, you can also use the playback control to automatically refresh the map with a new time period every one or two seconds. Hit the Play control in the Playback group to start playing. Use the Faster or Slower options to control how fast you want this to run.

    You can also use the Previous and Next controls to manually step through the time intervals.

    Via the Map Options control, you can access the Map Time Options dialog. This lets you control the time options for the entire map. This allows you to configure the Time Formatting, to confiture if you only want to see Start, End, or Start and End Period when displaying the time period in the Map Time Slider and in annotations inserted onto the map.

    You can here also control the playback speed.

    Adding adornments

    From the Add to Map dropdown on the Time tab, you can now insert Smart Text Adornments onto your map. These Smart Text Adornmnets allow you to show text relevant to the time series.


    The Period Title will insert a text showing the current Time Period using the Formatting configured in the Map Time Options dialog. The Period Title will change depending on the currently selected Time Period.

    Period Record Count will add a Smart Text Adornment showing the number of records in the time enabled layer.

    You can also add an embedded legend to your map for the situations where you have a thematic layer in your map. This feature was partly brought back in MapInfo Pro v2021 and now we have added better support for it to allow you to insert and remove it in any map.

    Below you can see an example where I have added the Period Title as well as the Period Record Count to my map.


    You can manually move the Smart Text Adornment to other positions on top of the map, or you can double-click on a Smart Text Adornment and configure the Position and even the Smart Text Expression via the Smart Text dialog.

    Using a fixed position will keep the Smart Text Adornment here even when you resize your map window. A manually positioned Smart Text Adornment will not move when the map is resized.

    Publishing the Time Series

    You can save your Time Series enabled map into a workspace and reopen this at a later stage to continue working with it.

    You can also use the Export option on the Time tab to output your Time Series to various formats.

    You can control these export options through the Export Time Series dialog.

    ​You can export the Time Series to individual images of a format of your choice. You can control the size and resolution of these images via the Options... button.

    You can also create animated GIFs or videos from the Time Series to share dynamic results with other people inside or outside of your organization.

    The elements such as Smart Text Annotations and embedded legends will also be included in the output files. And via the Export Time Series dialog, you can control if you want the Map Time Slider to appear in the image or not. The animated GIF at the beginning of this article has been created directly from within MapInfo Pro.


    One final question: Do you have time? Does your data?

    ------------------------------
    Peter Horsbøll Møller
    Principal Presales Consultant | Distinguished Engineer
    Precisely | Trust in Data
    ------------------------------