Forum:Request help/Generated Topography

From OpenGeofiction
ForumsRequest help or feedback → Request help/Generated Topography

I have been working on procedurally generating topography and have reached a point where unbiased perspectives and feedback would help. I’d like to know what doesn’t look right, what could be improved, or if there are things that I have I missed or forgotten to consider.

Information about the process along with territory examples can be found at this link.

Thank you, Egen (formerly Paxtar) Egen (talk) 01:56, 13 January 2024 (UTC)

This is insane!!!!! How long did it take to make this? MiniMapper (talk) 03:17, 13 January 2024 (UTC)
Absolutely great work, I can't wait to see more. Did I get it right that rivers are added by erosion techniques after the elevation map was created?--Mstr (talk) 14:14, 13 January 2024 (UTC)
I've been working on this for about 8 years!
The water traces show where water would naturally flow. A drop of "water" is put on every point of the height-map, and then moved to each lowest adjoining point until it reaches sea level. The intensity of the water path color goes up as more drops flow over points on the height-map. This all happens after erosion has already been applied. It also works without erosion. If the volume of the "drop" has a real world value, it would make it easier to see if the water trace was an actual river, or just a stream.Egen (talk) 17:18, 13 January 2024 (UTC)
Hey Egen. I've always been intrigued to see what you could achieve with this, ever since we first discussed some years ago. However, reading your webpage, I have more specific questions. I feel like I'm missing something: what tool are you using to do this? I mean the generated heightmaps. What format are the heightmaps stored in? (I'm assuming NOT SRTM, but if it were, or something convertible, I'd be very excited.) Are you using some specific set of plugins for JOSM (beyond piclayer)? Are you editing the heightmaps in JOSM? If not, are you editing them in some other tool? If not an editor, are you piping your heightmaps through some kind of batch program? I don't feel like these things are obvious from your write-up.--Luciano (talk) 21:07, 13 January 2024 (UTC)
Luciano: I wrote the code that runs the process using Java.  (A part of the erosion code was borrowed.) JOSM is used for data entry. Object settings are added same as when mapping, in Key/Value pairs that are applied to nodes and ways.  Most of the keys I used are custom keys.   Object  positions use the lat/lon positions of nodes.  The OSM file is only read at the beginning of the render process, and is not updated by the process. At the end of the render, the height-map is saved as a CSV file.   The CSV file is loaded in to a second module which erodes and low-point-fills the height-map.  An updated CSV file is saved for use in the color map module.  A whole-number CSV is also saved.  It has been a while, but I believe that Thilo used the lat/lon corner positions and a whole-number version of a an early height-map to add it to the topo layer.    
The two territory examples include links to the OSM files that were used to generate the height-maps.  Opening either of those will show you the settings that were used.  Also included with the examples are the lat/lon corner positions and a whole-number version of the height-map.  
I haven’t spent any time on SRTM files. I wanted the process to work before spending time on something that I might never use. If you have any code that does the conversion I’d be interested in seeing if I could get it to work Unsigned comment by Egen (talk).
Thanks for the additional info - that makes things a lot clearer. Do you have any interest in posting your code somewhere (e.g. github, gitea, etc)? Not that I have any expertise, even sufficient to understand it much less modify it, but maybe more people working on the problem could achieve some innovations?--Luciano (talk) 19:07, 15 January 2024 (UTC)
I will try to update what I have to something that won’t require coding knowledge to run.   If it works I’ll post it with some basic instructions for anyone interested in trying it. Unsigned comment by Egen (talk).