This is a prototype web map application for viewing OpenStreetMap (OSM) trail data. The tool is being developed in support of our Trails Stewardship Initiative, a community project to improve the quality of trail data in OSM.
- View OpenStreetMap trail data using various map styles.
- Click a feature to view its current tags, relations, and metadata.
- Use quick links to open the feature on openstreetmap.org, iD, JOSM, and other viewers.
OpenTrailMap aims to display all land trails, snow trails, and water trails present in OpenStreetMap.
The following styles show allowed trail access for different travel modes. Dark green lines are public paths, while striped pale green lines are restricted or infeasible for the given travel mode. Dashed lines are informal=yes, while solid lines are infomal=no or informal not given.
- Hiking & Walking Trails (
footaccess) - Wheelchair Trails (
wheelchairaccess) - Biking Trails (
bicycleaccess) - Mountain Biking Trails (
mtbaccess) - Inline Skating Trails (
inline_skatesaccess) - Horseback Riding Trails (
horseaccess) - ATV Trails (
atvaccess) - Cross-Country Ski Trails (
ski:nordicaccess) - Snowmobile Trails (
snowmobileaccess)
The following styles highlight the presence and values of trail attribute tags. Purple lines mean an attribute is missing, incomplete, or needs review, while teal lines indicate the attribute is good to go.
operator/informalname/nonamesurfacesmoothnesstrail_visibilitywidthinclinefixme/todocheck_date/survey:date- Last Edited Date: the timestamp of the latest version of the feature
In all the land and snow styles, some trail-related points of interest are included on the map:
amenity=ranger_station: ranger stations are generally public visitor centers where trail users can get info or seek helphighway=trailhead: trailheads are access points to trail networks, often with various amenitiesinformation=guidepost: signage marking the direction of one or more trails, typically at a trailhead or junctioninformation=route_marker: signage marking the route of a trail
Currently, just one marine travel mode is supported:
The following water trail attribute styles are supported:
name/noname/waterbody:nametidalintermittentrapidsopen_wateroneway:canoe/oneway:boatwidthfixme/todocheck_date/survey:date- Last Edited Date: the timestamp of the latest version of the feature
Trail vector tiles are rendered and hosted by OpenStreetMap US using the schema files here. Thank you to @zelonewolf for setting up the vector tile pipeline. Render time is currently about 4 hours, so any changes you make will take 4 to 8 hours to appear on the map. Map tiles are not available for public use at this time.
OpenTrailMap has complex, parameter-driven styling. For performance, styles are generated at runtime. However, static stylesheets are also generated at build time for ease-of-use by other apps. You can browse the full list of available styles here. Generated styles are subject to the same license as the rest of OpenTrailMap (see below).
Participation in OpenTrailMap is subject to the OpenStreetMap US Code of Conduct. Please take a moment to review the CoC prior to contributing, and remember to be nice :)
You can open an issue in this repository if you have a question or comment. Please search existing issues first in case someone else had the same thought. Pull request are public, but we recommend opening or commenting on an issue before writing any code so that we can make sure your work is aligned with the goals of the project.
We also collaborate via the #opentrailmap channel on OpenStreetMap US Slack. Anyone is free to join.
- Clone the repository
- Open your terminal and
cdinto the repo's directory - Run
npm installandnpm run build(first-time setup only) - Run
node serve.jsto start the development server - Visit http://localhost:4001 in your browser
- That's it!
Source vector images for use in the map are located at /style/sprites/svg/. If you add or change any of these, you'll need to rebuild the spritesheets.
- Install the spreet command line tool
- Run
npm run sprites
The OpenTrailMap source code is distributed under the MIT license. Dependencies are subject to their respective licenses.