I’m using the GIS blender add-on to import my topography data. For those not familiar with the GIS add-on, here are 3 good videos:
https://www.youtube.com/watch?v=Mj7Z1P2hUWk&t=259s
https://www.youtube.com/watch?v=YNtKnmRXVlo
https://www.youtube.com/watch?v=t6ypxnYtl0g
The original mesh created by the GIS software was pretty dense (3.1 million faces), but I was able to un-subdivide it and get it down to 12,000 faces. I plan on my camera being roughly 5,000 meters in the air, so I didn’t need 3.1 million faces of details. This reduced render times by about 80% and knocked my Blender file size down from 808,000 KB to 24,000 KB.
I used the color image generated by GIS to create a mask for my forest particle system. The mask looks like this (trees go in the white spots)
My “trees” are about as low poly as I could make them:
I also used the GIS image to create bump and roughness maps for the terrain.
It still has a long way to go, but this is what I have so far. It takes about 17 seconds to render and has 400,000 “trees”.