MemberMap

Mitglieder importieren und auf der Karte anzeigen

Daten

Metadaten können erst nach dem CSV-Import geladen werden.

Spaltenzuordnung

Straße, PLZ, Stadt, Vorname und Nachname müssen zugeordnet sein. Land: Spalte oder Festwert (Festwert nur ohne Land-Spalte). Pro Zeile: Straße, PLZ, Stadt und Land müssen befüllt sein (Land-Festwert zählt für alle). Grün = aus Metadaten.

Vorschau: —

Geocoding

Verfügbar nach „Metadaten laden“. Fehlende Koordinaten werden nicht per Nominatim ermittelt.

Status

Geladen0 Mit Adresse0 Auf Karte0 Aus Metadaten0 Neu geocodiert0 Fehlgeschlagen0 Ø Rate— 10 s Rate— Metadaten-Einträge0

Aktivitätsprotokoll

Mitglied

Willkommen bei MemberMap

So funktioniert’s

  1. Mitglieder-CSV laden – Die Mitgliederliste als CSV-Datei importieren.
  2. Optional: Metadaten laden – Zuvor gespeicherte metadaten.json einlesen (erst nach dem CSV-Import; siehe „Metadaten“).
  3. Spalten zuordnen – Straße, PLZ, Stadt, Vorname und Nachname prüfen. Land: CSV-Spalte oder Festwert. Grün markierte Felder stammen aus Metadaten.
  4. Geocoding einstellen – Nominatim-URL und ggf. Auth-Token prüfen. Optional „Nur aus Metadaten laden“, wenn keine neuen Adressen an Nominatim geschickt werden sollen.
  5. Auf Karte anzeigen – Übernimmt die Spaltenzuordnung, ermittelt fehlende Standorte (sofern erlaubt) und zeigt Mitglieder auf der Karte. Vor dem ersten Versand erscheint ein Bestätigungsdialog.
  6. Tabelle nutzen – Filtern, sortieren, Auswahl treffen und optional „Nur Auswahl anzeigen“.
  7. Exportieren – „Tabelle exportieren“ für die sichtbaren Zeilen als CSV; „Metadaten speichern“ für Koordinaten und Feldzuordnung. Beides fragt vor dem Speichern den Dateinamen ab.

Oberfläche

  • Seitenleiste – Datenimport, Spaltenzuordnung, Geocoding-Einstellungen, Status und Aktivitätsprotokoll. Über den Pfeil am Rand ein- und ausklappen.
  • Karte – Mitglieder als Marker; mehrere Personen an derselben Adresse teilen sich einen Pin (Zahl = Anzahl).
  • Detailansicht – Beim Klick auf einen Marker öffnet sich rechts ein Panel mit allen Feldern der gewählten Person(en).
  • Tabelle – Unter der Karte; Höhe per Ziehen am schwarzen Trenner zwischen Karte und Tabelle anpassen (oben = nur Karte, unten = nur Tabelle).
  • Hilfe (?) – Diese Anleitung jederzeit erneut öffnen.

Tabelle — Filter, Sortierung & Werkzeuge

Die Tabelle zeigt immer die aktuell sichtbaren Zeilen (nach Filtern und ggf. „Nur Auswahl anzeigen“).

  • Spaltenfilter – In der Filterzeile unter den Spaltenköpfen Text eingeben. Mit dem ≠-Button wird der Filter negiert (alles außer dem Suchtext). Das × hebt den Filter auf.
  • Statusfilter – In der Filterzeile der Spalte „Geocoding“: Dropdown mit Geocodiert, Fehlgeschlagen, Ausstehend, Keine Adresse.
  • Sortierung – Pro Spalte ↑ (aufsteigend) und ↓ (absteigend). Mehrere Spalten gleichzeitig möglich (Nummer zeigt die Reihenfolge). „Sortierung aufheben“ setzt alles zurück.
  • Alle Filter zurücksetzen – Hebt Spalten- und Statusfilter auf (nicht die Auswahl und nicht „Nur Auswahl anzeigen“).
  • Spaltenbreite – Am rechten Rand eines Spaltenkopfs ziehen; Breiten werden im Browser gespeichert.
  • Zelleninhalt kopieren – Beim Überfahren einer Zelle erscheint ein Kopier-Symbol.
  • Karten-Button (Weltkugel) – In der Geocoding-Spalte bei geocodierten Einträgen: Karte auf diesen Marker zoomen und hervorheben.
  • Zeile hervorheben – Beim Überfahren einer Tabellenzeile wird der zugehörige Marker auf der Karte hervorgehoben.
  • Tabelle exportieren (N) – Exportiert genau die N sichtbaren Zeilen als CSV; vor dem Download kann der Dateiname angepasst werden.

