More samples of maps I made in a few hours. These are drawn from my War of the Spanish Succession siege dataset, derived from the research appearing in my Vauban under Siege book. In that book I created some maps of the Low Countries theater using Adobe Illustrator – some were decent, others not so much. I’ve posted a few other examples of early modern European military maps here, mostly from the Iberian theater, which I discussed in a Spanish-language article I authored (some examples here).
But now, with QGIS in da house, I can make them a lot quicker. So here are a few examples of my entire WSS siege database mapped, with a few mistakes and a few errors, of course. Ideally, maps like this would’ve been in my dissertation, but that would have meant me graduating in late 2003 instead of late 2002.
The process, for those playing at home: I took my Excel spreadsheet listing 116 sieges (I deleted a few fort sieges because I didn’t want to have to research their lengths and locations), added a column identifying the modern country of each place, converted the spreadsheet into a UTF-8 csv file, then used QGIS’s MMQGIS Geocode plugin to get the lat and long coordinates from Google for each place, placing it as a new layer on top of the Natural Earth base map. I then had to change a few of the coordinates in the QGIS attribute table, mostly because either a) I didn’t specify which Castiglione (or Reggio or Aire) was besieged, or I thought it was Haguenau, Germany, when it was actually Haguenau, France. Fortunately, most of these were pretty obvious from looking at the map, given my knowledge of where the campaigns were conducted. You use the Numerical Vertex Edit plugin to edit coordinates – they cannot be edited in the attribute table. And, fortunately, changing the feature on any level updates it on all other layers.
Then I had to make a new calculated field for the siege length values, because they were imported in as a text string field rather than a decimal numerical field (‘3.8’ instead of 3.8). Once the data was cleaned up, I either used rule-based formatting or graduated symbols to display various attributes about the sieges. Now that I know the procedure, it’ll take just a few minutes to make variations of the map. No more calculating circle diameters in Excel and manually placing them on the map!
First, a map showing 116 siege locations during the war, with black circles indicating those sieges where the besiegers managed to capture the fortress (about 85% overall).
Next, the same map (sans the Layers Panel), but with rule-based symbolism where red circles indicate Allied-conducted sieges, and blue circles indicate sieges undertaken by the Bourbons.
Now, the same basic map, but this time we’re using the numerical siege length field to create graduated point symbols, so we can see the relative length of the sieges. I could, of course, define any min-max diameter for the circles, but if they get too large, you lose the smaller sieges.
Of course, if you just want to be goofy, or simulate what my vision will be like in another ten years, you can make a raster heat map, using the Layer Style-Heatmap option, create your own color ramp from transparent to red, and make a smaller radius. That gives you a map that emphasizes regions which saw many sieges:
I turned on the modern political boundaries, which helps distinguish the Iberian vs. Spanish sieges. Digitized early modern boundaries, and other features, will have to wait until sabbatical.
I haven’t offset those siege symbols for towns that were besieged more than once. Thus, for the first two maps, only one symbol is visible. This is particularly germane for Landau near the Rhine, which saw four sieges, but even the third map doesn’t help much, since three of the sieges lasted between 2.3 and 2.8 months and therefore all three have the same-sized point symbol stacked on top of each other. The heat map, however, emphasizes Landau’s four sieges.
That being said, I did change the render oder (Symbol Levels) on map 1 to have the white circles be drawn on top (Layer Order, white = 1, black = 0). I also put a white outline around each black circle for both maps 1 and 3, so you can see when the circles of several proximate, successful sieges overlap each other (for map 3, Layer Order with smallest/shortest circle drawn on top, with largest circle drawn on the bottom).
Most importantly, I haven’t yet figured out how to combine two attributes into one point symbol (e.g. size of circle as length and besieging side as color of the same circle), but you always need to have goals.
But wait, there’s more! There’s probably some way I could split the Allied and Bourbon into separate layers, make a raster heat map for each of those, and then overlay them.
Just spitballin’ here, but you could also calculate a siege index (maybe number of siege-days) and map that, possibly as a raster heat map. If you run the raster heat map on the siege length layer, you get a rasterized version of map 3:
And, of course, the beauty of GIS is that you can combine this data in any way you’d like, combine it with other data, and focus on subsets of the data. Maybe you want a separate map for each campaign year. Throw in field battles, or the amphibious landings. Add in roads, fortresses, logistical centers, and so on. Maybe you want to spatially analyze these features. The world’s your oyster. Mine too.