Putting things together
Now that we have some of the basic terrain types covered, it is also time to think about how to combine data sources and view them efficiently. On the data end, I have started to trace terrain types from the 2001 3e map to gain complete paths for oceans, lakes, plains/grasslands, and jungles/forests. This map is limited to the continent of Faerun and since a full world map is a goal down the line we need to place it on the globe. Fortunately, Toril is about the same size as Earth (see Dragon Magazine #161, pg 89) so current geoinformation systems can help us out. D&D 5e did not include a complete world map, so the best base map is, to my knowledge, still the one published in the Forgotten Realms Interactive Atlas. The 2D map of the atlas is not complete in the north and south directions and omits latitude and longitude lines, but it does come with an interactive globe that we can use to place it on the right spot:
Marked are two critical spots I picked to line up the map’s latitudes: the island north of Icewind Dale at 60° North and the Corsair Domain islands at the Equator. Many adventures play on the sword coast, so getting this part of the map “correctly” placed seems sensible. Even within the interactive atlas, some map regions don’t line up. Along the equator, for example, on the globe, Maztica is placed further south than on the 2D map and has a different size (though since those regions are hardly explored, poor maps are to be expected). With that information, we can attempt to add a lat/long graticule to the 2d map:
During placement, I added two changes to the FRIA 2D map: I completed the islands in the northwest with shapes from the globe map, and I moved the island southeast of Katashka further south towards the Arctic circle (it is supposed to be partially covered by the winter ice shelf and was previously too far north for that).
OpenLayers
While designed as a real-world Google Maps-like interface, OpenLayers can just as well handle fictional D&D campaign maps. It supports the placement of arbitrary image layers anywhere on a globe map at various scales. It technically enables zooming from planet level down to a Battlemap (I can confirm this works), though this might be overkill in most campaigns. As an initial test, I have created a Map Status page for my current progress, using the FRIA maps as global base layers and roughly fitting the 3e map of Faerun to it.
Using svg images as layers is technically supported (as seen with the raw data layer), but complex filter setups like the ones used in the forest terrain seem to cause performance and rendering issues with some browsers. Until that problem is solved current svg results will be rendered to a high-resolution jpg as a workaround.
Twisted future
Since the plan is to distort the 3e map to fit onto the 2e globe in the long run, I have investigated tools that help with this image registration problem. After some semi-successful tests with various Python libraries I found Fiji, an app usually used in biomedical image analysis. Its BigWarp plugin enables a smooth deformation of one image to another based on landmark points on both images. Fortunately, Faerun has many features that can be found on the 2e and 3e map, lakes, bays, peninsulas, estuaries, mountain ranges, and main roads, to name a few. Some features like the extent of forests and the exact flow of rivers might have changed naturally between editions. An image registration based on roughly 600 landmarks yields the following deformation map (also viewable in the Map Status):
The grid shows which areas of the map required the highest amount of deformation. The large cells along the Sword Coast, for example, indicate how River Chionthar (next to Baldur’s Gate) and the Winding Water were much closer to each other on the 3e map. Similarly, the entire Shar area had a much smaller north-south extent on the 3e map. Some areas have changes in topography that can not be solved by simple image warping, e.g. the northwestern border or Anauroch or the Giant’s Run mountain range. I have omitted islands from the warp since they can be handled/warped independently from the main continent.
The warped version of the 3.5e map image is, of course, not aesthetically pleasing, but we can later use the transformation field on our svg data (with some manual adjustments if needed) and apply the terrain styles, to obtain a 2e map using undistorted 3e graphical styles.
Next time, we’ll wade into the marsh, swamp, and moor styles.