To support SmartTrack and Trackwork applications, the AGTEK Access server needs to change to accommodate new requirements. The first version of the server, written by external consultants, was a C++/Linux based server which had several issues. The second version of the server, written in Java/Linux, has been in production since 2009. A modified server implementation starting in 2014 is anticipated to support the track applications.
We are anticipating that the trackwork will be significantly less than the original Java server implementation (2009) and should be less effort than the license extensions (2011). To prepare for the track extensions, the server needs to be in a relatively clean state. This will prevent any lingering server issues from introducing challenges to the track implementation.
The following items will set the base line for the track work:
Provide the server base to support, at least, the capabilities required in SmartTrack.
drop table TMM; drop table TSM;
drop table RTK; drop table RTKTRACK;
rejected_dop
. fix support displaystatistics | int(16)
Add support tool display options for statsTrackStatistics { int track_id; // Handle of associated track long moving_seconds; // delta seconds long start_seconds; // absolute time long end_seconds; // absolute time long last_cycle_time; // delta seconds long average_cycle_time; // delta seconds int cycle_count; boolean is_metric; double amount; // CY for non-metric, M**3 for metric double average_speed; // MPH for non-metric, KPH for metric }
Add a new table to the customer database
TrackStatistics +--------------------+------------+------+-----+---------+----------------+ | Field | Type | Null | Key | Default | Extra | +--------------------+------------+------+-----+---------+----------------+ | handle | int(16) | NO | PRI | | auto_increment | | track | int(16) | NO | | | | | start_seconds | int(16) | NO | | | | | end_seconds | int(16) | NO | | | | | moving_seconds | int(16) | NO | | | | | last_cycle_time | int(16) | NO | | | | | average_cycle_time | int(16) | NO | | | | | cycle_count | int(16) | NO | | | | | is_metric | tinyint(1) | NO | | | | | amount | float | NO | | | | | average_speed | float | NO | | | | +--------------------+------------+------+-----+---------+----------------+
Position { enum FixType {Auto, DGPS, Float, Fixed }; FixType type; boolean hasCompass; float compass; // 0.0 .. 359.9999999 }
upload( StoredProject proj, String serial, List<Position> positions)
TrackAPI.getGPSStats(String serialNumber )
for a single serial number. Return instance of GPS Stats or null, if not found.TrackAPI.updateGPSStats( GPSStats statObject )
application to set stats + latest_versionTrackerDirective { int handle; long time; String trackerSerialNumber; StoredProject project; StoredFile job_file; boolean isAcknowledged; }
tracker_directives +--------------------+------------+------+-----+---------+----------------+ | Field | Type | Null | Key | Default | Extra | +--------------------+------------+------+-----+---------+----------------+ | handle | int(16) | NO | PRI | | auto_increment | | time | int(16) | NO | | | | | project | int(16) | NO | | | | | job_file | int(16) | NO | | | | | acknowledged | tinyint(1) | NO | | 0 | | +--------------------+------------+------+-----+---------+----------------+