Files
nodeMap/docs
ISA 91ad47166f del: BasMapPanel entfernt aus rechliche Gründe,
Kurzantwort: Für kommerzielle Nutzung sind OSM‑Community‑Tile‑Server nicht geeignet. Nutze einen bezahlten Anbieter (z. B. Thunderforest, Tracestrack) oder hoste selbst. Attribution ist immer Pflicht.

Links und Hinweise je Layer/Provider:

OpenStreetMap Standard (osm-standard)

Lizenz/Daten: ODbL, Attribution Pflicht
Tile-Server-Policy (keine Produktion/hohe Last): https://operations.osmfoundation.org/policies/tiles/
Urheberrecht/Attribution: https://www.openstreetmap.org/copyright
HOT Humanitarian (osm-humanitarian)

Community-Server (OSM France); keine Produktion/hohe Last
Info/Policy OSM France Tiles: https://tile.openstreetmap.fr/
HOT: https://www.hotosm.org/
CyclOSM (cyclosm)

Community-Server (OSM France); keine Produktion/hohe Last
Projektseite: https://www.cyclosm.org/
Hinweise/Policy (OSM France): https://tile.openstreetmap.fr/
Wiki: https://wiki.openstreetmap.org/wiki/CyclOSM
Carto Light (carto-light / Positron)

Keylos nutzbar mit Attribution; Fair‑Use, für hohe Last über CARTO‑Pläne
Basemaps: https://carto.com/basemaps/
Attribution: https://carto.com/attributions
Pricing (Plattform): https://carto.com/pricing/ (bei großem Volumen Sales kontaktieren)
Thunderforest (Cycle/Transport u. a.)

Kommerziell mit API‑Key; Pläne von Free bis Pro
Pricing: https://www.thunderforest.com/pricing/
Terms/Attribution: https://www.thunderforest.com/terms/
Tracestrack Topo

API‑Key erforderlich; kostenlose und bezahlte Pläne
Übersicht/Pricing: https://www.tracestrack.com/en/maps/
Nutzungsbedingungen: https://www.tracestrack.com/en/terms/
2025-09-15 10:36:03 +02:00
..
2025-06-24 15:07:00 +02:00
2025-06-24 15:07:00 +02:00
2025-05-28 10:17:25 +02:00
2025-09-12 15:18:55 +02:00

📘 NodeMap Entwicklerdokumentation

Willkommen in der Entwicklerdokumentation für NodeMap einer modularen Kartenanwendung zur Visualisierung und Bearbeitung von GIS-Daten, POIs und Gerätestatus in einer interaktiven Leaflet-Karte.

Diese Anleitung führt dich Schritt für Schritt durch die wichtigsten Themen für lokale Entwicklung, Architekturverständnis und Erweiterung.


📚 Inhaltsverzeichnis

🔹 Einstieg & Übersicht

🧭 Architektur

⚙️ Konfiguration


⚙️ Kartenquellen-Konfiguration (public/config.json)

Die Datei public/config.json steuert, welche Kartenquelle (z.B. OSM oder lokale Tiles) für die Leaflet-Karte verwendet wird.

Beispiel:

{
  "//info": "tileSources: 'local' für offline, 'osm' für online",
  "tileSources": {
    "local": "http://localhost/talas5/TileMap/mapTiles/{z}/{x}/{y}.png",
    "osm": "https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png"
  },
  "active": "osm"
}
  • Mit active kann zwischen Online- und Offline-Karten umgeschaltet werden.
  • Die Datei wird beim Start der App automatisch geladen.
  • Für Offline-Betrieb muss das lokale Kartenmaterial vorhanden sein (siehe Installationsanleitung).

🧩 Hauptkomponenten

🗺️ Kontextmenü

POIs

📏 GIS-Polylinien

💡 UI-Komponenten

🧪 Weitere Tools


Projektüberblick

NodeMap wird von TALAS.web über einen iFrame geladen. Die Anwendung basiert auf folgenden Technologien:

Technologie Zweck
Next.js React-Framework (Frontend/SSR)
Leaflet Kartendarstellung
Redux Toolkit Zustandverwaltung
Tailwind CSS Styling
MySQL Datenbank
Node.js / IIS Server und Auslieferung

👉 Mehr zur Systemarchitektur: architecture.md


Projektstruktur & Setup

Zielsystem

  • Offline-Umgebung
  • Windows-Server mit IIS
  • Datenzugriff über TALAS-Webservice oder lokale API

Lokale Entwicklung

Entwicklungs-Setup
Projektstruktur erklärt
Abhängigkeiten & Tools
Umgebungsvariablen (env-Dateien)


Webservices & API-Fluss

NodeMap verwendet zwei Quellen für Daten:

  1. TALAS-WebServices (Port 80) POIs, Geräte, Rechte, Linien usw.
  2. Lokale Next.js API (Port 3000) direkte Datenbankzugriffe via MySQL

Webservices-Dokumentation


Zustandverwaltung Redux

Die komplette Anwendung verwendet Redux zur globalen Zustandverwaltung.

  • Architektur: Service → Thunk → Slice → Komponente
  • Beispiel: POIs, Marker, Linien, Rechte, Layer-Status
  • Redux DevTools werden unterstützt

Zustandverwaltung mit Redux


Entwicklung & Testdaten

Zur Entwicklung ohne echte API stehen lokale Mockdaten zur Verfügung:

  • Aktivierung über .env.development → NEXT_PUBLIC_USE_MOCKS=true
  • In .env.production sollte NEXT_PUBLIC_USE_MOCKS=false gesetzt sein
  • Nutzung z.B. in pages/api/mocks/...
  • Hinweise im UI zeigen aktivierten Mockmodus

Mockdaten & Entwicklung


Fehlerbehandlung & Glossar

Typische Probleme (z.B. Webservice nicht erreichbar, Layer nicht sichtbar) werden in der FAQ gesammelt.
Zudem gibt es eine Begriffsliste zur Orientierung:

FAQ & häufige Fehler
Glossar


Hinweis zum Deployment

📦 Die Anleitung für Server-Installation und ZIP-Deployment findest du in:
Root-README.md


Tipp

Wenn du neu im Projekt bist, beginne mit dem Kapitel Projektstruktur & Setup und folge dann über die Webservices bis zu den Komponenten.