OpenStreetMap uses its own data model, which is different from any other data model used by Geographic Information Systems (GIS). It uses only three primitive types, combined with a free-form tagging scheme that allows you to describe accurately, virtually any geographic feature. It also describes the topology of the features—how they are connected, and how you move from one to another. This last feature is essential for some applications, particularly routing, but isn't a feature of many traditional GIS'.
In this chapter, we'll look at how OpenStreetMap's systems record the features you draw on the map. In particular, we'll look at: