In reply to planetmarshall:
> It's not difficult to transform GPS (ie, WGS84) coordinates into OS National Grid. The difficulty is getting the GPS coordinates 'correct' in the first place.
Yeah, agreed. What I meant by incorrect 8-figures is using a possibly not accurate-enough position fix as the starting point for calculations.
Regarding the calculations, there was a thread on another forum which I've been unable to find about someone with a GPS which gave identical lat/long position references as another model in the same location, but the OSGB coordinates had a 70m difference between the two units. This seemed to be a 'known problem' with some version of this model, which was presumed to be a problem in the conversion calculation.
Ignoring completely the accuracy/precision issue, if you have a +/- 5m accurate position (by whatever means; GPS, astronavigation, resection), then you have your location inside a 10m wide circle. If you drop that circle onto a map then there's an incredibly slim chance it 100% lies within a 10x10m grid square, and a good chance it covers, two, three or four different grids, any of which you might be in. There's a very
good chance that the same 10m circle lies wholly within a 100x100m square, so I'd not have any problems using an app (or GPS for that matter) for a 6-fig reference.
I have a bit more confidence in the OS one than the apps that claim 10-digit accuracy. For the same reasons above, I'd want a 10
centimetre position fix to be able to tell someone a 1m grid with confidence. That said, from playing around with a few apps they do seem to tick over as expected (i.e., walk east, and the 10-digit app's easting goes from 11199 to 11200 at the same place as the OS app goes from 111 to 112).
I'm quite interested in all this as I've been tinkering with writing
yet another app that shows OS coordinates. I'm using the 'close enough' Helmert transformation, using the code in the link andyjohnson0 posted. This is currently just for me to play around with, rather than for releasing.