Results 1 to 9 of 9

Thread: Erosion simulation of a full globe

  1. #1

    Default Erosion simulation of a full globe

    I have a map full of basic landmasses and mountains, and I want to apply an erosion simulation onto it to get better look / more realistic looking mountains.

    I tried using wilbur for a while, but it seems to only be able to handle small sections of the world (like one continent at a time).

    I have a full equirectangular map that I'd like to use, but I'm not sure if there's any programs that I can do this with.

    Any help?

  2. #2
    Administrator Redrobes's Avatar
    Join Date
    Dec 2007
    Location
    England
    Posts
    7,244
    Blog Entries
    8

    Default

    I don't know of anything that would do global erosion. The problem of calculating erosion is quite complex and to any at all requires a lot of processing and memory. The main issue you have is that there are numerous types of erosion. Usually its water but there is wind and tidal as well. The movement of continents, large water body flows and other factors at global sized mapping ratios would need to be taken into account.

    So most mapping apps that calculate erosion usually does it at a scale where it works for water because that is the one which has the most effect on terrain. Therefore, usually, the apps doing erosion work best at certain scales and the commonest range of scales is that where you have a range of mountains in the region of interest.

    Landmasses and terrain are quite fractal in that it looks similar close up to a long way away but the processes of erosion that occur are not. Although there is some range of scale for streams to rivers, the flow of water is very scale dependent and how much rainfall occurs per year (on Earth) is within a range that you cant indefinitely scale up. So mountains would have limits to their size. Maybe for different planets where the environment is not Earth like at all then we could bust out of that range.

    So an app would have to have the scale of the terrain put in and then perform different types of erosion processing depending on the scale. Whilst that could be programmed, I don't know of any that have. I suspect the best you could do is see if Waldronate could give some hints at how best to make Wilbur do its erosion processing for very small scale maps.

  3. #3
    Administrator waldronate's Avatar
    Join Date
    Mar 2007
    Location
    The High Desert
    Posts
    3,606

    Default

    Wilbur's algorithms are purely 2D ones and can't cope with the variable size and connectivity of an equirectangular projection. They are also rather incorrect in terms of what they actually do and become implausible (to my eye) at much more than about 100m per pixel.

    I haven't seen any global erosion sims that I can recall, but I do admit that I haven't been looking hard in the last some number of years.

    One option for using Wilbur is to, as you suggested, do one continent at a time. To get even semi-plausible results, though, you'll want to project each continental block into an equal-area projection centered on your area of interest, process the image in Wilbur, reproject the processed map back to equirectangular, and then composite all of the pieces together. You'll still have Wilburesque artifacts like no endorheic basins, though.

  4. #4

    Default

    This is very interesting.

    I've been looking into programming this and concluded that it needs to be done on a spherical grid that is more or less uniform, i.e. a cubic sphere or icosphere (subdivded icosahedron), it wouldn't work on an equirectangular map because the longitudinal spacing of the grid points decreases with the cosine of the latitude. Maybe an algorithm could compensate for that but it seems easier to me just to project the map onto the right kind of grid. Unfortunately I need to do some other things to my code before I can start coding this, but that's the approach. One thing I have managed though is to research the existing projects and products that address this in some way. Wilbur of course is already discussed above.

    If you look at the pre-alpha world game Songs of the Eons they have a sophisticated world generator which simulates tectonics, glaciation, erosion and a whole lot of other things, and it may through its modding architecture become possible to apply those processes to your own maps, or to edit maps that it produces. I find it somewhat unstable but it might run better on a monster PC. SotE does generate things like lakes, fjords and endorheic basins but it also tends to produce Tibetan plateaux the size of Mars and other bizarre landforms so you need to tweak carefully. It looks a very promising project, although the long term focus is on gameplay rather than cartographic artistry. See https://sote.miraheze.org/wiki/Main_Page.

    You can do this on a continent-by-continent basis and assemble continental maps into a single world map because erosion doesn't cross oceans. An approach to that is available in another newish piece of software called GenBrush - this costs about £15 / $20 but also seems very promising, but only recognises the spheroidal shape of a planet during the "composition" phase where you project flat contintental or smaller-scale maps onto a globe. It's currently being rewritten with a new UI. See https://mavichist.itch.io/genbrush.

  5. #5
    Administrator waldronate's Avatar
    Join Date
    Mar 2007
    Location
    The High Desert
    Posts
    3,606

    Default

    https://www.redblobgames.com/x/1842-...oronoi-sphere/ might be of interest. Using a raster for generation and editing isn't a great idea because you either need to do some shifty things with a connectivity map or waste a lot of CPU cycles working on areas of low information density like ocean basins. Using a sparse set of points distributed over the sphere can be a better option (especially in terms of total points managed), but implementing the operations can be more complex than the basic image processing operations used in tools like Wilbur.

    I've mentioned this once in a while, but a relatively simple raster storage scheme should fairly amenable to most image processing operations: store the raster as a square rotated 45 degrees left. The north pole is at 0,0, the south pole is at size,size, and the equator runs diagonally from 0,size to size,0. This gives you something very broadly similar to a sinusoidal projection in terms of the area covered by each pixel, but the connectivity around the edges is a little annoying (e.g. moving "left" along constant latitude from pixel 1,0 gets you to pixel 0,1). This scheme makes painting the poles easy, but each pixel in the map is a varying and funny-shaped polygon (area matters for some algorithms). The mappings from the image domain to lat,lon and back are simple linear ones and I leave those as an exercise for the reader.

  6. #6

    Default

    That square projection with the poles in opposite corners seems to resemble one available in NASA G.Projector as Adams World-in-a-Square II. Unfortunately (as with most projections) you can convert to this projection but not from it... It also seems to be available in ESRI and therefore in e.g. QGIS as number 54098.
    Last edited by chateauferret; 01-17-2021 at 05:46 AM.

  7. #7
    Administrator waldronate's Avatar
    Join Date
    Mar 2007
    Location
    The High Desert
    Posts
    3,606

    Default

    Adams World In A Square 2 is very much unlike what I described, as it requires complex math and has curved parallels at varying distances from the equator (it's also conformal, which is a nice property that makes for pretty maps). What I described is a simple linear transform with absolutely hideous properties from a cartographic perspective. You wouldn't want a map in that projection for any purpose than computer-based usage: humans have reacted badly to the projection that I described.

  8. #8

    Default

    Quote Originally Posted by waldronate View Post
    Adams World In A Square 2 is very much unlike what I described, as it requires complex math and has curved parallels at varying distances from the equator (it's also conformal, which is a nice property that makes for pretty maps). What I described is a simple linear transform with absolutely hideous properties from a cartographic perspective. You wouldn't want a map in that projection for any purpose than computer-based usage: humans have reacted badly to the projection that I described.
    Oh, I see what you mean. Just squashing it into a square and turning the raster onto one corner? Yes, you wouldn't display that I suppose, but there seem to be plenty out there that look horrid. I guess that if the data points are always more or less equidistant it will support the calculations though.

    Sorry I was confused. I've edited above.
    Last edited by chateauferret; 01-17-2021 at 05:46 AM.

  9. #9
    Administrator waldronate's Avatar
    Join Date
    Mar 2007
    Location
    The High Desert
    Posts
    3,606

    Default

    Quote Originally Posted by chateauferret View Post
    Oh, I see what you mean. Just squashing it into a square and turning the raster onto one corner? Yes, you wouldn't display that I suppose, but there seem to be plenty out there that look horrid. I guess that if the data points are always more or less equidistant it will support the calculations though.

    Sorry I was confused. I've edited above.
    Creating a map projection (or anything, really) is difficult because you're always optimizing for some desired set of properties. Equal-area, conformal, equidistant, political agenda, ease of use for navigation, simplicity of computation, novelty, and aesthetics are some of the more common dimensions. The projection that I described is optimized purely for ease of use with digital computers and minimizing memory use while being semi-quick to compute the forward or inverse projection using simple linear transforms. It has terrible aesthetics, which is why I described it rather than showed a map in it. It's similar to one of the aspects of the Collignon projection, but isn't equal-area.

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •