Skip to content

OpenSidewalks Schema

OpenSidewalks Schema⚓︎

The OpenSidewalks Schema is an open pedestrian transportation network data standard for describing and sharing pedestrian network and pedestrian network-adjacent data. The OpenSidewalks Schema promotes an explicit network (graph) model wherein its primary data entities can be deterministically transformed into graph Edges and graph Nodes.

Therefore, OpenSidewalks Schema data represents a traversable and graph-analyzable network of (conditional) pedestrian paths like sidewalks, street crossings, some streets, and other paths, as well as metadata representing potential barriers.

The OpenSidewalks Schema is explicitly a network schema: its primary features are defined and interpreted as elements of a network (or graph), i.e. Nodes and Edges. Therefore, OpenSidewalks Schema data is understood not only as a set of features describing pedestrian infrastructure, but as connected elements of a pedestrian network.

The OpenSidewalks Schema draws from and is intended to be largely compatible with OpenStreetMap data, though it is possible to create OpenSidewalks Schema data not derived from OpenStreetMap.

Transportation Data Exchange Initiative⚓︎

Validation, ingestion, and downstream use of the OpenSidewalks Schema are supported by tooling developed and maintained through the Transportation Data Exchange Initiative (TDEI).

TDEI provides both user-facing interfaces and programmatic APIs that enable schema validation, quality assurance, dataset management, and access for OpenSidewalks-compliant data. These tools support data producers, stewards, and consumers in publishing and using standardized pedestrian infrastructure datasets at scale.

Metrics⚓︎

As of January 2026, the TDEI system hosts over 5600 complete OpenSidewalks-validated and vetted datasets, representing more than 10.5 million crossings and almost 400,000 miles of sidewalks, with ongoing updates and expansion. These datasets have passed schema validation and TDEI quality control workflows prior to publication. For current metrics of OpenSidewalks data in the TDEI, please refer to the TDEI Performance Dashboard.

Validation⚓︎

An OpenSideWalks Schema validator is available as a Python library and as a Job Type in the TDEI Portal:

OpenSidewalks Schema Entities⚓︎

The OpenSidewalks Schema defines network and non-network data using a set of vector geometrical entity types, each of which has an associated geometry type compatible with either the Point, LineString, or Polygon specification of Simple Feature Access, fields that uniquely define the entity type (in combination), optional topological information, and optional key-value pair metadata fields defined on a per-type basis.

Entity Categories⚓︎

There are currently two major categories of OpenSidewalks Schema entities: Core Entities and Adjacent Entities.

1. Core Entities⚓︎

Core Entities are the traversable entities which make up the OpenSidewalks pedestrian network.

There are three types of core entity models:

  • Nodes
  • Edges
  • Zones

Nodes, Edges, and Zones are geometrical features (OGC Points, LineStrings and Polygons, respectively) with network primitives defined such that a network (or graph) can be constructed purely from their metadata. Examples of each entity model:

  • Node: a raise curb.
  • Edge: a sidewalk.
  • Zones: a square or plaza.
Nodes⚓︎

Nodes are Point features (as defined in Simple Feature Access) that also contain metadata to identify them as network (graph) vertices. They must have a unique (within the dataset) _id field. Therefore, the set of network vertices in the dataset could be summarized as a set of these _id field values, consistent with the definition of vertices within a graph in graph theory. As a result of storing these vertex identifiers, Nodes may be placed within a traversable graph using only metadata, not spatial inference.

Edges⚓︎

Edges are linear features that also contain metadata to identify them as network (graph) Edges. They must have two Node-referencing fields: _u_id and _v_id, which mean "this linear feature begins at the Node with _id of _u_id and ends at the Node with _id of _v_id. Therefore, a network (graph) may be constructed from a set of Nodes and Edges directly from metadata. Outside of the graph representation, Edges must have a unique (within the dataset) _id field.

Note that Edges are directional features: they start at one Node and end at one Node. The data they represent is directional as well: their geospatial data must start at one location and end at another and Edges often have fields like incline that only have meaning when direction is understood: a positive incline value is uphill while a negative incline value is downhill. However, this does not mean that datasets must be curated with both "forward" (u to v) Edges and "reverse" (v to u) Edges: any "reverse" Edge can be inferred during graph creation.

Zones⚓︎

Zones are Polygon features that also contain metadata to identify them as network (graph) Edges. They must have a list of Node references: _w_id, which mean "this 2-dimensional Polygon feature consists of a complete graph with every pair of distinct Nodes in _w_id connected by a unique Edge.

Note that this would yield \(k(k-1)/2\) Edges for a Zone comprised of \(k\) Nodes.

2. Adjacent Entities⚓︎

Adjacent Entities are pedestrian network-adjacent entities that help describe the surrounding environment of the pedestrian network and can be used to augment the traversable network with important information. For example, a blind user would benefit from knowing that the footway they are using is adjacent to vegetation on their right side and a lake on their left side, or a park visitor would want to know where benches are located along their walk. Adjacent entities are not required for producing a valid OpenSidewalks dataset.

There are three types of adjacent entity models:

  • Points
  • Lines
  • Polygons

Points, Lines, and Polygons are solely geometrical OGC features and they lack network metadata: their relationship to other members of the dataset is spatial. Adjacent entities are features relevant to the pedestrian network that are nevertheless not represented as elements of it: they are nearby and useful for producing descriptions, flagging potential barriers, etc.

