After 13 fun weeks of Google Summer of Code, learning about package development in R, trajectory data mining, and spatial data mining, I am happy to announce that traviz is ready for use and open source involvement. To download and install, visit traviz and follow the installation instructions detailed in the README. The package website is hosted on Github pages too at the following link. If you would like to see the vignettes detailing an introductory tutorial and showcase of traviz, visit vignette 1 and vignette 2.
What is traviz?
As detailed in the previous blog posts, traviz is a general purpose trajectory analytics toolbox. The functionality at the moment contains the following:
Two classes to store trajectories:
- sfTrack: store an individual track/trajectory
- sfTracks: store a collection of sfTrack objects (trajectories)
sfTrack and sfTracks generic methods include:
- sf: st_transform, st_coordinates, st_intersection, st_distance, st_bbox, st_length (https://github.com/r-spatial/sf)
- pv-stcube: point value space time cube
- vscube: value space cube
- cluster: clustering of Tracks
traviz also contains useful convertor methods:
- geodata_to_sf: converts geographic point data to a trajectory in sf format
- sf_to_rasterize: converts sf data to raster point data
- sfTrack and sfTracks coercion methods: coerce classes to data.frame, sf, trajectories::Track, geojson
The main methods of traviz perform the following:
- Aggregation and subsetting of trajectories or trajectory point values
- Plotting of individual trajectories or a collection of trajectories
- Rasterization of point values in trajectories and interpolation of raster values
- Visualization of trajectories through space time cubes, animations, and options for multiple projections
- Heatmap, hotspot, and density visualization (GI hotspot, KDE hotspot primarily)
Starting in January 2021, I will begin my Ph.D. in Computer Science focusing on a similar area of research and applying spatial data science techniques to my research. In preparation for this research, I aim to expand traviz in the following ways:
- Add sftime support when sftime is available
- Modernize travis-methods that use sp
- Support for other sources of trajectory data (i.e. QGIS support)
- Optimization of animation method
- Optimization of space time cubes due to slow runtimes in older computers
- Port to Python
I would like to thank the whole 52° North team for all of their help, support, and guidance during this process. They are a very organized, professional, passionate, and caring team.
I would also like to give a special thanks to my mentor, Dr. Benedikt Gräler. Dr. Gräler supported all of my ideas, gave me advice on features and changes I needed in my package, and gave great insight for every step of the package development process. He is a pleasure to work with and an amazing mentor!
That concludes my summer work with 52° North! It was an excellent summer and I learned a lot about package development, trajectory analytics, and spatial data science.