TatukGIS products (the DK and desktop Editor) support live GPS tracking and batch data transfer between the software application and GPS device. Linear features can be created and edited from points collected with a GPS unit. GPS tracked objects can be represented as symbols, potentially a unique symbol for each individual object tracked. The GPS signals in the WGS84 coordinate system can be reprojected on-the-fly to any map coordinate system, just like with any other map layer.
Live tracking
The DK and Editor support live GPS tracking based on the standard NMEA GPS interface protocol, which specifies RS-232 serial communication via the serial port. For guidance refer to the DK GPSTracker source code sample in DK sample set #5. For the Editor product, the GPSLocate and GPSLocateEnhanced scripts provide live GPS functionality. These scripts can be used as examples by customers wishing to implement their own unique GPS functionality in the Editor. More about using the TatukGIS Editor with GPS is provided in KB10814.
Some GPS device manufacturers provide only a USB interface for their GPS devices, which can be a compatibility barrier for third-party software such as TatukGIS. To address the compatibility issue, most of these GPS device manufacturers include an additional driver (sometimes referred to as an emulator) that makes it appear to the third party software that the USB-GPS connection is via a RS-232 serial port.
Map rotation (both vector and raster layers) can be useful with live GPS (in vehicle) tracking, such as to rotate the map so that the forward movement direction is always at 0 degrees. The DK GIS.Project and GIS.Unproject functions activate/deactivate map rotation. The DK Rotation source code sample in DK sample set #4 provides guidance on implementing map rotation.
An animation layer, known in TatukGIS terminology as an in-memory layer, can be very useful for displaying the movement of tracked objects across the map under program control, without screen refreshes of the underlying map layers. Every shape in the in-memory layer is editable and TatukGIS software writes to this layer extremely fast for smooth performance even involving a great number (even thousands) of simultaneously tracked objects. The DK In-Memory source code sample in DK sample set #1 provides guidance on implementing an in-memory layer.
The CachedPaint feature can be useful for GPS tracking presentation. CachedPaint uses the computer’s graphics processing capability to generate the map view to an internal bitmap image which is then presented in one step, instead of rendering the map vectors individually. The advantage is improved rendering performance and elimination of screen flicker with very large data sets, particularly involving presentation of many labels and charts. The CachedPaint feature can be controlled by layer, so it can be turned off for the topmost GPS tracking layer(s) and turned on for the underlying map layers.
Comply with the following steps when using in-memory layers for live GPS tracking:
- Screen caching turned on.
- Caching for the layer(s) holding the floating (moving) points turned off.
- The layer(s) containing the moving points must be the topmost layer(s).
- Be careful that the map project file does not override the viewer settings.
Batch data transfer
TatukGIS support for the GPX data format enables batch transfer of data between the software application and GPS device, such as for presenting as a map layer GPS data collected in the field or exporting waypoints from a desktop application to the GPS device. A number of free GPS-to-GPX software programs are available to transfer GPX formatted data to and from a GPS device, though not every free program works with every GPS device. One such free GPX batch data transfer program that supports Garmin and some other GPS devices is the EasyGPS program from: http://www.easygps.com. TatukGIS products can also interface in a batch manner with any standard database containing the GPS points data.
TatukGIS does not support direct GPS data transfer (without using GPX) because this would require maintaining customized support for each GPS device made by each manufacturer. A DK customer may custom develop direct support for a particular GPS device in a DK developed application. An Editor user can do the same with a script.