Question LINESTRING and time


#1

Hi Mapd,

Curious if Mapd supports a use case for showing segments of a linestring based on a time filter. For example for a tracking movement of a mobile phone, to be able to animate the line by moving a filter on a time chart.

Do you have any suggestions for how to tie timestamps to points in a line so that it could be filtered in this way?

(Separate idea: letting arrows be included in line segments, to indicate direction of travel in time by comparing timestamp of one point to the previous, or more simply just in order of the array. Could also be used to indicate change in elevation or something like that)


#2

Hi @livfaast,

I would encorage you to look at the interactive demos & corresponding blog for Shipping Traffic and NYC Taxi Rides under https://www.mapd.com/demos/. These demos are using Immerse Pointmap with the longitude/latitude data, but with Immerse version > 4.0 you can also use Geomteric POINT data. You will use the Line chart for plotting the records over a period of time. By enabling the Show Range Chart, you can brush along the timeline to see the movement of the points.

Even though MapD Core supports POINT, LINESTRING and MULTIPOLYGON data type, the current version (4.1) of Immerse supports rendering of POINT and MULTIPOLYGON data types using Pointmap and Choropleth respectively. The upcoming 4.2 release will support rendering LINESTRING data type. In the meantime you could potentially extract the start or end POINT of the LINESTRING using the ST_StartPoint or ST_EndPoint functions and use the Immerse Pointmap for charting the linestring.

Regards,
Veda


#3

Hi @veda thanks for your thoughts.

I understand that Mapd Immerse cannot currently show Linestring but that it is supported by the Mapd Core. If we consider just Core, my question would boil down to: is it possible to have each point within a Linestring be associated with a timestamp, such that only the portion of the linestring which falls within a time filter will be displayed, and that points which are outside of the time filter would not be rendered as part of the object?

Consider an object tracking scenario, where let’s say you have a large linestring which tracks the movement of a mobile phone across an entire day, and you want to be able to look at a rolling 10 minute window of movements for the mobile phone.


#4

Hi @livfaast,

Are you asking for something like Paths in Tableau’s Maps? AFAIK, Tableau is generating the lines connecting points of different rows using a dimension (a timestamp, an integer etc.) at runtime.

With the introduction of line string’s rendering on the next release, you should be able to do something similar with Immerse, but, I guess, you have to precompute the paths between your points to build a line string for each row at load stage