OpenStreetMap
上QQ阅读APP看书,第一时间看更新

Chapter 1. Making a Free, Editable Map of the World

Maps have always been a source of power. Armies have used them to give themselves a military advantage, traders have used them to find the shortest route between places of supply and markets, and fictional pirates have used them to find buried treasure. Those possessing a map have an advantage over those that don't.

It's no wonder then that maps and the information used to create them have been fiercely protected by companies and governments that own them. Many government and commercial mapping agencies charge high fees to use their data, impose strict restrictions on what you can do with the information, and may even make you pay to use maps you've drawn yourself. The OpenStreetMap project aims to change this by giving everyone their own map, for free, and to use for whatever they like.

In this book, you will learn:

  • What the OpenStreetMap project is
  • Why it's different from other sources of free maps
  • Why you should contribute to the project
  • How to add and edit geographic data
  • How to turn that data into maps you can use for anything you like

This chapter explains how and why the project was started, how freely redistributable geographic data is different from maps that are merely free of charge to use, and some of the things the project has already achieved.

What is OpenStreetMap?

OpenStreetMap (http://www.openstreetmap.org/) is a project to build a free geographic database of the world. Its aim is to eventually have a record of every single geographic feature on the planet. While this started with mapping streets, it has already gone far beyond that to include footpaths, buildings, waterways, pipelines, woodland, beaches, postboxes, and even individual trees. Along with physical geography, the project also includes administrative boundaries, details of land use, bus routes, and other abstract ideas that aren't apparent from the landscape itself.

The database is built by contributors, usually called mappers within OpenStreetMap, who gather information by driving, cycling, or walking along streets and paths, and around areas recording their every move using Global Positioning System (GPS) receivers. This information is then used to create a set of points and lines that can be turned into maps or used for navigation. The next image shows the raw GPS recordings of courier vans working in Central London, where you can see how the many streets in the city are laid out.

Most mappers are volunteers working on the project in their spare time, although both commercial organizations and government bodies have started to contribute to the project.

The process of using groups of people to work on a task in this way, called crowdsourcing, is a recent phenomenon based around using the Internet to distribute tasks and gather the results. It's used by voluntary projects and commercial organizations alike, and has been particularly effective since broadband Internet connections became widely available in the western world.

Other data is gathered from out-of-copyright maps, public domain databases (ones with no copyright protection), or in some cases donations of proprietary databases by the companies that own them. In most cases, this needs further work to update and tidy the data, but it allows mappers to cover areas they can't get to, or for features that are difficult to survey on foot.

The database uses a wiki-like system where any mapper can add or edit any feature in any area, and a full editing history is kept for every object. This means any mistakes or deliberate vandalism can be rolled back, keeping the data accurate. OpenStreetMap doesn't use an existing geographic information system (GIS) to store its data, but instead uses its own software and data model to make the crowdsourcing process as easy as possible, and to allow the maximum level of flexibility in what gets mapped and how.

While the primary aim of the project is to collect geographic data, members of the project have also produced a wide range of software (much of it open source) that creates, edits, manipulates, or uses the data in some way. We'll use a selection of this software in the examples in this book.

What is OpenStreetMap?

OpenStreetMap's data is free to use by anyone, for any purpose. It is released under a license that allows you to copy, change, and redistribute the data. There are many maps available on the web, all of which are free to use, and some can be embedded in your own web pages or used in mash-ups, but they also have restrictions on what you can do with those services and the data they provide.

In contrast to OpenStreetMap, none of these free services allow you to modify or redistribute their data. If the data is wrong, you can submit a bug report and hope that they fix it, but update cycles are typically slow, and can take months, if not years, to make the corrections. If the service is withdrawn, you're left with nothing. If you want to use the data offline or in an alternative format, you can't. Some even go so far as to claim ownership of any information you display on top of their maps. To borrow a phrase from open source software, these services are "free as in beer, not free as in speech".

OpenStreetMap is often compared to Wikipedia, and there are many similarities between the projects. They both create freely licensed content. They both use the Internet to allow contributors from all over the world to participate, and they both rely on collaborative editing to improve the information they contain incrementally. They both rely on a large and diverse community to ensure the project runs smoothly, and to prevent errors, whether accidental or intentional, from lowering the quality of their information.

Unlike Wikipedia, OpenStreetMap is building a database of information rather than a series of articles. The biggest difference between the projects is that to contribute to OpenStreetMap, you will, at some point, have to leave your computer behind and go out and gather some data.

Despite the name, OpenStreetMap isn't just about maps, and certainly not just about one or two maps; routing, geocoding (finding coordinates for a given object), and spatial analysis are other applications for the data. Even the maps on the OpenStreetMap website are just examples, and you can make your own maps in whatever style you choose.