The Land of Coding: Cartography and the Embrace of Technology

Somewhere in the past few decades, cartographers have lost the control of cartography. How could this happen? Can we get it back?

This past fall, I co-taught an introductory GIS and Cartography class in a department of future urban planners. Many great questions were brought up and discussed through the duration of the course, some I would hear more than others. Two of the biggest questions were often in tandem. “Should I learn to code?” and more specifically, “what language should I learn to code in?” My answers were always, “Yes, you should!” and “Anything!” – The reasons for these answers are obvious, I suppose. Learning to program involves a paradigm shift, and you have to be taught what this shift is and should look like. Learning one language will allow you the paradigm that you need to pick up other languages more efficiently. Once you can change and establish your basic assumptions, it becomes a classic example of the law of increasing returns. A coder learning new functions is much like a linguist learning new verbs.

Perhaps the most important professional attribute one can have in our modern society is the ability to learn and pick up new technologies quickly. When learning a new technology, don’t focus on the tool itself as much as the concepts and fundamentals that manifest themselves through the tool. Same goes for coding. Many of the basics from one language to the next, or from one library to the next, will transfer, not to say you won’t have to bury yourself in syntax references for a while.

To an extremely visual person, learning to code can be a tough task. Taking yourself from the world of visually choosing colors from a palette to being more concerned about what specific hex codes are is not a very scintillating prospect, and going to a place where you generalize a map by creating an algorithm consisting of “if and for” loops quite frankly sounds super boring. One has to get to the point where it becomes a puzzle and you are using the pieces to help solve a task, do this and you will no longer see just a string of strange characters.

Much to my dismay, and unfortunately to the huge detriment of the field, geographers, and specifically cartographers, have been slow to embrace coding. I would largely attribute this to the fact that the history of cartography is very visual. The craft and science has revolved around the illustrative, visual representation of location and earth for hundreds, if not thousands of years. While fundamentally scientific, in practice cartography is an ultimate exercise in communication and design. In the 1980’s when GIS was beginning to take hold and technology started to explode, software made really (like, really) ugly maps, leaving many cartographers to write it off, think of it only as a data utility, then quickly return to familiar and well-known visual mediums for geographic representation. As such, we have lost our hold as the creators and keepers of maps. Cartographers, as such, did not embrace coding as a new tool for creating maps. This in hindsight was a monumental mistake.

Because maps and location are so prevalent in society, the field did not die, but it must now be shared with computer scientists, data programmers, and professions everywhere that may have little knowledge of the intricacies of geographic data, longstanding cartographic conventions, and proper spatial science techniques. Is this a bad thing? I don’t know, probably not. Cartography, even if it goes under the guise of “infographic” or “data visualization” has seen a renaissance in the last ten years as location-based services and spatial data management and visualization software has exploded. Some have even argued a golden age. Can we take back control? Probably not in full. Can we embrace what it has become, absolutely.

In many professions, coding is a buzzword, but to those in the spatial industry, be it geography, visualization, planning, or whatever, get yourself in the proper paradigm to carry the field into the future. The professional world and nature of mapping have changed. To survive, you must have a useful, relevant, and utility-driven work belt, and make sure that being able to create and design through the use of code is one of the tools you have in it.


  • I tend to agree though I’d add that the development of coded approaches to making maps isn’t new, nor is the dramatic shift in cartographic practice that occurs as technology changes. I recall making maps with code (using GIMMS) in the late 1980s as I put down the peelcoat and moved out of the photographic lab. Then we got Freehand, CorelDraw and Illustrator…then GIS…now a whole slew of browser based approaches that require coding.

    The point is that cartography has always been slow to react. Copperplate engravers found themselves discarded when new printing methods came around. Hand drawn mapping also. Now we’re in an era where lots of experimentation is being done with maps using code. For many, this is a technological change too far and they simply won’t change their own skill-set. That’s unfortunate and does them no credit because in cartography, history shows you have to move with the times. It’s an art, a science AND a technology. Knowing the first two won’t cut it if you don’t know the third.

    For new map-makers, certainly they should learn coding. They should also learn Geography and allied spatial subjects. A marriage of computer science and spatial disciplines is the magic ticket. On the flip side – how many coders are cognisant of spatial concepts? I’d encourage more of them to learn some. Looking forward, I wonder in 5 or 10 years time if we won’t be simply looking back on coding as a rather painful way to make a map. I may be wrong but it’ll be fun finding out.

    • Thanks for the comment! I absolutely agree that this is not a new phenomenon and has been a problem in the field for generations. The important point you hit that I may not have emphasized is that cart is an art, science AND a technology, without one the tripod falls over. Communicating this to students is key. In many circles, incorporating the right elements almost has to be a grassroots movement, as things change so rapidly. We are in for a ride over the next five-ten years 🙂


  • Mark Harrower

    Hi Mike – Thanks for posting this, there is no doubt the technical skills cartographers need today are very different from the technical skills of even just 10 years ago. Interactivity + new ways to deliver maps + new ways to consume maps = it’s exciting but stressful. As Ken points out, as technology inevitably advances, our jobs change.

    Programming is to cartography in 2014 what math was to cartography pre-1975; You might not want to know it, but you couldn’t do your job without it. To take one example, the cartography undergrad degree at UW-Madison under Robinson et al required something like 6 math classes, all pre-reqs for the required map projections classes (yes plural, they had 2 full semester classes on just projections). Think about how many innovative, path-breaking cartographers today would never have gone into the field if they had needed to take upper level math classes?

    Which brings me to other point that Ken also alluded to: Shouldn’t our goal be to remove or reduce technical barriers for folks who want to participate? “You should learn D3 and R” keeps a lot of people on the outside and prevents them from doing amazing things with data and telling their geographic stories. I think Ken is spot-on that we will look back at coding as a painful, transitional phase to something better, just as punch cards, peelcoat and CD-roms look now!

  • Mike – indeed it is time to embrace coding in geography. My time in the field stretches from hand drawn maps (rapidographs) through scribers and peelcoats to coding in and around GIS tools. As you know, I’m working on getting people acquainted with Python, which is a very easy language to learn for the people with the right temperament. The primary issue is getting people who rely on geography to be comfortable with technology and coding.