I would like to share a few resources I have found to aid in creating 3D representations of heightmaps for use in 3D
permaculture design and/or
earthworks and fluid simulation.
terrain.party
Created for the video game Sim
City this tool allows users to search for a location and save a heightmap as an image. It uses LIDAR data from OpenStreetMaps and the USGS database.
The USGS data it uses is only accurate down to 8km so this is best if you have at minimum 2 acres of
land; otherwise you may have to design at a larger scale reference. Data is most accurate in the US.
USGS
If you have a workflow that can make use of the LAZ format you can get it directly from the US geographic survey. (I'm sure other government offer similar data for their locations).
OpenStreetMap
OSM has maps that already have contour lines drawn for 2D maps, however there isn't an easy way to create a heightmap from this.
Rent A Drone
Alternatively you may wish to rent a LIDAR capable drone to scan the topography of your site and create a heightmap out of that.
For creating 3D meshes from your heightmap:
For 3D artists any DCC software will do, but for a free program I recommend
Blender
The process is well documented on YouTube, search for "How to displace a mesh with a heightmap" and something will come up for just about any blender version.
Blender can also better process raw point clouds which you might get from some LIDAR scans.
Alternatively if you want more control and the ability to sculpt and texture your terrain without a huge learning curve I would recommend
Unity.
Unity is a Realtime engine for creating video
games, animation etc. so it has very artist friendly tools for terrain. Again tutorials are abundant, you may have to download a custom script
to import a heightmap all at once though. I have written on, so if anyone decides to go down this route let me know.
General knowledge when creating/saving heightmaps:
Use the .exr or .tff file formats when dealing with height data they encode black/white images well without loss to compression.
This will also reduce the banding effect like you see in gradients and will result in smoother transitions between pixels, thus more accuracy when displacing a 3D mesh.
Higher resolution meshes = more detailed terrain. Always subdivide your plane before displacing the geometry with a heightmap.
Your heightmap
should be White (High) to Black (Low) in a greyscale format.
I have only had to create 3D terrain from actual LIDAR data once or twice, but if anyone has any questions let me know.