Import/OpenGolf US 2026

From OpenStreetMap Wiki
Jump to navigation Jump to search

OSM Import Plan: OpenGolf US Golf Courses

> For submission to: wiki.openstreetmap.org/wiki/Import/OpenGolf_US_2026

Summary

Import structured golf course attributes (type, holes, par, per-hole par) for 15,667 US golf courses from the OpenGolfAPI dataset into OpenStreetMap.

This is a tag enrichment import, not a geometry import. We are adding tags to existing OSM features, not creating new features (except where a known golf course has no OSM representation at all).

Data Source

  • Provider: OpenGolfAPI (opengolfapi.org)
  • License: ODbL 1.0 (compatible with OSM)
  • Dataset: 15,667 US golf courses
  • Original sources: OpenStreetMap (course discovery), public course websites (scorecard data), NOAA (climate), public course websites (phone, contact)
  • Collection date: March-April 2026
  • Quality: All data verified against at least one source; coordinates cross-referenced with OSM

Scope

Tags being added

Only to features tagged leisure=golf_course:

Tag Coverage Notes
golf:holes 93% of courses 9 or 18
golf:par 90% of courses Course total par
golf:type 93% of courses public/private/municipal/resort
golf:hole:N:par 90% of courses Per-hole par (N=1-18)
phone 53% of courses Only where not already tagged
website 84% of courses Only where not already tagged
start_date 89% of courses Only where not already tagged

What will NOT be imported

  • No geometry changes (boundaries, nodes, relations)
  • No deletion of existing tags
  • No overwriting of existing values (our data fills gaps only)
  • No commercial data (booking URLs, ratings, pricing)

Methodology

Step 1: Matching

Each OpenGolf course is matched to an existing OSM feature using:

  1. OSM ID match — 100% of our courses originated from OSM Overpass queries, so we have the original osm_id. This is the primary match key.
  2. Coordinate proximity — verify the matched feature is within 500m of our coordinates (catches cases where OSM features were split/merged since our crawl).
  3. Name similarity — fuzzy match as tiebreaker if multiple features at same location.

Courses that don't match an existing OSM feature are flagged for manual review, not auto-imported.

Step 2: Conflation Rules

For each matched feature:

Scenario Action
Tag doesn't exist in OSM Add our value
Tag already exists in OSM Keep OSM value (never overwrite)
Our value is null/empty Skip (don't add empty tags)
Feature is a relation Add tags to relation, not members
Feature was deleted since crawl Skip

Step 3: Changeset Structure

  • Import account: opengolf_import (dedicated, clearly identified)
  • Changeset size: Maximum 5,000 features per changeset
  • Changeset tags:
source=OpenGolf
import=OpenGolf_US_2026
website=https://opengolfapi.org
description=Adding golf course attributes (type, holes, par) from OpenGolf dataset

Step 4: Review Process

  1. Generate full import as .osc (OSM change) files
  2. Upload sample changeset (100 courses in one state) for community review
  3. Wait minimum 2 weeks for feedback
  4. Address all feedback before proceeding
  5. Import remaining states in batches, one per day

Quality Assurance

Pre-import validation

  • Every course coordinate verified against OSM within 500m
  • Par values validated: hole par in {3, 4, 5, 6}, total par in range 27-80
  • Course type validated against enum
  • Phone numbers validated as 10+ digits
  • Website URLs validated as responding HTTP 200

Post-import monitoring

  • Check OSM changeset discussion for issues
  • Monitor OSM Notes created near imported features
  • Respond to any community concerns within 24 hours
  • Revert any problematic changesets immediately if requested

Tools

  • JOSM — for manual review of sample changesets
  • osmium — for generating .osc change files
  • Custom script — TypeScript script to generate changesets from Supabase data

Timeline

Week Action
1 Publish proposal on OSM wiki, post to imports@ mailing list
2-3 Community feedback period
3 Sample import (100 courses, 1 state) for review
4 Address feedback, revise if needed
5-6 Full import (50 states, 1 per day)
7+ Monitor, respond to feedback, fix issues

Contact

  • Import lead: Julian Pretto
  • OSM username: opengolf_import
  • Email: hello@opengolfapi.org
  • GitHub: github.com/opengolfapi
  • Website: opengolfapi.org

References