KB10627 - GPS support and GPS tracking.
The DK product (and Internet Server and Editor) supports both live GPS tracking and the batch transfer of waypoints and other data between the DK based application and a GPS device. Linear features be created and edited with points collected with a GPS unit. The GPS tracking points can be represented with the use of symbols, even a unique symbol for each individual tracking object. The GPS signals, which are naturally in the WMS84 coordinate system, can be reprojected on-the-fly to the coordinate system of the map presentation, just like any other map layer may be reprojected on-the-fly between coordinate systems. The DK supports live tracking (of single or multiple objects) 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.
Some GPS device manufacturers provide a proprietary USB interface with each GPS device, which precludes third party software from functioning with the device. To get around the compatibility problem with third party software, most GPS devices manufacturers include an additional driver (sometimes referred to as an emulator) to make it seem to the third party software that the USB-GPS device is connected to a RS-232 serial port.
The DK supports map rotation (both vector and raster layers) which can be a useful with live GPS (in vehicle) tracking, such as to rotate the map so that the movement direction is always at 0 degrees (in the up direction). Use GIS.Project and GIS.Unproject to activate/unactivate the rotation of the map coordinate system. Refer to the DK Rotation source code sample in DK sample set #4 for guidance with implementing map rotation.
An animation layer, also known in TatukGIS terminology as an in-memory layer can be very useful for present the tracking points so that the tracked objects move across the map under program control without screen refreshes of the underlying map layers. Every shape in an in-memory layer is editable and the DK can write to this layer extremely fast for smooth performance even involving a great number (thousands) of simultaneously tracked objects. The DK In-Memory source code sample (located in DK sample set #1) provides guidance on implementing an in-memory layer.
The CachedPaint feature can be useful for best GPS tracking presentation. The CachedPaint feature 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 the presentation of many labels and charts. The CashedPaint feature can be controlled by layer, so it can be turned off for the top most GPS tracking layer(s) and turned on for the underlying map layers. Knowledge base item
KB10587 provides more guidance on use of the CachedPaint feature.
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 top most layer(s).
- Be careful that the map project file does not override the viewer settings.
Besides live tracking, the DK supports the GPX data format for the batch transfer of data between the DK application and a GPS device, such as for presentation as a map layer of data collected with the GPS device in the field or the export of waypoints from the computer to the GPS device. A number of free software programs can be used to upload GPX format data to most GPS devices or to download data from the GPS device as a GPX file use with the DK, but not every free GPS-to-GPX program works with every GPS device. One such free program for transferring GPX format data to/from Garmin GPS units is the EasyGPS program from: http://www.easygps.com. TatukGIS does not endeavor to make the DK product support the direct transfer of data with GPS devices because this would require customized support for each GPS device made by each manufacturer. A DK developer, however, could add direct upload/download support for any particular GPS device to his DK application. The DK can also interface in a batch manor with any standard database containing GPS points data.
The information in this knowledge base item is relevant to the TatukGIS Editor product, which includes the GPS and GPSLocateEnhanced scripts. The GPSLocateEnhanced script implements to the Editor a general set of readily usable GPS related features. Either script can also be used as a tutorial example for implementing to the Editor more specialized GPS related functionality to address specific requirements or situations.
Created: 2005-09-14, Modified: 2011-01-26