Designing the ForestTrails application
Based on our set of requirements, it seems clear that tracks can be represented by LineString geometries. We will also need an appropriate basemap on which these geometries will be displayed. This means that our application will have at least the following two map layers:
Since we want the data to be persistent, we will use a SpatiaLite database to hold our track data, while the basemap is simply a GeoTIFF raster image that we load and display.
Along with these two main map layers, we will make use of memory-based layers to display the following temporary information on top of the map:
The currently selected starting point
The currently selected ending point
The shortest available path between these two points
To keep things easier, we're going to display each of these in a separate map layer. This means that our application is going to have a total of five map layers:
basemapLayer
trackLayer
startPointLayer
endPointLayer
shortestPathLayer
Along with...