I'm an architect, so I have a head start on this type of thing, as I do it often.
When working up a site, I typically start with my county's GIS server, https://gispublic.co.lake.ca.us/portal/apps/webappviewer/index.html?id=87dfc0c535b2478bb67df69d6d319eca
. Many localities have a similar site. I take screenshots of the aerial photos and paste them into a CADD program. You can get a free 2D CADD program from https://qcad.org/en/
. I take care to scale them properly.
Your locality may also allow you to download their coverages and associated data, or at least the ones that aren't commercial products. These can be used with a GIS program such as qgis ( http://qgis.org
). This is a bit of a rabbit hole; you can get books that may help guide you from https://www.packtpub.com/
You can get elevation data and lots of other goodies from https://nationalmap.gov/
. We're lucky here as they have 1 meter coverages of the entire county. I've downloaded all of them, and derive contour lines from them as needed.
Once I have what I need in GIS, I export it to CADD. I may incorporate photos from other sources. Sometimes I turn the contours into a 3D model. You can get a free 3D CADD program at https://www.freecadweb.org/
You can make a 3d model of your site using drone photography and photogrammetry. Here in California, you can do this for your own property, but you need to be a licensed surveyor to do someone else's. To ensure an accurate model, you need to accurately locate some points on the ground. The more the merrier. Some of these are used to make the model, and others are used to check the model's accuracy. You can get training on this at https://www.pix4d.com/
Even after going through all this, I can only trust the results so much. The property lines from the County are inaccurate, the aerial photos are often taken at an angle, and surveying is not an exact science. I hope this helps.