The GMT CookBook is a good read but is big and covers many parts that you probably are not interested. The other thing is that’s it uses plain GMT syntax and in Julia you’ll be using (if you will) the GMT.jl syntax where all options have long/understandable names. I recommend you to read the GMT.jl manual whose best version is currently hosted here Home It has several examples of different plot types.
Now your data. That’s a small dataset and I make here an example on how to plot it.
using GMT
D = gmtread("vehicle-trajectory.csv", colinfo=:T, header=1)
Comment: ["date,lat,long,vehicle\n"]
BoundingBox: [1.53849996e9, 1.54228644e9, 59.1743319663827, 59.651614020949474, 17.624479301268085, 18.701834940784984, 1.0, 1.0]
1774Ă—4 GMTdataset{Float64, 2}
Row │ col.1 col.2 col.3 col.4
│ Float64 Float64 Float64 Float64
──────┼──────────────────────────────────────
1 │ 1.5385e9 59.4219 17.8221 1.0
2 │ 1.5385e9 59.4219 17.8221 1.0
3 │ 1.5385e9 59.4219 17.8221 1.0
4 │ 1.5385e9 59.4219 17.8221 1.0
...
the colinfo=:T and header=1 options were used to tell the data reader that first column has time and the file has one header line. Now we want to make a plot with columns 2 and 3 or, more exact, with columns 3 and 2 because GMT plots xy not yx (lat,long is the equivalent of y,x in Cartesian). If you look at the BoundingBox info above it has the min/max for each column so from it we can pick our map boundaries. To give an idea of the data location I’ll plot it over a basemap with land/ocean info. Since the data has many gaps that would make a first ugly map with stray lines connecting the gaps the easiest it plot the points locations.
coast(region=(17.6,18.75,59.1,59.7), land=:lightbrown, proj=:guess)
plot!(D[:,2:3], yx=true, marker=:point, show=1)
There ways of automatically detecting the track gaps (the gap option) that can be used to make line plots.
This is a small dataset so no need to worry with updating strategies, Just redo the plot again when new data arrive. But ofc there must be a limit to that.
I’m not very experimented with data that depends on time. GMT has the tools for it but you can also use DataFrames. This little seismicity tutorial is a good example on how to deal with time too.