For the creative version:

I used spigotmc to load and populate the map. With the plugin WorldBorder, I set a border and filled the map.

wb shape rectangular
wb earth setcorners x1 y1 x2 y2 *
wb wrap earth on
wb earth fill 100 0 true
wb fill confirm

*depends on the scale, e.g. “setcorners -21504 -10752 21504 10752” for the 1:1000 map.

For the survival version:

This was a lot harder to achive. When populating the map with structures turned on, Minecraft will place them anywhere in the map (depending on a seed). This will cause some strange placements of villages over water, pyramids in snowy areas, and so on.

The solution I found was the mod “Painted Biomes” (for Forge). Sadly only available for 1.12 at the moment. This mod allows Minecraft to generate the biomes from an image. (Luckily we already have an image with all the biomes mapped to a colour.)

With this mod, all structures are placed in the right biomes.