So cool to see how the technology has evolved over the years, now we can achieve accuracies down to one centimeter with GPS. Check out what Emlid has been building in this space. http://emlid.com
Centimeter precision still requires a base station. Gotta leave a GPS receiver stationary for days so it can average out the errors and compute its own position precisely. With that accurate receiver it's possible to correct the measurements of other receivers nearby up to some maximum range.
This requires raw GNSS measurement data support which is not available in most consumer units and is an incredibly proprietary mess in the professional surveying equipment space. It was actually Google who improved the status quo by mandating pseudorange support in Android.