Would it not be better to work the other way, i.e. don't calculate it, but tweak until it's right?
The method I generally use -
- Model the extents of the site using a temporary slab.
- Adjust the cameras position on plan to the correct position using either an map/site survey/aerial photo to scale placed on the floorplan.
- Then adjust the relative height of the camera compared to the 0.00m level on the building, remembering to add on 1.7 or 1.5m for the tripod level.
- Set the view cone to around 75 degrees (for a compact camera with 6-17mm focal length try starting at 55 deg).
- Manually reduce/increase this figure until the same amount of site is visible, while also recentreing the view.
- I like to use the 'classic 3d navigation' to subtly tweak my position as I find it gives much finer control than the standard 'explore' mode.
- Remember to keep clicking the 'modify the selected' button to update the camera after each manual tweak.
What would be really useful is for ArchiCAD to read the metadata from an image used as a background, extract the date and time and set the up the sun angle and position correctly all automatically.