Click or drag to resize

ZylSoft.Gps Namespace

ZylGpsReceiver.NET is an event driven .NET component that communicates with a GPS receiver. It returns latitude, longitude, altitude, speed, heading and many other useful parameters of the current position and the parameters of the satellites in view. The component is extended to calculate distances and make conversions between different measurement units. This component works with any NMEA 0183 compatible receiver connected to one of the serial ports. You can use it also with USB, IrDA and Bluetooth devices, because these devices have a driver that redirects the input from the USB, IrDA or Bluetooth port to a virtual serial port (you can check it in System/Device Manager/Ports). If your USB device is not provided with such a driver, then use a USB controller whose vendor provides a virtual serial port driver, such as FTDI or use a USB/RS-232 adapter. For Garmin receivers you have to install Spanner software. To connect to an Android smartphone's GPS, you can download GPS2Bluetooth application from playstore and connect your phone to your PC through bluetooth (GPS2BT service). NMEA 0183 (or NMEA for short) is a combined electrical and data specification for communication between marine electronic devices such as echo sounder, sonars, Anemometer (winds speed and direction), gyrocompass, autopilot, GPS receivers and many other types of instruments. It has been defined by, and is controlled by, the US-based National Marine Electronics Association. Supported NMEA sentences: GPGLL, GPGGA, GPVTG, GPRMC, GPGSA, GPGSV, GPZDA, GPMSS, GPAAM, GPRMB, GPBWC, GPWPL, GPRTE. ZylGpsReceiver.NET is written 100% in C#, based on .NET framework and some API calls. With this component you will be able to develop robust GPS applications based on the .Net framework. Possible applications can be: * Vehicle Navigation * Marine Navigation * Fleet Management * Emergency Locator * Geographic Surveying * AVL and Locating-Based Services * Personal Navigation or touring devices * Tracking devices * Sporting and Recreation * Farming * Time synchronization
Classes
  ClassDescription
Public classArrivalEventArgs
Provides data for the Arrival event.
Public classBaseGpsReceiver
Implements an abstract GPS receiver. It must be the base class for real GPS receivers.
Public classCardinalPointExtensions
Extension methods for CardinalPoint.
Public classCompassPictureBox
Represents a Windows picture box control for displaying a compass.
Public classConnectionEventArgs
Provides data for the Connected and Disconnected events (serial connections).
Public classDataEventArgs
Provides data for the Sent and Received events.
Public classDetectEventArgs
Provides data for the Detecting event.
Public classDmsPositionEventArgs
Provides data for the Position2DChanged and Position3DChanged events.
Public classFileConnectionEventArgs
Provides data for the Connected and Disconnected events (file connections).
Public classFileGpsReceiver
Implements a file GPS receiver. NMEA sentences are loaded from a text file.
Public classGpsException
Implements GPS exception class.
Public classGpsReceiver
Implements the communication with a serial, USB or bluetooth GPS receiver.
Public classGpxGpsReceiver
Implements a GPX file GPS receiver. GPS positions are loaded from a GPX XML file.
Public classLogger
Logger class. Used for exception logging.
Public classManagedGpsReceiver
Implements the communication with a serial, USB or bluetooth GPS receiver. If you need only managed code, without any Windows API, you can use this class. Otherwise we recommend GpsReceiver class.
Public classNavigationInfo
Navigation Info class. Contains information about the active route.
Public classNetworkConnectionEventArgs
Provides data for the Connected and Disconnected events (network connections).
Public classNmeaDecoder
Implements an NMEA decoder. It works like a GPS Receiver, but you have to feed it with NMEA sentences programmatically from the constructor or with the Decode method.
Public classParamEventArgs
Provides data for the AltitudeChanged, HeadingChanged and SpeedChanged events.
Public classPosition
Position class contains all the position and current status related data.
Public classPositionEventArgs
Provides data for the LatitudeChanged and LongitudeChanged events.
Public classReceiverStatus
Status of the GPS receiver unit. This class is obsolete, it works only with some old GPS receivers. Use Satellite.SignalToNoiseRatio instead.
Public classRoute
Route class contains all the parameters of one route. Routes are generally made up of a series of significant points along your path. The GPS will tell you the bearing and distance to the next point in sequence as you navigate along your route. Each point is usually named (in fact, a route is usually just a sequence of waypoints). There are usually at most a few tens of points in a route.
Public classSatellite
Satellite class contains all the parameters of one satellite.
Public classSatelliteEventArgs
Provides data for the SatelliteReceived event.
Public classSatellites
Satellites class contains all the satellites received.
Public classSatellitesPictureBox
Represents a Windows picture box control for displaying the satellites in view of a GPS receiver. Grey brush satellite - no signal Red brush satellite - very low signal Yellow brush satellite - low signal Light green brush satellite - medium signal Green brush satellite - good signal White pen satellite - GPS Orange red pen satellite - GLONASS Yellow pen satellite - BeiDou Blue pen satellite - Galileo Green pen satellite - QZSS Black pen satellite - Unknown
Public classSentenceEventArgs
Provides data for the OnNewSentence and OnUnknownSentence events. OnNewSentenceReceived event occurs when a new valid NMEA sentence is received. The sentence parameter contains the sentence. OnUnknownSentenceReceived event occurs when a valid, but unknown NMEA sentence is received. The sentence parameter contains the unknown sentence. This event is fired only if you set NmeaSentences property to All and there is an unknown sentence received. In this case you can write your own processing code inside this event handler.
Public classSerialCommPortExtensions
Extension methods for SerialCommPort.
Public classSerialException
Implements serial exception class.
Public classTcpGpsReceiver
Implements a TCP GPS receiver. NMEA sentences are received on TCP protocol. Implemented as TCP client.
Public classTrack
Track class. Tracks are made up of data gathered automatically from your motion while the GPS is turned ON. They provide a record of where you've been, and when, so you can later determine your path and speed. There may be hundreds or thousands of such points in a track, but they are all anonymous. They don't have names and you can't easily get the location of any particular one.
Public classUdpGpsReceiver
Implements an UDP GPS receiver. NMEA sentences are received on UDP protocol. Implemented as UDP server.
Public classWaypoint
Waypoint class contains all the parameters of one waypoint.
Public classWaypointEventArgs
Provides data for the WaypointReceived event.
Interfaces
  InterfaceDescription
