Grid-based 3DMA GNSS with clustering and Doppler velocity using factor graph optimisation