GPS data difference MavRos

I found that the GPS data read in SITL provided by mavros and QGC/Dronecode SDK is different for altitude. The difference is 47-49m, depends on starting the simulation coordinates. Can you explain which comes from what? As I understood all read from the same gazebo plugin (GPS)