I use an DIY raspberry camera in car. Wrote also an Python script, but it is very crude and not published.
Geotagging is possible and works.
But there is one thing to keep in mind: Don’t use gpsdemon!!
The coordinates you get from gpsdemon are valid for one second, sometimes even more. In this time you travel some distance in your car. And you dont know if the last measurement was 0.1 or 0.9 sec before.
The far better way, but more complicated, ist to read the NMEA stream from the receiver, look for valid coordinates and then take a picture as fast as possible.
I don’t use the raspberry for upload. Better way for me is to save the pictures on an USB memory stick. The stick will automatically mounted on startup.
The script will take care of stopping the capturing when not driving, create a new subdirectory/sequence after tunnels or similar and calculate the direction.
So after driving i can take the memory stick, plug it in the pc and upload the pictures via script with little extra effort.