Public interfaceIGpsReceiver
GPS receiver interface. It is recommended, but not mandatory to implement for GPS receiver classes, which extend BaseGpsReceiver.
Enumerations
  EnumerationDescription
Public enumerationCardinalPoint
Cardinal Points enumeration type.
Public enumerationDirection
Relative directions enumeration type.
Public enumerationNmeaSentences
NMEA sentences.
Public enumerationSatelliteTypes
Satellite types.
Public enumerationSerialBaudRate
Baud rate enumeration type. It's the measure of how fast data is moving between instruments that use serial communication. RS-232 uses only two voltage states, called MARK and SPACE. In such a two-state coding scheme, the baud rate is identical to the maximum number of bits of information, including "control" bits, that are transmitted per second.
Public enumerationSerialCommPort
Physical serial port enumeration type.
Public enumerationSerialDataWidth
Data bits enumeration type (ByteSize). Data bits are transmitted "upside down and backwards." Inverted logic is used and the order of transmission is from least significant bit (LSB) to most significant bit (MSB). To interpret the data bits in a character frame, you must read from right to left, and read 1 for negative voltage and 0 for positive voltage.
Public enumerationSerialHardwareFlowControl
Hardware flow control enumeration type.
Public enumerationSerialParityBits
Parity bits enumeration type. An optional parity bit follows the data bits in the character frame. The parity bit, if present, also follows inverted logic: read 1 for negative voltage and 0 for positive voltage. This bit is included as a simple means of error checking. The idea is this: you specify ahead of time whether the parity of the transmission is to be even or odd. Suppose the parity is chosen to be odd. The transmitter will then set the parity bit in such a way as to make an odd number of 1's among the data bits and the parity bit.
Public enumerationSerialSoftwareFlowControl
Software flow control enumeration type.
Public enumerationSerialStopBits
Stop bits enumeration type. The last part of a character frame consists of 1, 1.5, or 2 stop bits. These bits are always represented by a negative voltage. If no further characters are transmitted, the line stays in the negative (MARK) condition. The transmission of the next character frame, if any, is heralded by a start bit of positive (SPACE) voltage.