Auswahl auf Karte und in der Tabelle

Markierte Mitglieder werden auf der Karte hervorgehoben und in der Tabelle synchron angezeigt.

Auf der Karte:

  • Klick auf einen Marker – wählt alle Mitglieder an diesem Pin aus; die Detailansicht öffnet sich.
  • Strg+Klick (Mac: Befehl+Klick) auf einen Marker – Auswahl für diesen Pin hinzufügen oder entfernen.
  • Strg+Ziehen auf der Karte (nicht auf einem Marker) – Rechteck aufziehen: Marker im Bereich werden zur Auswahl hinzugefügt (waren alle schon gewählt → abgewählt).
  • Umschalt+Ziehen – Kartenausschnitt zoomen (keine Auswahl).
  • Karte verschieben – wie gewohnt ziehen, wenn weder Strg noch Umschalt gedrückt ist.

In der Tabelle (Auswahl bleibt mit der Karte synchron):

  • Klick auf eine Zeile – einzeln auswählen (alle Mitglieder am gleichen Standort werden mitgewählt)
  • Strg+Klick – Zeile zur Auswahl hinzufügen oder entfernen
  • Umschalt+Klick – Bereich sichtbarer Zeilen auswählen
  • Checkbox in der ersten Spalte – Auswahl umschalten

„Nur Auswahl anzeigen“ filtert die Tabelle auf markierte Einträge (Toggle-Button). „Auswahl aufheben“ löscht die Markierung. Beim Export zählen nur die dann sichtbaren Zeilen.

Metadaten — wozu und wie?

Die Datei metadaten.json ist ein lokaler Zwischenspeicher für alles, was beim Geocoding mühsam oder datenschutzrelevant ist — ohne Ihre vollständige Mitgliederliste zu enthalten.

Sie speichert zwei Dinge:

  • Koordinaten – pro normalisierter Adresse ein Eintrag [Breite, Länge]. Bereits bekannte Adressen müssen nicht erneut an Nominatim geschickt werden.
  • Feldzuordnung – welche CSV-Spalten Straße, PLZ, Stadt usw. sind (plus optional ein Festwert-Land). Beim erneuten Laden einer ähnlichen CSV entfällt das erneute Zuordnen.

„Nur aus Metadaten laden“ – Wenn aktiviert (nach „Metadaten laden“ verfügbar), werden fehlende Koordinaten nicht per Nominatim ermittelt. Sinnvoll, wenn Sie nur bereits bekannte Adressen auf der Karte sehen möchten.

Empfohlener Ablauf:

  1. CSV laden, Spalten prüfen, Auf Karte anzeigen (fehlende Adressen werden geocodiert).
  2. Metadaten speichern – Ergebnis und Zuordnung exportieren (Dateiname wählbar).
  3. Beim nächsten Mal: CSV laden → Metadaten laden → Zuordnung prüfen (grüne Felder) → Auf Karte anzeigen. Nur noch unbekannte oder geänderte Adressen gehen an Nominatim.

Metadaten laden ist nur nach dem CSV-Import möglich. Die Metadaten-Datei ersetzt die CSV nicht — sie ergänzt sie. Enthält sie keine passenden Spaltennamen, schlägt MemberMap die Zuordnung wie gewohnt vor.

Datenschutz — bitte lesen

MemberMap verarbeitet Mitgliederdaten lokal im Browser. Es gibt kein eigenes Backend — CSV und Metadaten bleiben auf Ihrem Rechner, bis Sie sie exportieren.

Beim Klick auf „Auf Karte anzeigen“ werden die Adressen Ihrer Mitglieder (Straße, PLZ, Stadt, Land — keine Namen oder weiteren CSV-Felder) an die konfigurierte Nominatim-Instanz gesendet. Ein Bestätigungsdialog weist vor dem ersten Versand darauf hin. Nutzen Sie nur Server, deren Betreiber und Datenschutzpraxis Sie kennen und akzeptieren.

