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.