A moving PIP (Picture-in-Picture) is a PIP that automatically moves on an SOS
dataset as the dataset is animating. In order for the PIP to move, a simple
path file that contains frame numbers and latitude/longitude coordinates is
linked to the PIP.
As an example, if you have a dataset showing the movement of a hurricane, and
if you have the coordinates for the hurricane, you could add a PIP image to
your dataset (perhaps a small hurricane symbol) and add the path file to the
PIP, and the PIP will follow the hurricane.
Moving PIPs provide flexibility in that you do not have to embed moving data
into global images/video and you can make edits to the PIP path file without
having to edit the global image/video data.
Moving PIPs are available starting with SOS version 5.4.
To make a PIP move on SOS, you simply have to attach a path file to a PIP so
that the PIP will automatically move as the dataset is animating. The path
file is a simple csv (comma-separated value) file where each line in the file
consists of three fields.
As the dataset is animating, the PIP will be moved to the lat,lon coordinate
location that corresponds to the current frame being shown on SOS.
Important (please read):
There should be no column labels or other extraneous data at the top of the
Each line of the csv file must have exactly three numerical values
separated by a total of two commas
Each field can only be a numerical value (ex. 10,-25.0,32). There should
be no letters or special characters in any of the fields. The first field,
which is the frame number, should only be an integer (no decimal point)
If your latitude or longitude data has directional labels such as N, E, S,
or W, the labels should be removed and the S and the W values should be
converted to their negative number representations (ex. “25°S” should be
converted to -25)
A dataset’s default start frame number is 0 (not 1). So, if you want your PIP
to show up on the very first frame of the dataset, the first frame number in
your csv file should be 0.
A moving PIP will not be displayed until it reaches the first frame number in
the csv file, and it will disappear after the last frame number in the csv
file. So, for example, if your dataset has 600 frames of data, and in your csv
file, the first frame# you specify is 100, your moving PIP will not show up
until the dataset animation reaches frame 100. Similarly, if the last frame#
in your csv file is 400, your moving PIP will disappear when the animation
reaches frame 400.
There does not have to be a corresponding lat,lon location for every frame in
the dataset. There can be gaps in the frame numbers. In the following example,
there are no coordinates for frames 214 through 224.
This means that when the dataset reaches frame number 213, the moving PIP will
remain at location 26,173 until the animation reaches frame number 225, at
which time the PIP will be moved to location 43,176.
I wanted to display the track of a leatherback turtle on SOS, so, I did a
searched the web for animal migration data, which lead me to the Integrated
Ocean Observing System website, which contains
animal telemetry data. I selected a few options on the left-hand side toolbar,
and was presented with a map of the turtle’s track.
Then, from the right-hand side toolbar, I downloaded the following track file
(which already happened to be in a csv file format).
For convenience (and also so that I would have a copy of the original file in
case I needed it for later or wanted to start over), I copied the file to a new
file called leatherback.csv.
I then opened leatherback.csv in Excel (open it in csv mode) and edited the
track data to be in the format that a moving pip requires — i.e. removed
all column labels and removed all columns of data except for the latitude and
longitude columns, and then added a new column of data (the first column) with
sequential frame numbers in them.
As a side note, because the file was opened and/or saved using the csv file
format, when I view the file in a simple text editor like TextEdit or Gedit,
the file should look like this excerpt (i.e. fields separated by commas):
Given this path file, when the SOS dataset animation reaches frame number 6,
the turtle PIP will be positioned at latitude 10.33 and longitude -86.02.
Once my moving PIP path file was in its correct format, I was ready to create
an SOS dataset. Using the SOS Visual Playlist Editor (VPLE), I created a
site-custom dataset by adding a Layer of a sea surface temperature movie that I
found in the SOS Data Catalog, and then I added a PIP image of a leatherback
turtle that I found online.
To make my PIP move, I needed to link my csv path file to the PIP. So, in the
Element tab for the turtle PIP, I clicked on the button next to the “Moving PIP
(add/edit)” field to add the leatherback.csv file and to specify the line
color and size of the line. If you don’t want a line, simply uncheck the line
box. Click Save to save your changes. (See the Create Moving
PIPs section in the VPLE manual for more information.)
When I finished creating and saving my dataset in the VPLE, I loaded the
dataset onto SOS and the turtle started to move as the dataset was animating.
Many global datasets have timestamps, and many migration tracks also have
timestamps. With a little more effort, you can find ways to match the data so
that there is a clear and accurate tie-in between the global data and the track