# SIMCONNECT_DATA_WAYPOINT The **SIMCONNECT\_DATA\_WAYPOINT** structure is used to define a single waypoint.   ##### Syntax ``` cpp struct SIMCONNECT_DATA_WAYPOINT{ double Latitude; double Longitude; double Altitude; unsigned long Flags; double ktsSpeed; double percentThrottle; }; ```   ##### Members
MemberDescription
LatitudeLatitude in degrees.
LongitudeLongitude in degrees.
AltitudeAltitude in feet.
Flags

Specifies the flags set for this waypoint, see SIMCONNECT_WAYPOINT_FLAGS. These flags can be OR'ed together, for example:

Flags = SIMCONNECT_WAYPOINT_ON_GROUND | SIMCONNECT_WAYPOINT_REVERSE;

ktsSpeedSpecifies the required speed in knots. If a specific speed is required, then the SIMCONNECT_WAYPOINT_SPEED_REQUESTED flag must be set to True.
percentThrottle

Specifies the required throttle as a percentage. If a specific throttle percentage is required, then the SIMCONNECT_WAYPOINT_THROTTLE_REQUESTED flag must be set to True.

  ##### Remarks The [SimConnect\_AddToDataDefinition](../events-and-data/simconnect-addtodatadefinition/) call can be used to add a [SIMCONNECT\_DATA\_WAYPOINT](simconnect-data-waypoint/) structure to a data definition. A list of waypoints is sent to an AI object using the [SimConnect\_SetDataOnSimObject](../events-and-data/simconnect-setdataonsimobject/) function. There is no limit to the number of waypoints that can be sent to an object. If just one waypoint is set, the [SIMCONNECT\_WAYPOINT\_WRAP\_TO\_FIRST](simconnect-waypoint-flags/) flag should not be used.   If a speed is requested at a waypoint, the slower that speed is the closer the object will approach the exact point of the waypoint, requests for high speeds can result in the AI system turning the object some way off of the waypoint. The pitch, bank and heading of objects controlled by the waypoint system are determined by the AI pilot, and cannot be set from a client.   This structure can only be used to set data, it cannot be used as part of a data request.