openstreetmap

n8n Community Nodes for OpenStreetMap, Nominatim and Overpass with safe update handling.

Documentation

n8n-nodes-openstreetmap

Community Node Paket für OpenStreetMap, Nominatim und Overpass.

Zielpfad des Projekts laut Vorgabe:

/Users/michaelhemmersbach/Desktop/OpenStreetMap/

Dieses ZIP wurde im Chat-Sandbox-Dateisystem erzeugt. Entpacke es lokal nach dem Zielpfad oben.

Enthaltene Node-Typen

1. Action Node: OpenStreetMap

Für aktive Aktionen:

  • Geocoding mit Nominatim
  • Reverse Geocoding
  • OSM Map Data per Bounding Box
  • OSM Element lesen
  • OSM Node erstellen
  • OSM Tags update-safe aktualisieren
  • Changeset erstellen, lesen, schließen
  • Notes erstellen, lesen, kommentieren
  • Overpass Query ausführen
  • POIs in der Nähe suchen

2. Trigger Node: OpenStreetMap Trigger

Polling Trigger für:

  • neue Notes in einem Gebiet
  • aktualisierte Notes in einem Gebiet
  • neue Changesets eines Users
  • neue Changesets in einem Gebiet

Der Trigger speichert lastRunAt und lastSeenIds, um Duplikate zu vermeiden.

3. Webhook Trigger Node: OpenStreetMap Webhook Trigger

OpenStreetMap selbst sendet keine nativen Webhooks für Objektänderungen.
Diese Node ist für externe Karten-Apps, Field-Apps oder eigene GIS-Tools gedacht.

Sicherheit

Dieses Paket ist bewusst defensiv gebaut:

  • nur HTTPS-Endpunkte
  • kein Token im Code
  • OAuth2 über n8n Credentials
  • User-Agent für öffentliche OSM-Dienste
  • Bounding-Box-Validierung
  • Latitude/Longitude-Validierung
  • Update-Safe Operation mit Versionsprüfung
  • sensible Header werden nicht bewusst geloggt
  • Webhook Secret Header optional
  • 429 und API Fehler werden über NodeApiError sichtbar gemacht

Wichtige Public-API-Regeln

  • Public Nominatim: maximal 1 Request pro Sekunde, gültiger User-Agent/Referer erforderlich.
  • Public Overpass: große Mengen vermeiden; ggf. eigene Instanz betreiben.
  • OSM API: Bearbeitungen sparsam, nachvollziehbar und mit Changeset-Kommentar ausführen.

Installation lokal

cd /Users/michaelhemmersbach/Desktop/OpenStreetMap/
npm install
npm run build

Für lokale n8n-Tests:

npm link
cd ~/.n8n/custom
npm link n8n-nodes-openstreetmap
n8n start

Release

npm install
npm run build
npm version patch
npm publish --access public
git push origin main --tags

Vor jedem Release prüfen:

  • keine Secrets committed
  • README aktuell
  • Beispiel-Flows vorhanden
  • OAuth Credential getestet
  • Update-Safe Logik getestet
  • npm package Name geprüft
  • git diff geprüft

Typische Fehler vermeiden

  • Keine Massengeocoding-Flows gegen Public Nominatim.
  • Keine großen Bounding Boxes gegen die OSM API.
  • Keine automatischen Edits ohne Versionsprüfung.
  • Keine Changesets ohne comment und source.
  • Keine Trigger ohne Delta-Logik.
  • Webhook Trigger nicht mit OSM Polling Trigger verwechseln.

Discussion