Um alle Linux User Groups (LUGs) aus den OpenStreetMap (OSM)-Rohdaten zu exportieren, kannst du wie folgt vorgehen:
1. OSM-Datenquellen verstehen
LUGs werden in OSM meist als Nodes oder Areas mit spezifischen Tags markiert. Typische Tags für LUGs sind:
amenity=community_centre + club=computer oder club=linux
leisure=hackerspace + club=linux
office=ngo + ngo=computer oder ngo=linux
name=* (enthält oft "Linux" oder "LUG")
2. Daten exportieren
Option A: Overpass API (empfohlen)
Die Overpass API ist ideal, um gezielt nach OSM-Objekten zu suchen. Nutze folgende Abfrage, um LUGs weltweit zu finden:
[out:json];
(
node["amenity"="community_centre"]["club"~"linux|computer"];
node["leisure"="hackerspace"]["club"~"linux"];
node["office"="ngo"]["ngo"~"linux|computer"];
node["name"~"Linux|LUG",i];
way["amenity"="community_centre"]["club"~"linux|computer"];
way["leisure"="hackerspace"]["club"~"linux"];
way["office"="ngo"]["ngo"~"linux|computer"];
way["name"~"Linux|LUG",i];
relation["amenity"="community_centre"]["club"~"linux|computer"];
relation["leisure"="hackerspace"]["club"~"linux"];
relation["office"="ngo"]["ngo"~"linux|computer"];
relation["name"~"Linux|LUG",i];
);
out body;
>;
out skel qt;
Schritte:
- Gehe auf Overpass Turbo.
- Füge die Abfrage ein und führe sie aus.
- Exportiere die Ergebnisse als GeoJSON, JSON oder CSV.
Option B: OSM-Daten-Dump
Falls du die Rohdaten selbst verarbeiten möchtest:
- Lade den aktuellen Planet.osm oder einen Länderextrakt herunter.
- Nutze Tools wie osmfilter oder osmium, um die Daten nach den oben genannten Tags zu filtern.
Beispiel mit
osmium:
osmium tags-filter planet.osm.pbf \
n/amenity=community_centre,club=linux \
n/leisure=hackerspace,club=linux \
n/office=ngo,ngo=linux \
-o lugs.osm.pbf
3. Daten nachbearbeiten
Die exportierten Daten enthalten Koordinaten, Tags und Metadaten. Du kannst sie mit Python (z. B. geopandas, osmnx) oder QGIS weiterverarbeiten, um z. B. eine Karte zu erstellen oder Adressen zu extrahieren.
4. Beispiel: Python-Skript für Overpass-API-Abfrage
Falls du die Abfrage automatisieren möchtest, nutze die requests-Bibliothek:
import requests
import json
overpass_url = "https://overpass-api.de/api/interpreter"
query = """
[out:json];
node["amenity"="community_centre"]["club"~"linux|computer"];
out body;
"""
response = requests.post(overpass_url, data={'data': query})
data = response.json()
with open('lugs.json', 'w') as f:
json.dump(data, f, indent=2)
5. Wichtige Hinweise
- Datenqualität: Nicht alle LUGs sind in OSM erfasst. Ergänze ggf. manuell.
- Lizenz: OSM-Daten unterliegen der ODbL.
- Aktualität: Nutze aktuelle Daten, da sich LUGs ändern können.
Frage: Möchtest du Hilfe bei der Nachbearbeitung der Daten oder der Visualisierung in einer Karte?