Drawing maps is an ideal application field for programming applied to graphics. Different functions –gathering, transforming, calculating, drawing– can be channeled in a single process with the goal of building a complex image.
Tools like QGIS, GDAL, and Drawbot have Python scripting interfaces and they can be lined up through macro scripts.