Direct
Direct geotagging is the most elegant form of geotagging. It requires the least amount of work and has highest precision, as well as possibilities that the other methods don’t really have.
By connecting a GPS receiver directly to your digital camera, you can directly geotag your photos. Of course your camera needs to have support for this, since otherwise there would be not port on the camera where you could connect your GPS to. These cameras read the GPS data from the connected device and every time you take a picture, they write the position to the picture’s metadata.
This does not only save you a whole step in your post-processing workflow, but also gives higher precision. Some cameras can even store a compass bearing along with the GPS data, thereby recording the direction in which the camera is pointing. This is something that is not really possible in indirect geotagging - even if you would mount your compass enabled GPS logger to the camera, to really record the direction of the camera, you would need to set the devices update interval so low that you’d quickly run out of space for your logs. Even one update per second can already mean completely wrong data when talking about compass bearings. Within one second, a photographer usually does not change position very much. So updating the position once per second is more than enough. The direction in which he points his camera can change very quickly, for example when panning and clicking of a series of shots while a car passes you at a race.