TRK_Duration takes a track column and returns a float column representing the total duration of each input track. The duration
of a track is the difference between the last instant and first instant of a track. The result is returned in the
units specified by output
.
Tracks are linestrings that represent the change in an entity's location over time. Each vertex in the linestring has a timestamp (stored as the M-value) and the vertices are ordered sequentially.
For more information on using tracks in GeoAnalytics Engine, see the core concept topic on tracks.
Function | Syntax |
---|---|
Python | duration(track, output |
SQL | TRK |
Scala | duration(track, output |
For more details, go to the GeoAnalytics Engine API reference for duration.
Examples
from geoanalytics.tracks import functions as TRK
from geoanalytics.sql import functions as ST
from pyspark.sql import functions as F
data = [
("LINESTRING M (-117.27 34.05 1633455010, -117.22 33.91 1633456062, -116.96 33.64 1633457132)",),
("LINESTRING M (-116.89 33.96 1633575895, -116.71 34.01 1633576982, -116.66 34.08 1633577061)",),
("LINESTRING M (-116.24 33.88 1633575234, -116.33 34.02 1633576336)",)
]
df = spark.createDataFrame(data, ["wkt",]) \
.withColumn("track", ST.line_from_text("wkt", srid=4326))
df.select(F.round(TRK.duration("track", "minutes"), 3).alias("duration")).show()
+--------+
|duration|
+--------+
| 35.367|
| 19.433|
| 18.367|
+--------+
Version table
Release | Notes |
---|---|
1.4.0 | Python and SQL functions introduced |
1.5.0 | Scala function introduced |