These GPS tags are part of the EXIF standard, and are stored in a separate IFD within the EXIF information.
ExifTool is very flexible about the input format when writing lat/long coordinates, and will accept from 1 to 3 floating point numbers (for decimal degrees, degrees and minutes, or degrees, minutes and seconds) separated by just about anything, and will format them properly according to the EXIF specification.
Some GPS tags have values which are fixed-length strings. For these, the indicated string lengths include a null terminator which is added automatically by ExifTool. Remember that the descriptive values are used when writing (eg. 'Above Sea Level', not '0') unless the print conversion is disabled (with '-n' on the command line or the PrintConv option in the API, or by suffixing the tag name with a # character).
When adding GPS information to an image, it is important to set all of the following tags: GPSLatitude, GPSLatitudeRef, GPSLongitude, GPSLongitudeRef, and GPSAltitude and GPSAltitudeRef if the altitude is known. ExifTool will write the required GPSVersionID tag automatically if new a GPS IFD is added to an image.
Tag IDTag NameWritableValues / Notes0x0000GPSVersionIDint8u[4]: 0x0001GPSLatitudeRefstring[2](tags 0x0001-0x0006 used for camera location according to MWG 2.0. ExifTool will also accept a number when writing GPSLatitude -- positive for north latitudes, or negative for south) 'N' = North 'S' = South0x0002GPSLatituderational64u[3] 0x0003GPSLongitudeRefstring[2](ExifTool will also accept a number when writing this tag -- positive for east longitudes or negative for west) 'E' = East 'W' = West0x0004GPSLongituderational64u[3] 0x0005GPSAltitudeRefint8u(ExifTool will also accept a signed number when writing this tag, beginning with "+" for above sea level, or "-" for below) 0 = Above Sea Level 1 = Below Sea Level0x0006GPSAltituderational64u 0x0007GPSTimeStamprational64u[3](UTC time of GPS fix. When writing, date is stripped off if present, and time is adjusted to UTC if it includes a timezone)0x0008GPSSatellitesstring 0x0009GPSStatusstring[2]'A' = Measurement Active 'V' = Measurement Void0x000aGPSMeasureModestring[2]2 = 2-Dimensional Measurement 3 = 3-Dimensional Measurement0x000bGPSDOPrational64u 0x000cGPSSpeedRefstring[2]'K' = km/h 'M' = mph 'N' = knots0x000dGPSSpeedrational64u 0x000eGPSTrackRefstring[2]'M' = Magnetic North 'T' = True North0x000fGPSTrackrational64u 0x0010GPSImgDirectionRefstring[2]'M' = Magnetic North 'T' = True North0x0011GPSImgDirectionrational64u 0x0012GPSMapDatumstring 0x0013GPSDestLatitudeRefstring[2](tags 0x0013-0x001a used for subject location according to MWG 2.0) 'N' = North 'S' = South0x0014GPSDestLatituderational64u[3] 0x0015GPSDestLongitudeRefstring[2]'E' = East 'W' = West0x0016GPSDestLongituderational64u[3] 0x0017GPSDestBearingRefstring[2]'M' = Magnetic North 'T' = True North0x0018GPSDestBearingrational64u 0x0019GPSDestDistanceRefstring[2]'K' = Kilometers 'M' = Miles 'N' = Nautical Miles0x001aGPSDestDistancerational64u 0x001bGPSProcessingMethodundef(values of "GPS", "CELLID", "WLAN" or "MANUAL" by the EXIF spec.)0x001cGPSAreaInformationundef 0x001dGPSDateStampstring[11](when writing, time is stripped off if present, after adjusting date/time to UTC if time includes a timezone. Format is YYYY:mm:dd)0x001eGPSDifferentialint16u0 = No Correction 1 = Differential Corrected0x001fGPSHPositioningErrorrational64u<-- ExifTool Tag Names