I am trying to determine the most efficient way to store point data in PostGIS to later re-create tracks
Criteria:
- 1 second updates
- 100- 200 tracks active at any one time
- 1 hour max track time so approx 5400 points per track
- Track data extracted as a report, not real time display, but the reports would be run frequently, many times daily
I can see two possibilities at this stage:
a) Store the point data as a table with a field that will group them to a particular track. So three fields used, gid, trackid, lat/lon, resulting in a lot of rows
or:
b) Store each track as one row in a table with a field that has the point data appended to it at each update
My Questions are:
- Which is a more efficient way to store the point data, Numeric Fields (two columns), char fields, or GIS POINT/LINESTRING fields
- Which would be the most efficient way of the two options above, given server/database load to store and recreate the track data. Option a) would require queries to build each reported track whereas option b) would only need to look at one row per track.
- Is there a better way than either a) or b) to approach this requirement.