ROS quadcopter with waypoint from custom GPS

Hi Everyone

I’m having a hard time to find a complete solution to the following -
I want to simulate quadcopter in Gazebo+ROS wherein I can define waypoints (GPS based) for an autonomous flight using different GPS sensor (the sensor differs in its noise parameters).

I came across the following packages and tools -
hector-quadcopter (not clear if I can define waypoints)?
hector-gazebo-plugins (here I can define IMU and GPS sensors, exactly what I want, but can I use this with hector_quadcopter package? or any other robot model with waypoints?)
px4 SITL (https://dev.px4.io/en/simulation/) wherein I can define waypoints using MAVROS as well as send sensor data using MAVROS, but seems a lot of work to modify data (from hector-gazebo-plugins possibly) to MavLink message format.

Any other solutions that I might have missed? Or is any of the above solution more feasible than the other.

https://github.com/ethz-asl/rotors_simulator is another gazebo based simulator which you can try.
If you only care about simulation, the hector or the rotors simulators would be best, but if you eventually want to fly a real robot, it might be better to use the PX4 SITL since that uses the same interface that would be used on a real robot.