Examples of each adjacent entity model:

  • Point: a fire hydrant.
  • Line: a wall or a fence.
  • Polygon: a planter.

OpenSidewalks schema includes some Adjacent Entities which we found valuable to the pedestrian experience and are readily available through community contributions on OpenStreetMap. Other Custom Entities can also be included in an OpenSidewalks dataset and subsequently spatially merged with the Core Entities defined in the schema.

Points⚓︎

Points are features that are geometrically defined by a single latitude-longitude pair: a point on the planet. They are explicitly not elements of the pedestrian network definition (i.e. the graph structure described by Nodes and Edges), but they are still highly relevant to the physical pedestrian network. Points may be considered part of the real physical pedestrian network, but aren't appropriate as elements of the network described by the OpenSidewalks Schema. All Points must have a unique _id field.

Lines⚓︎

Lines are features that are geometrically defined by a series of coordinates forming a LineString. They are explicitly not elements of the pedestrian network definition (i.e. the graph structure described by Nodes, Edges and Zones), but they are still highly relevant to the physical pedestrian network. All Lines must have a unique _id field.

Polygons⚓︎

Polygons describe 2-dimensional areas which are adjacent to pedestrian paths. They are explicitly not elements of the pedestrian network definition (i.e. the graph structure described by Nodes, Edges and Zones), but they are still highly relevant to the physical pedestrian network. All Polygons must have a unique _id field.

3. Custom Entities⚓︎

Custom Entities are user-defined features that extend the OpenSidewalks Schema beyond the predefined Core and Adjacent categories. They enable incorporation of bespoke data layers while maintaining schema consistency. Custom Entities can take one of three geometry types:

Entity Attributes⚓︎

Every entity has a set of defining attributes:

  • geometry type that define the OGC geospatial type of the feature.
  • identifying fields that must be matched to infer the entity type.
  • optional fields that describe additional attributes of the entity.
  • additional fields that describe attributes of the entity which have not been captured by the OpenSidewalks schema. Any additional fields must be prefixed with ext:.

Entity Type Inference⚓︎

Intended to closely mirror OpenStreetMap entities, OpenSidewalks Schema entities are identified by their set of attributes. Fields that uniquely identify an entity type are called identifying fields. In most cases, if an entity has all of the identifying fields specified and a matching geometry type, its type is matched. The only exception is for entities whose identifying fields are also a subset of other entities' identifying fields, in which case they are identified by (1) having all of the identifying fields listed and a matching geometry type and also (2) not any of the identifying fields of subtypes.

Metadata Fields⚓︎

The optional metadata fields that may be populated for OpenSidewalks Schema entities are largely inspired by and compatible with (reading from) OpenStreetMap data.

