This question is very similar to the one suggested here .
My problem is that I have a map, something like this:

This map is created using Perlin 2D noise and then executed through the created height map, assigning types and color values ββto each element in the relief depending on the height or slope of the corresponding element, which is pretty standard. The map array is two-dimensional and accurate screen sizes (pixel per pixel), so at 1200 by 800 generations it takes about 2 seconds on my installation.
Now scaling the selected rectangle:

Obviously, as the size increases, parts are lost. And here is the problem. I want to create additional details on the fly, and then write them to disk when the player moves (the player will simply be a point limited by movement along the grid). I see two approaches for this, and the first thing that occurred to me, I quickly implemented:

This is an enlarged view of a new displaced local landscape created from a sample element of the old terrain, which is highlighted by the yellow grid space (to the left of the center) in the previous image. However, this system will require a lot of modification, for example, if you move one unit to the left and up the yellow space of the grid on the beach tile, the landscape will completely change:

So, in order to work correctly, you will need to do an excessive amount, I think the word will be interpolation to create a smooth transition, since the player has moved 40 or so mesh spaces in the local world, necessary to reach the next tile in the world. It seems complicated and very inelegant.
A second approach would be to split the grid of the original map into smaller bits, perhaps dividing each square into 4? I have not implemented this, and I'm not sure how I would have done it in such a way as to actually increase the details, but I think this is likely to be the best solution.
Any ideas on how I could approach this? Keep in mind that it must be local and on the fly. Just increasing the resolution of the card is what I want to avoid at all costs.