GPS data is removed on using gexiv2_metadata_set_gps_info()
This issue is raised in response to an issue raised against Viking which uses gexiv2 C interface. See https://github.com/viking-gps/viking/issues/94
In using the API interface gexiv2_metadata_set_gps_info(), we can see that it calls internally gexiv2_metadata_delete_gps_info() which dutifully wipes all GPSInfo data, despite then going on to only set lat,lon and altitude related values.
In the API header gexiv2-metadata.h, the commentary for this function states "Convenience function to query all available GPS information at once." (My bold)
Clearly this text is a copy and paste from the get function, so it doesn't really clarify what (if any) behaviour is regarding any other existing GPS Info data.
Naively I would expect it to only over write lat, lon and altitude related values and leave any existing values alone (including not changing the GPSVersionID).