SAC hut metadata update process

From OpenStreetMap Wiki
Jump to navigation Jump to search

SAC hut metadata synchronization

This page documents the process used to synchronize metadata of Swiss Alpine Club (SAC) huts with existing OpenStreetMap objects.

The workflow retrieves authoritative hut information from the Swiss Alpine Club (SAC), matches it with the corresponding OpenStreetMap objects, and updates selected metadata. No new OSM objects are created.

Background

The Swiss Alpine Club (SAC) maintains an authoritative database of Swiss alpine huts, including contact information, operator details, accessibility information and other visitor-related metadata.

Many of these attributes are also maintained in OpenStreetMap but may become outdated over time. This project synchronizes selected metadata from the official SAC database with the corresponding OpenStreetMap objects.

The project does ‘’‘not’’’ create new huts. It only updates metadata on existing OSM objects after a matching process.

Goals

  • Improve completeness of SAC hut metadata.
  • Synchronize authoritative information from SAC.
  • Reduce manual maintenance.
  • Preserve existing geometry and mapping decisions.

Data sources

Source Purpose Access Notes
geo.admin.ch / geocat.ch Hut identities Public download Used to obtain the list of SAC huts.
Swiss Alpine Club (SAC) API Hut metadata https://ws.sac-app.ch/v2/tour/hut/<hut_id> Used with permission from the SAC. Only moderate API usage is permitted.
Wikidata Matching SAC huts to OSM objects https://query.wikidata.org/ Used where Wikidata identifiers are available.
Overpass API Matching OSM objects by location https://overpass-api.de/ Used to identify nearby OSM nodes, ways and relations within a 20 m radius.

Licence

The metadata used in this synchronization is obtained from the Swiss Alpine Club (SAC) API.

The SAC permits the use of the data provided through this API for updating OpenStreetMap. This permission applies for as long as the API remains available and does not constitute a guarantee of permanent access or availability of the service.

The SAC API is intended for reasonable use. Heavy or excessive automated requests are not permitted. The synchronization process therefore minimizes the number of API requests and is designed to operate within these usage expectations.

If the API is discontinued or the usage conditions change, the synchronization process will be reviewed.

Objects affected

Only existing OpenStreetMap objects representing SAC huts are modified.

These may be represented as:

  • Nodes
  • Ways
  • Relations

No new objects are created.

Matching methodology

The synchronization consists of two phases:

Collect and match SAC huts with OpenStreetMap objects.

Update selected OSM tags.

Data collection

The import performs the following steps:

Download approximately 520 hut identities from geo.admin.ch.

Download detailed metadata for approximately 429 huts with valid SAC identifiers from:

Matching using Wikidata

Where available, Wikidata identifiers provide a high-confidence mapping.

The workflow:

Query Wikidata for Swiss alpine huts.

Match Wikidata entries with SAC identifiers.

Remove entries without corresponding SAC metadata.

Matching using coordinates

For huts that cannot be matched through Wikidata, coordinate-based matching is performed.

The workflow:

Convert Swiss coordinates to WGS84 latitude/longitude.

Query Overpass for nodes, ways and relations within a 20 m radius.

Match the returned OpenStreetMap object with the SAC hut.

Merge mappings

The mappings obtained from Wikidata and coordinate matching are merged into a single lookup table.

Remaining Wikidata identifiers are resolved using an additional Overpass query.

This process currently produces approximately ‘’‘507 verified SAC ↔ OSM mappings’’’.

Updated tags

The following tags are synchronized from the SAC API.

SAC field / service OpenStreetMap tag Value
altitude ele Altitude (m)
phone phone Phone number
email email Email address
url website Website URL
hrsLink reservation:website Reservation website
owner owner Owner
hutGuardian contact:person Hut guardian
hutSleeps capacity Number of beds
shelterSleeps capacity:winter_room Number of winter room beds
COOKING_NON_CATERED kitchen yes
COOKING_CATERED kitchen no
HALF_BOARD breakfast yes
HALF_BOARD dinner yes
INTERNET internet_access yes
PLAIN_MEALS food yes
DRINKS drinking_water yes
PAYMENT_CREDITCARD payment:credit_cards yes
PAYMENT_REKA payment:reka yes
SEPARABLE_GROUP_ROOMS rooms separable_group
FAMILY_ROOMS rooms:family yes
DOGS_ON_REQUEST dog on_request


The tagging discussion can be found here:

https://www.openstreetmap.org/changeset/159912547

Only selected metadata fields are synchronized.


Quality assurance

Several validation steps are performed before updating OpenStreetMap:

  • Matching via Wikidata is preferred whenever available.
  • Coordinate-based matching uses a maximum search radius of 20 metres.
  • Ambiguous or unmatched objects are excluded.
  • The generated mappings are manually reviewed before upload.
  • Updates are tested before being applied to OpenStreetMap.

Upload procedure

The process performs the updates using the verified SAC ↔ OSM mapping.

Only selected metadata fields are modified. Existing geometry and manually mapped features are left unchanged.

Uploads are performed in manageable changesets with descriptive comments to simplify review and potential reverts.

Reverting

Since updates are uploaded in individual changesets, they can be reverted using standard OpenStreetMap revert tools if any issues are identified.

Statistics

Stage Count
Huts downloaded from geo.admin.ch ~520
Huts with valid SAC metadata ~429
Final SAC ↔ OSM mappings ~507

Import account

The metadata synchronization was performed using the OpenStreetMap account:

The synchronization was carried out as a one-time update and no recurring automated updates are currently planned.

Community discussion