OpenStreetMap
A significant force in the world of digital cartography is OpenStreetMap, or OSM for short. It is an open-source project focused on mapping the entire world through the collaborative efforts of volunteers using freely accessible and editable geographic data.
OpenStreetMap’s main strength is its dedication to open data. Open data means anyone can use, change, and share the geographic information in OSM for free. This has a few important impacts:
- Accessibility: Anyone can access and use OSM data without needing to pay for expensive licenses.
- Collaboration: The open nature of the data encourages collaboration among users, developers, and organizations.
- Innovation: Open data encourages innovation as developers can build upon existing data to create new applications and services. (This is what I’m doing!)
OpenStreetMap data is used in a variety of applications, from everyday navigation to disaster response. Here are a few examples:
- Navigation Apps: Apps like Maps.me and OsmAnd use OSM data for offline navigation.
- Humanitarian Aid: During natural disasters, organizations like the Humanitarian OpenStreetMap Team (HOT) use OSM to provide up-to-date maps for disaster response.
- Urban Planning: City planners and researchers use OSM data for analyzing urban development and planning new infrastructure.
How digital mapping works
Since this data is open-source and easily accessible, it is a great starting point for creating ones own maps. But digital mapping is a complex topic – more so than it may seem at first. Since it is also a broad topic, I will focus on how the rendering and viewing of digital maps works, as this relates most to my project.
Rendering in digital mapping refers to the process of generating a visual representation from a model, in this case, geographic data. In the context of OpenStreetMap, the geographic data is processed by a rendering engine to produce the final map that users see.
It starts with the raw data, which consists of points (representing locations), lines (representing roads, rivers, etc.), and polygons (representing areas such as parks, buildings, etc.). This data is usually stored in a geographic database.
The rendering engine takes this data and applies a style sheet, which defines how each type of feature (roads, parks, water, etc.) should be displayed – its color, width, pattern, and other visual attributes. This process is called “’styling”.
Next, the styled data is “drawn” onto a blank canvas to create the map. This is done in layers, with each layer representing a different type of feature. The order of the layers is important as it determines what features appear on top of others. For example, roads are typically drawn last so they appear on top of other features like parks and buildings.
Finally, the rendered map is divided into tiles, which are small, square images. These tiles are what you actually see when you look at a digital map on a screen. When you pan or zoom, different tiles are loaded in to give the impression of a seamless map.
It’s important to note that rendering is a computational heavy process, and for large maps, it can take a lot of time and resources. Therefore, tiles are usually pre-rendered and stored on a server, ready to be served up to users when needed.