I think this must be due to differences between the datum and geoid used by: the GNSS module; and the satellite imagery from SWMaps. I can see that you are in Gujarat, India. Hopefully someone who is familiar with that area can provide a better answer.
Also, please make sure you are actually connected to the RTK Surveyor. In your GNSS Status screenshot, I see “Device: Internal GNSS Receiver”. This indicates SWMaps is using your phone GNSS receiver, not the RTK Surveyor. It should say “Device: Surveyor Rover-nnnn”.
Also, your images show the device indoors. Just to be clear, you will only achieve ~0.3m accuracy when the device is outdoors with a clear view of the sky.
Q2) What height needed to enter, e.g do we need to enter 0 when on ground and if we are in top of 20 meter building do we need to add 20meter. please confirm
Answer: It depends. If you want to know the location of a rock on the ground, then you need to enter the length of the stick holding the antenna off the ground. This way SW Maps will subtract the length of the rod from the position of the antenna. Alternatively, if you would like to determine the location of the pitch of the roof where the antenna is located on your building, then 0 is fine. If you are looking for very accurate readings, please see our tutorial on accuracy verification: https://docs.sparkfun.com/SparkFun_RTK_ … ification/ This will go over terms like ARP and reference frames.
You data looks good. You are connected to the RTK Surveyor correctly and getting good signal with a horizontal accuracy of 250mm.
Using the equipment you have, the only way to improve the accuracy is to use your cellphone to connect to a CORS NTRIP server and to pass corrections from the server to the Surveyor using bluetooth. I looked at rtk2go ( http://www.rtk2go.com:2101/ ) but I can only see one server operating in India. It is in Srinagar and is too far away to be useful to you. I can not see any in Pakistan.