OpenStreetMap-derived fields represent a standardized and constrained interpretation of OpenStreetMap tags that often represent boolean values as yes/no strings, have unclear enumerated value tags, or allow the use of many different units for distances (e.g., a path's width may be described in meters, centimeters, feet, or other units in OpenStreetMap). The standardization of field types is itself inspired by the OpenMapTiles standard, which is optimized for protobuf-based serialization.

The combination of metadata standardization and network structures make OpenSidewalks data machine-readable and amenable to standardized analysis pipelines.

Additional information on field types can be found in the overview subsection of the fields section.

Network Topologies⚓︎

The OpenSidewalks Schema includes network topological rules for the ways in which network-mappable entities can be connected.

Edges only connect end-to-end⚓︎

While a graph structure may be inferred from Edges via their endpoints, the use of _u_id and _v_id are preferred. However, Edge entities should still meet end-to-end as they are intended to represent a physically-connected space.

Similarly, no connection is implied when the linear geometries of Edges cross.

A road entity and a crossing that intersects with it should share a Node⚓︎

In addition to the above rule about Edge entities connecting end-to-end, it is considered incorrect for a street crossing to intersect with (cross) associated road entities. Instead, both the road and crossing entities should be split such that endpoints are shared.

Crossings do not connect to sidewalk centerlines⚓︎

The OpenSidewalks Schema defines Crossings as existing only on the street surface and Sidewalks as describing only the sidewalk centerline. There must therefore always be space between a Sidewalk and a Crossing. A Sidewalk and Crossing should be connected by a plain Footway.

Curb interfaces and curb ramps are mapped at Edge endpoints⚓︎

Curb Nodes should be mapped directly at the endpoint(s) of one or more Edge(s): they are potential barriers or accessible infrastructure encountered along a path, so they should be available for inspection during network traversals. In other words, they are often important decision points when simulating a pedestrian moving through the network.

Serialization Formats⚓︎

OpenSidewalks data entities are vector geometries with optional topological data along with metadata that defines the entity type and optional metadata fields that are mappable to non-nested key-value pairs. As such, OpenSidewalks Schema data can be (de)serialized into a number of tabular and non-tabular GIS and graph formats. There exists both a reference JSON Schema for a GeoJSON serialization codebase for the OpenSidewalks Schema as well as a PostgreSQL schema.

Coordinate Reference System⚓︎

OpenSidewalks uses the World Geodetic System 1984 (WGS-84) coordinate system. WGS-84 is a geographic coordinate reference system (CRS) with longitude and latitude units of decimal degrees.

In compliance with the RFC 7946 GeoJSON, OpenSidewalks GeoJSON files will not include a "crs": element.

OpenSidewalks Dataset Metadata⚓︎

Each file in the OpenSidewalks dataset will contain the following metadata fields:

  • $schema (string, required): this field specifies the schema version which the dataset is compliant with and should be used for validation.
  • dataSource (object, optional): the data source which was used to generate the dataset. This can be OpenStreetMap, aerial imagery, or a dataset provided by an agency or a combination of sources.
  • region (MultiPolygon, optional): a MultiPolygon capturing the geographical area covered by the OpenSidewalks dataset.
  • dataTimestamp (date/time, optional): a date/time field stating the freshness of the data used in creating the OpenSidewalks dataset. For example, if aerial imagery was the basis for generating a dataset then the timestamp associated with these images can be used.
  • pipelineVersion (object, optional): the software and version of the software that was used to generate the dataset.

The following is a sample snippet demonstrating the use of these metadata fields:

{
    "$schema": "https://sidewalks.washington.edu/opensidewalks/0.2/schema.json",
    "dataSource": {
        "name": "OpenStreetMap",
        "copyright": "https://www.openstreetmap.org/copyright",
        "license": "https://opendatacommons.org/licenses/odbl/1-0/"
    },
    "region": {
        "type": "MultiPolygon",
        "coordinates": [
            [
                [
                    [-122.1369414, 47.6365011],
                    [-122.1431969, 47.6365115],
                    [-122.1431951, 47.6469514],
                    [-122.1430782, 47.6495122],
                    [-122.1429792, 47.6495373]
                ]
            ]
        ]
    },
    "dataTimestamp": "2023-08-08T20:22:00Z",
    "pipelineVersion": {
        "name": "OSWDataPipeline",
        "version": "0.2-beta",
        "url": "https://github.com/TaskarCenterAtUW/OSWDataPipeline/tree/v0.2-beta"
    }
}

List of Core Entities⚓︎

Nodes⚓︎

Nodes are features that are geometrically defined by a single latitude-longitude pair: a point on the planet. They are also defined as a part of a pedestrian network: each Node must define an _id string field, a unique identifier to which Edges and Zones may refer using their _u_id, _v_id or _w_id fields.

Bare Node

DescriptionA special case of an abstract Node: this is a network (graph) Node description that does not have any special metadata beyond location and the _id field. A Bare Node exists when two Edges meet at a location that is not one of the other Node types. For example, a single sidewalk may be represented by two Sidewalk Edges with different width values, split where the width changes. There is no physical feature within the OpenSidewalks Schema at the location of that split: it is just a Bare Node that connects the two Edges together.

Another way to interpret a Bare Node is in terms of the Edge definition rules: the Nodes referenced by _u_id and _v_id must exist within the dataset, so we must define Nodes wherever Edges meet regardless of whether that point in space has additional metadata.
Subtype ofNone
GeometryPoint
Identifying Fields(must have the _id field, like all Nodes)
Optional FieldsNone

Generic Curb

DescriptionA curb for which a type has not been determined yet or a type could not be determined despite some effort.
Subtype ofNone
GeometryPoint
Identifying Fieldsbarrier=kerb
Optional Fieldstactile_paving

Raised Curb

DescriptionA single, designed vertical displacement that separates two Edges. A common example is the curb that separates a street crossing from a sidewalk. This is mapped at the Node where the two Edges meet - on top of the curb is physically located.
Subtype ofGeneric Curb
GeometryPoint
Identifying Fieldsbarrier=kerb, kerb=raised
Optional FieldsAll optional fields of generic curb

Rolled Curb

DescriptionA curb interface with a quarter-circle profile: traversing this curb is like going over half of a bump. Located where two Edges meet, physically at the location of the curb itself.
Subtype ofGeneric Curb
GeometryPoint
Identifying Fieldsbarrier=kerb, kerb=rolled
Optional FieldsAll optional fields of generic curb

Curb Ramp

DescriptionA curb ramp (curb cut) mapped as a curb interface. Mapped at the location where the two Edges that it connects meet one another.
Subtype ofGeneric Curb
GeometryPoint
Identifying Fieldsbarrier=kerb, kerb=lowered
Optional FieldsAll optional fields of generic curb

Flush Curb

DescriptionAn indicator that there is no raised curb interface where two Edges meet - i.e. where someone might expect a curb interface, such as where a crossing and footway meet.
Subtype ofGeneric Curb
GeometryPoint
Identifying Fieldsbarrier=kerb, kerb=flush
Optional FieldsAll optional fields of generic curb

Edges⚓︎

Edges are Lines (their serializable geometries are representable by LineStrings) intended to represent pedestrian network connections. Edges are often derived from topological data like that stored in OpenStreetMap. All Edges must have a unique _id field.

Footway (plain)

DescriptionThe centerline of a dedicated pedestrian path that does not fall into any other subcategories.
Subtype ofNone
GeometryLineString
Identifying Fieldshighway=footway
(and no footway=* subtag)
Optional Fieldswidth
surface
incline
length
description
name
foot

Sidewalk

DescriptionThe centerline of a sidewalk, a designated pedestrian path to the side of a street.
Subtype ofFootway
GeometryLineString
Identifying Fieldshighway=footway, footway=sidewalk
Optional FieldsAll optional fields of footway
description

Crossing

Description(Part of) the centerline of a pedestrian street crossing. A crossing exists only on the road surface itself, i.e. "from curb to curb".

Because crossings should be connected to the street network, they should be represented by at least two Edges: one from the first curb interface to the street centerline and one from the street centerline to the second curb interface, e.g..

Crossings should not be connected directly to sidewalk centerlines, as the sidewalk centerline is never the curb interface. Instead, a short footway should connect the two together.
Subtype ofFootway
GeometryLineString
Identifying Fieldshighway=footway, footway=crossing
Optional FieldsAll optional fields of footway
crossing:markings

Traffic Island

DescriptionThe centerline of a footway traversing a traffic island. Some complex, long, or busy pedestrian crossings have a built-up "island" to protect pedestrians, splitting up the crossing of the street into two or more crossings. As a pedestrian uses this crossing, they will transition across these Edge elements: sidewalk → footway → crossing → traffic island → crossing → footway → sidewalk.
Subtype ofFootway
GeometryLineString
Identifying Fieldshighway=footway, footway=traffic_island
Optional FieldsAll optional fields of footway

Pedestrian Road

DescriptionThe centerline of a road or an area mainly or exclusively for pedestrians in which some vehicle traffic may be authorized.
Subtype ofNone
GeometryLineString
Identifying Fieldshighway=pedestrian
Optional Fieldswidth
surface
incline
length
description
name
foot

Steps

DescriptionThe centerline of a flight of steps on footways and paths.
Subtype ofNone
GeometryLineString
Identifying Fieldshighway=steps
Optional Fieldswidth
surface
incline
length
description
name
step_count
climb
foot

Living Street

DescriptionA street designed with the interests of pedestrians and cyclists in mind by providing enriching and experiential spaces.
Subtype ofNone
GeometryLineString
Identifying Fieldshighway=living_street
Optional Fieldswidth
surface
incline
length
description
name
foot

Motor Vehicle Roads

While OpenSidewalks schema is centered around the pedestrian experience and accessibility within the pedestrian network, the inclusion of roads as core entities in the schema is justified because:

  1. In some areas due to the lack of sidewalks, a pedestrian has to use a road to reach their destination.
  2. Sidewalks and crossings are typically referenced by pedestrians in relation to roads, i.e. "Use the Sidewalk East of Main St.", "Turn left and cross Broadway".
  3. A pedestrian's safety and environment is greatly impacted by their adjacency to a particular road. For example, a wheelchair user may choose to avoid crossing busy roads for their safety unless they have to.

In order to simplify the job of OpenSidewalks consuming applications when attempting to route pedestrians, we have included a foot field in all Edges and Zones to indicate whether an entity is safe to traverse by a pedestrian. We recommend applications clearly communicate the risk to pedestrians if they route users on entities with missing foot field or with foot=no.

Primary Street

DescriptionThe centerline of a major highway.
Subtype ofNone
GeometryLineString
Identifying Fieldshighway=primary
Optional Fieldswidth
surface
incline
length
description
name
foot

Secondary Street

DescriptionThe centerline of a secondary highway: not a major highway, but forms a major link in the national route network.
Subtype ofNone
GeometryLineString
Identifying Fieldshighway=secondary
Optional FieldsAll optional fields of a primary street.

Tertiary Street

DescriptionA road linking small settlements, or the local centers of a large town or city.
Subtype ofNone
GeometryLineString
Identifying Fieldshighway=tertiary
Optional FieldsAll optional fields of a primary street.

Residential Street

DescriptionA residential street.
Subtype ofNone
GeometryLineString
Identifying Fieldshighway=residential
Optional FieldsAll optional fields of a primary street.

Service Road

DescriptionA road intended for service use.
Subtype ofNone
GeometryLineString
Identifying Fieldshighway=service
Optional FieldsAll optional fields of a primary street.

Driveway

DescriptionThe centerline of a driveway. Typically connects a residence or business to another road.
Subtype ofService road
GeometryLineString
Identifying Fieldshighway=service, service=driveway
Optional FieldsAll optional fields of a primary street.

Alley

DescriptionThe centerline of an alley. An alley is usually located between properties and provides access to utilities and private entrances.
Subtype ofService road
GeometryLineString
Identifying Fieldshighway=service, service=alley
Optional FieldsAll optional fields of a primary street.

Parking Aisle

DescriptionThe centerline of a subordinated way in a parking lot: vehicles drive on parking aisles to reach parking spaces in a parking lot.
Subtype ofService road
GeometryLineString
Identifying Fieldshighway=service, service=parking_aisle
Optional FieldsAll optional fields of a primary street.

Unclassified Road

DescriptionA minor public road, typically at the lowest level of whatever administrative hierarchy is used in that jurisdiction.
Subtype ofNone
GeometryLineString
Identifying Fieldshighway=unclassified
Optional FieldsAll optional fields of a primary street.

Trunk Road

DescriptionA high-performance or high-importance road that doesn't meet the requirements for motorway, but is not classified as highway=primary either.
Subtype ofNone
GeometryLineString
Identifying Fieldshighway=trunk
Optional FieldsAll optional fields of a primary street.

Zones⚓︎

Zones are features that are geometrically defined by a Polygon (a closed ring of coordinates). They are also defined as a part of a pedestrian network: each Zone must define an _id string field, a unique identifier, and a list (_w_id) of Node _ids that define the Zone's boundary.

Pedestrian Zone

DescriptionAn area where pedestrians can travel freely in all directions.
Subtype ofNone
GeometryPolygon
Identifying Fieldshighway=pedestrian
Optional Fieldssurface
description
name
foot

List of Adjacent Entities⚓︎

Points⚓︎

Points are features that are geometrically defined by a single latitude-longitude pair: a point on the planet. They are explicitly not elements of the pedestrian network definition (i.e. the graph structure described by Nodes and Edges), but they are still highly relevant to the physical pedestrian network. All Points must have a unique _id field.

Power Pole

DescriptionA power pole. Often made of wood or metal, they hold power lines.
Subtype ofNone
GeometryPoint
Identifying Fieldspower=pole
Optional FieldsNone

Fire Hydrant

DescriptionA fire hydrant - where fire response teams connect high-pressure hoses.
Subtype ofNone
GeometryPoint
Identifying Fieldsemergency=fire_hydrant
Optional FieldsNone

Bench

DescriptionA bench - a place for people to sit; allows room for several people.
Subtype ofNone
GeometryPoint
Identifying Fieldsamenity=bench
Optional FieldsNone

Bollard

DescriptionA bollard - a solid pillar or pillars made of concrete, metal, plastic, etc., and used to control traffic.
Subtype ofNone
GeometryPoint
Identifying Fieldsbarrier=bollard
Optional FieldsNone

Manhole

DescriptionA manhole - a hole with a cover that allows access to an underground service location, just large enough for a human to climb through.
Subtype ofNone
GeometryPoint
Identifying Fieldsman_made=manhole
Optional FieldsNone

Street Lamp

DescriptionA street lamp - a street light, lamppost, street lamp, light standard, or lamp standard: a raised source of light above a road, which is turned on or lit at night.
Subtype ofNone
GeometryPoint
Identifying Fieldshighway=street_lamp
Optional FieldsNone

Waste Basket

DescriptionA waste basket - a single small container for depositing garbage that is easily accessible for pedestrians.
Subtype ofNone
GeometryPoint
Identifying Fieldsamenity=waste_basket
Optional FieldsNone

Tree

DescriptionA tree - a tall, woody plant with branches emanating from a central trunk.
Subtype ofNone
GeometryPoint
Identifying Fieldsnatural=tree
Optional Fieldsleaf_cycle
leaf_type

Lines⚓︎

Lines are features that are geometrically defined by a series of coordinates forming a LineString. They are explicitly not elements of the pedestrian network definition (i.e. the graph structure described by Nodes, Edges and Zones), but they are still highly relevant to the physical pedestrian network. All Lines must have a unique _id field.

Fence

DescriptionA fence is a freestanding structure designed to restrict or prevent movement across a boundary. It is generally distinguished from a wall by the lightness of its construction.
Subtype ofNone
GeometryLineString
Identifying Fieldsbarrier=fence
Optional Fieldslength

Tree Row

DescriptionA tree row is a line of trees often found along roadways, property lines, or at the edges of farms.
Subtype ofNone
GeometryLineString
Identifying Fieldsnatural=tree_row
Optional Fieldsleaf_cycle
leaf_type
length

Polygons⚓︎

Polygons describe 2-dimensional areas which are adjacent to pedestrian paths. They are explicitly not elements of the pedestrian network definition (i.e. the graph structure described by Nodes, Edges and Zones), but they are still highly relevant to the physical pedestrian network. All Polygons must have a unique _id field.

Building

DescriptionA building is a man-made structure with a roof, standing more or less permanently in one place.
Subtype ofNone
GeometryPolygon
Identifying Fieldsbuilding=*
Optional Fieldsname
opening_hours

Wood

DescriptionWood - a tree-covered area
Subtype ofNone
GeometryPolygon
Identifying Fieldsnatural=wood
Optional Fieldsleaf_cycle
leaf_type
name
opening_hours

List of Custom Entities⚓︎

Custom Point⚓︎
Custom Point

DescriptionA custom point is a user-defined Point feature. It can represent any custom-location marker (e.g., a survey marker).
Subtype ofNone
GeometryPoint
Identifying FieldsNone
Optional FieldsAdditional fields (ext: prefixed)

Custom Line⚓︎
Custom Line

DescriptionA custom line is a user-defined LineString feature. It can represent any custom path or linear infrastructure (e.g., temporary detour route).
Subtype ofNone
GeometryLineString
Identifying FieldsNone
Optional FieldsAdditional fields (ext: prefixed)

Custom Polygon⚓︎
Custom Polygon

DescriptionA custom polygon is a user-defined Polygon feature. It can represent any custom area or zone (e.g., event footprint).
Subtype ofNone
GeometryPolygon
Identifying FieldsNone
Optional FieldsAdditional fields (ext: prefixed)

Fields⚓︎

Fields Overview⚓︎

OpenSidewalks Schema fields are typed key-value pairs. Keys are always strings and values can be any of a specific set. Value types include:

  • boolean: true or false
  • text: unlimited length string
  • enum: a set of enumerated values designated by strings
  • integer: an integer
  • numeric: a number, either integer or decimal
  • opening_hours: serialized as a string, a specialized format for describing when a facility or asset is "open", as in accessible to the public.

List of fields⚓︎

description

DescriptionThis may be a field inferred from other data. A free form text field for describing an Edge, which may be pre-encoded in relevant pedestrian Edges to assist with routing, instructing, or investigation of map features; for example, a description of the sidewalk in relation to a nearby street ("NE of Main St.") or other short (1-3 sentences) textual information not directly available in the schema, such as "this path is muddy when wet." Note that because description data are unstructured, they can only be interpreted individually by people and should not be considered a dumping ground for extra data.
Value typetext

name

DescriptionThe (semi-)official name of an entity. Not a description of the entity. For example, this would be the street name for a street path or a specially-designated name for a famous footpath. name="The [X] trail", for example.
Value typetext

incline

DescriptionThe estimated incline over a particular path, i.e. slope, i.e. grade, i.e. rise over run. If derived from OpenStreetMap data, this is the maximum incline over the path. If derived from DEM data, it is more likely to be an underestimation. Positive values indicate an uphill climb while negative are downhill. For example, a 45 degree downhill value for incline would be -1.0. For steps, you can use "up" or "down" to indicate the direction of the climb relative to the direction of the Edge.
Value typenumeric

surface

DescriptionThe surface material of the path. Derived directly from the surface tag from OpenStreetMap.
Value typeenum
Enumerated Values- asphalt
- concrete
- gravel
- grass
- paved
- paving_stones
- unpaved
- dirt
- grass_paver

length

DescriptionThis is the calculated length of the way, in meters, according to the Haversine formula (Great-Circle Distance). This calculation is typically left up to consumers of geometry data, as the geometry is, itself, furnished for geometrical analysis. This is likely how AccessMap should also handle these data, but for now length is precalculated.
Value typenumeric

width

DescriptionThe width of an Edge in meters.
Value typenumeric

tactile_paving

DescriptionA field for whether a curb has a tactile (textured) surface. Tactile paving is a system of textured ground surface indicators found on footpaths, stairs and public transportation platforms to assist pedestrians who are blind or visually impaired. A tactile paving area has a surface that is easy to detect using a long cane, typically because it is rougher than the surrounding surface area or has an embossed pattern.
Value typeenum
Enumerated Values- yes
- no
- contrasted: Where there is a tactile paving which contrast is at least 70% the colour of the ground (white if the ground is black and vice-versa).
- primitive: Where any water drain or decorative tactile element can be used for orientation accidentally, but no typical tactile ground elements are used.

crossing:markings

DescriptionWhether a pedestrian street crossing has ground markings (and, optionally, what type of markings exist). When derived from OpenStreetMap data, the crossing:markings field may be derived not only from the identical crossing:markings tag in OpenStreetMap, but from any unambiguous tags in the problematic crossing=* tag, such as crossing=markedcrossing:markings=yes and crossing=unmarkedcrossing:markings=no, and crossing=zebracrossing:markings=yes.
Value typeenum
Enumerated Values- yes: The crossing has surface markings but the type is unspecified.
- no: The crossing has no surface markings.
- surface: There is a surface change but no distinct markings.
- lines: There are only two parallel lines to indicate the outline of the crossing.
- lines:paired: The same as crossing:markings=lines but each line is actually two very-close parallel lines (for a total of 4 lines).
- dashes: There are only two parallel dashed lines to indicate the outline of the crossing.
- dots: There are only two parallel dotted lines (square/round markings with significant distance between them) to indicate the outline of the crossing.
- zebra: The crossing is only marked by regularly spaced bars along its length.
-zebra:double: The same as crossing:markings=zebra but there are two sets of regularly spaced bars with a small gap between them.
- zebra:paired: The same as crossing:markings=zebra but each bar is made up of two smaller bars (i.e. there's a small gap between smaller bars).
- zebra:bicolour: The same as crossing:markings=zebra but there are the bars and gaps are made of two alternating colors.
- ladder: The same as combining crossing:markings=zebra and crossing:markings=lines: horizontal bars but with linear outlines enclosing the crossing.
- skewed: The same as crossing:markings=ladder but the horizontal bars are at a slight diagonal (~30 degree shift) - they're skewed.
- ladder:paired: The same as crossing:markings=ladder but the horizontal bars are actually made up of two very-close smaller bars.
- rainbow: A crossing with rainbow colors, other than in zebra pattern or lines along the crossing.
- lines:rainbow: Rainbow colored lines along the crossing.
- zebra:rainbow: A zebra crossing with rainbow colors.
- ladder:skewed: Two lines orthogonal to the direction of the roadway with diagonal bars connecting the two lines.
- pictograms: Painted pictogram(s) of pedestrian and/or bicycle (with or without arrows)

step_count

DescriptionCan be added to indicate the number of steps
Value typeinteger

climb

DescriptionFor steps, can be used to indicate the direction of the climb relative to the direction of the Edge
Value typeenum
Enumerated Values- up: when a way rises upward in the direction of the Edge.
- down: when a way rises upward against the direction of the Edge.

building

DescriptionThis field is used to mark a given entity as a building
Value typeenum

Enumerated Values:

Accommodation

apartmentsA building arranged into individual dwellings, often on separate floors. May also have retail outlets on the ground floor.
barracksBuildings built to house military personnel or laborers.
bungalowA single-storey detached small house, Dacha.
cabinA cabin is a small, roughly built house usually with a wood exterior and typically found in rural areas.
detachedA detached house, a free-standing residential building usually housing a single family.
dormitoryA shared building intended for college/university students (not a share room for multiple occupants as implied by the term in British English).
farmA residential building on a farm (farmhouse). For other buildings see below building=farm_auxiliary, building=barn, etc.
gerA permanent or seasonal round yurt or ger.
hotelA building designed with separate rooms available for overnight accommodation.
houseA dwelling unit inhabited by a single household (a family or small group sharing facilities such as a kitchen). Houses forming half of a semi-detached pair, or one of a row of terraced houses, should share at least two Nodes with joined neighbours, thereby defining the party wall between the properties.
houseboatA boat used primarily as a home.
residentialA general tag for a building used primarily for residential purposes. Where additional detail is available consider using 'apartments', 'terrace', 'house', 'detached' or 'semidetached_house'.
semidetached_houseA residential house that shares a common wall with another on one side. Typically called a "duplex" in American English.
static_caravanA mobile home (semi)permanently left on a single site.
stilt_houseA building raised on piles over the surface of the soil or a body of water.
terraceA single way used to define the outline of a linear row of residential dwellings, each of which normally has its own entrance, which form a terrace ("row-house" or "townhouse" in North American English). Consider defining each dwelling separately using 'house'.
tree_houseAn accommodation, often designed as a small hut, sometimes also as a room or small apartment. Built on tree posts or on a natural tree. A tree house has no contact with the ground. Access via ladders, stairs or bridgeways.
trulloA stone hut with a conical roof.

Commercial

commercialA building for non-specific commercial activities, not necessarily an office building. Use 'retail' if the building consists primarily of shops.
industrialA building for industrial purposes. Use warehouse if the purpose is known to be primarily for storage/distribution.
kioskA small one-room retail building.
officeAn office building.
retailA building primarily used for selling goods that are sold to the public.
supermarketA building constructed to house a self-service large-area store.
warehouseA building primarily intended for the storage or goods or as part of a distribution system.

Religious

cathedralA building that was built as a cathedral.
chapelA building that was built as a chapel.
churchA building that was built as a church.
kingdom_hallA building that was built as a Kingdom Hall.
monasteryA building constructed as monastery. Often, monasteries consist of several distinct buildings with specific functions.
mosqueA building erected as mosque.
presbyteryA building where priests live and work.
religiousUnspecific building related to religion. Prefer more specific values if possible.
shrineA building that was built as a shrine.
synagogueA building that was built as a synagogue.
templeA building that was built as a temple.

Civic/amenity

bakehouseA building that was built as a bakehouse (i.e. for baking bread).
bridgeA building used as a bridge (skyway). To map a gatehouse use building=gatehouse. Don't use this tag just for marking bridges (their outlines).
civicA generic tag for a building created to house some civic amenity, for example community centre, library, toilets, sports centre, swimming pool, townhall etc. See building=public and more specific tags like building=library as well.
collegeA college building.
fire_stationA building constructed as fire station, i.e. to house fire fighting equipment and officers, regardless of current use.
governmentFor government buildings in general, including municipal, provincial and divisional secretaries, government agencies and departments, town halls, (regional) parliaments and court houses.
gatehouseAn entry control point building, spanning over a highway that enters a city or compound.
hospitalA building erected for a hospital.
kindergartenFor any generic kindergarten buildings. Buildings for specific uses (sports halls etc.) should be tagged for their purpose.
museumA building which was designed as a museum.
publicA building constructed as accessible to the general public (a town hall, police station, court house, etc.).
schoolA building erected as school. Buildings for specific uses (sports halls etc.) should be tagged for their purpose.
toiletsA toilet block.
train_stationA building constructed to be a train station building, including buildings that are abandoned and used nowadays for a different purpose.
transportationA building related to public transport. Note that there is a special tag for train station buildings - building=train_station.
universityA university building.

Agricultural/plant production

barnAn agricultural building that can be used for storage and as a covered workplace.
conservatoryA building or room having glass or tarpaulin roofing and walls used as an indoor garden or a sunroom (winter garden).
cowshedA cowshed (cow barn, cow house) is a building for housing cows, usually found on farms.
farm_auxiliaryA building on a farm that is not a dwelling (use 'farm' or 'house' for the farm house).
greenhouseA greenhouse is a glass or plastic covered building used to grow plants.
slurry_tankA circular building built to hold a liquid mix of primarily animal excreta (also known as slurry).
stableA building constructed as a stable for horses.
styA sty (pigsty, pig ark, pig-shed) is a building for raising domestic pigs, usually found on farms.
livestockA building for housing/rising other livestock (apart from cows, horses or pigs covered above), or when the livestock changes.

Sports

grandstandThe main stand, usually roofed, commanding the best view for spectators at racecourses or sports grounds.
pavilionA sports pavilion usually with changing rooms, storage areas and possibly an space for functions & events. Avoid using this term for other structures called pavilions by architects.
riding_hallA building that was built as a riding hall.
sports_hallA building that was built as a sports hall.
sports_centreA building that was built as a sports centre.
stadiumA building constructed to be a stadium building, including buildings that are abandoned and used nowadays for a different purpose.

Storage

allotment_houseA small outbuilding for short visits in a allotment garden.
boathouseA boathouse is a building used for the storage of boats.
hangarA hangar is a building used for the storage of airplanes, helicopters or space-craft.
hutA hut is a small and crude shelter. Note that this word has two meanings - it may be synonym of building=shed, it may be a residential building of low quality.
shedA shed is a simple, single-storey structure in a back garden or on an allotment that is used for storage, hobbies, or as a workshop.

Cars

carportA carport is a covered structure used to offer limited protection to vehicles, primarily cars, from the elements. Unlike most structures a carport does not have four walls, and usually has one or two.
garageA garage is a building suitable for the storage of one or possibly more motor vehicle or similar. See building=garages for larger shared buildings. For an aircraft garage, see building=hangar.
garagesA building that consists of a number of discrete storage spaces for different owners/tenants. See also building=garage.
parkingStructure purpose-built for parking cars.

Power/technical buildings

digesterA digester is a bioreactor for the production of biogas from biomass.
serviceService building usually is a small unmanned building with certain machinery (like pumps or transformers).
tech_cabSmall prefabricated cabin structures for the air-conditioned accommodation of different technology.
transformer_towerA transformer tower is a characteristic tall building comprising a distribution transformer and constructed to connect directly to a medium voltage overhead power line. Quite often the power line has since been undergrounded but the building may still serve as a substation.
water_towerA water tower.
storage_tankStorage tanks are containers that hold liquids.
siloA silo is a building for storing bulk materials.

Other buildings

beach_hutA small, usually wooden, and often brightly coloured cabin or shelter above the high tide mark on popular bathing beaches.
bunkerA hardened military building.
castleA building constructed as a castle.
constructionUsed for buildings under construction.
containerFor a container used as a permanent building. Do not map containers placed temporarily, for example used in shipping or construction.
guardhouseA small building constructed to house guard(s).
militaryA military building.
outbuildingA less important building near to and on the same piece of land as a larger building.
pagodaA building constructed as a pagoda.
quonset_hutA lightweight prefabricated structure in the shape of a semicircle.
roofA structure that consists of a roof with open sides, such as a rain shelter, and also gas stations.
ruinsFrequently used for a house or other building that is abandoned and in poor repair. However, some believe this usage is incorrect, and the tag should only be used for buildings constructed as fake ruins (for example sham ruins in an English landscape garden). See also lifecycle tagging.
tentFor a permanently placed tent. Do not map tents placed temporarily.
towerA tower-building.
windmillA building constructed as a traditional windmill, historically used to mill grain with wind power.
yesUse this value where it is not possible to determine a more specific value.

opening_hours

DescriptionThe opening hours of the entity. This may apply to, for example, a path that is inside a building or the building itself. The value is in OpenStreetMap syntax for the opening_hours tag. See OpenStreetMap specification on the formatting for this field.
Value typeopening_hours

foot

DescriptionA field that indicates whether an Edge can be used by pedestrians.
Value typeenum
Enumerated Values- yes: Roads and other objects where the public has a legally-enshrined right for access on foot
- no: Access on foot or by pedestrians is prohibited.
- designated: A preferred or designated route for pedestrians.
- permissive: Access by pedestrians is permitted but permission may be withdrawn at any time.
- use_sidepath: Use compulsory parallel footpath instead.
- private: indicates that walking is not allowed for general public, but the owner may make exceptions at will.
- destination: Transit traffic forbidden for pedestrians, non-transit to a local destination allowed.

leaf_cycle

DescriptionA field that describes the phenology of leaves.
Value typeenum
Enumerated Values- deciduous: Leaves are shed seasonally, typically in autumn.
- evergreen: Retains foliage year-round.
- mixed: Both deciduous and evergreen trees are present.

leaf_type

DescriptionA field that describes the type of leaves.
Value typeenum
Enumerated Values- broadleaved: Broad, flat leaves.
- leafless: No leaves.
- mixed: Multiple trees with different leaf types.
- needleleaved: Needle-shaped leaves.

Schema Versions⚓︎

Version Release Date Link Notes
0.1 2023-08-11 GitHub - Minimal initial beta release of schema to unblock development of schema consuming applications
0.2 2024-01-30 GitHub - Add required _id Field to Edges
- Update the documentation with regards to the coordinate reference system
- Introduce the concept of Core Entities and Adjacent Entities (formerly called "Extensions")
- Add Zones to Core Entities
- Add Lines and Polygons to Adjacent Entities
- Add Schema Versions and OpenSidewalks Dataset Metadata
- Add Pedestrian Zone to Zones
- Add Fence to Lines
- Add Building to Polygons
- Add additional fields to Entity Attributes
- Add Motor Vehicle Roads to Edges with justification
- Add Climb Field to Steps Edge in addition to the existing Incline Field
- Add Opening Hours Field and include it to the existing Building Fields
- Add Generic Curb entity to Nodes
- Add Foot Field to all Edges and Zones
- Change Entity Type Inference to include the geometry type
- Fix lossiness of Tactile Paving Field
- Remove crossing Field in favor of crossing:markings Field
- Add Living Street to Edges
- Add unclassified road to Motor Vehicle Roads
- Add trunk road to Motor Vehicle Roads
- Require that the _id Field for all entities has at least one character
0.3 2026-01-27 GitHub - Add Custom Points
- Add Custom Lines
- Add Custom Polygons
- Add Tree to Points
- Add Tree Row to Lines
- Add Wood to Polygons
- Add Leaf Type Field
- Add Leaf Cycle Field
- Update documentation to improve clarity with regards to Adjacent Entities (formerly called "Extensions")

Guides⚓︎

OpenSidewalks Schema Guides

For a list of all guides on the TCAT Wiki, refer to the Guides List.

Core Edges in OSW⚓︎

This guide shows how to convert existing sidewalk centerline datasets into OpenSidewalks (OSW) format for upload to the Transportation Data Exchange Initiative (TDEI).

Custom Points in OSW⚓︎

This guide shows how to add custom non-routable point features (like bus stops) to an OpenSidewalks dataset using the Custom Points entity type.

OpenSidewalks in OpenStreetMap⚓︎

This guide explains how to make edits to OpenStreetMap following and supporting the OpenSidewalks schema.