Zusätzlich werden beim Zoomen Kartenkacheln von openstreetmap.de geladen (keine Mitgliederdaten). Nominatim-URL, Token, Intervall, Parallelität und weitere Einstellungen werden im Browser-localStorage gespeichert — keine Mitgliederdaten.

Nominatim-Instanz wählen

Sie haben zwei gängige Optionen:

  • geo.linke.tools (Standard) – Gehostete Instanz unter geo.linke.tools. Der Dienst wird von Mitgliedern betrieben und ist so eingerichtet, dass keine Adressdaten geloggt werden. Den erforderlichen Auth-Token können Sie in der Linke.tools-Signalgruppe anfragen.
  • Eigener Server – Nominatim selbst betreiben (Installationsanleitung). Dann die Basis-URL Ihrer Instanz eintragen.

Pause & Parallelität

Unter Geocoding steuern zwei Werte, wie schnell unbekannte Adressen an Nominatim geschickt werden. Sie gelten nur für neue Anfragen — Treffer aus Metadaten werden sofort übernommen. Während des Geocodings kann Abbrechen laufende Anfragen stoppen.

Pause zwischen Starts (ms) — Standard: 200

Mindestabstand zwischen dem Start zweier Nominatim-Anfragen. Verhindert, dass der Server überlastet wird. Öffentliche Nominatim-Instanzen erlauben oft höchstens etwa eine Anfrage pro Sekunde (also 1000 ms). Bei 0 startet MemberMap neue Anfragen ohne zusätzliche Wartezeit; dann begrenzt nur noch die Parallelität die Last.

Parallelität — Standard: 4

Wie viele Nominatim-Anfragen gleichzeitig laufen dürfen. Bei Parallelität 4 und Pause 200 ms können bis zu vier Anfragen parallel offen sein; der nächste Start erfolgt frühestens 200 ms nach dem vorherigen. Erhöhen Sie den Wert nur, wenn Ihr Nominatim-Betreiber mehrere parallele Anfragen erlaubt — sonst drohen Fehler oder Sperren (z. B. HTTP 429).

Die Standardwerte (Pause 200 ms, Parallelität 4) sind auf geo.linke.tools abgestimmt. Bei Fehlern oder Sperren Pause erhöhen oder Parallelität verringern (z. B. 1000 ms und 1). Beide Werte werden im Browser gespeichert.

Demo-Daten

Zum Testen von MemberMap ohne eigene Mitgliederliste stehen Demo-Dateien bereit. Damit können Sie Import, Spaltenzuordnung, Kartenansicht, Tabellenfilter, Auswahl und den Export-Workflow nachvollziehen — ohne echte Personendaten verwenden zu müssen.

demo-mitglieder.csv enthält 600 erfundene Datensätze. Die Mitgliederwerte (Name, E-Mail, Organisation) sind bewusst Platzhalter. Die Adressen stammen aus einer realistischen Demo-Quelle (OSM-Adressen, für Demonstrationen genutzt), damit die App auch mit „echtem“ Geocoding-Datenformat getestet werden kann. Die CSV nutzt englische Spaltenköpfe (z. B. FIRST NAME, ADDRESS, POST CODE), damit die automatische Spaltenzuordnung getestet wird.

demo-mitglieder-metadaten.json ist das passende Gegenstück: Es enthält vorberechnete Koordinaten sowie die Feldzuordnung für genau diese Demo-Adresse-Schlüssel. Dadurch können Sie nach dem CSV-Import direkt „Nur aus Metadaten laden“ testen, ohne erneut Adressen an Nominatim zu senden.

Ablauf zum Ausprobieren: zuerst demo-mitglieder.csv über „Mitglieder-CSV“ laden. Optional danach demo-mitglieder-metadaten.json über „Metadaten laden“ einlesen.

  • demo-mitglieder.csv
  • demo-mitglieder-metadaten.json

Adressdaten übermitteln

Beim Geocoding werden Adressdaten an einen externen Server gesendet. Fahren Sie nur fort, wenn Sie dem Betreiber der konfigurierten Nominatim-Instanz vertrauen.

Übermittelt werden Straße, Postleitzahl, Stadt und Land. Alle anderen Angaben der importierten Liste bleiben auf Ihrem Rechner. Der Server kann die Adressen sehen und speichern. Fahren Sie nur fort, wenn Sie dem Betreiber der konfigurierten Nominatim-Instanz vertrauen.

Datei speichern