Man kann Open-Street-Map auch als große Datenbank sehen, über die man nicht nur Geodaten holen, sondern auch Informationen gewinnen kann. Bei Zeit-Online gibt es ein Projekt zur Darstellung der geographischen Verteilung von Straßennamen in Deutschland, welches leider nicht unter einer offenen Lizenz verfügbar ist, so dass man das Projekt leicht erweitern oder adaptieren könnte.

Mich interessiert nämlich die Verteilung von Ortsnamen bzw. Namensendungen und dabei konkret das Vorkommen der Endung roda, welche auf eine frühere Wald-Rodung hindeutet. Hierfür hätte ich das Zeit-Online-Projekt gern für Ortsnamen erweitert, jedoch fehlen dafür die Quellen.

Ich habe aber für Open-Street-Map eine eigene Seite zur Abfrage von Daten gefunden: Overpass Turbo. Damit konnte ich in ein paar Minuten eine Abfrage formulieren, die mir die gewünschten Orte auf der Karte darstellt. Interessanter Weise sind fast alle Orte mit der Namensendung roda in Thüringen und Sachsen.

area[name=Deutschland][admin_level=2];
node(area)
  [name~"roda$"]
  [place~"city|hamlet|suburb|town|village"];
out count; // liefert die Anzahl der Treffer als ersten Datensatz
out;

Informationsquellen zu Overpass QL

Ampelanlagen in Jena

Durch unseren Datenkanal über Open-Street-Map bin ich auf die Frage gekommen, wo in Jena alles Ampeln bei Open-Street-Map eingetragen sind. Mit Overpass-Turbo konnte ich auch dies ermitteln: Lichtsignalanlagen in Jena

[out:json]
[bbox:50.86859481389967,11.557273864746094,50.965346321637696,11.665420532226562];

(
  node[highway=traffic_signals];
  node[crossing=traffic_signals];
);
out count; // liefert die Anzahl der Knoten als Datensatz
out;

Briefkästen ohne Betreiber oder Leerungzeiten

Ich habe bei mir in der Umgebung auch mal geschaut, bei welchen Briefkästen keine Betreiber oder keine Leerungszeiten angegeben sind. Diese werde ich mal aufsuchen und die Daten ergänzen:

[bbox:{{bbox}}];
(
  node[amenity=post_box][!collection_times];
  node[amenity=post_box][!operator];
);
out;

Grabmale auf dem Kölner Friedhof

Bei dieser Abfrage wurden die Knoten unterschiedlich gefärbt, um sie unterscheiden zu können.

// query
[out:json][timeout:25];
(
  node["cemetery"="grave"]({{bbox}});
  node["historic"="memorial"]({{bbox}});
);


// print results
(._; >;);

out meta;

{{style:

  node[historic]{
    fill-color: blue;
    width: 1;
    fill-opacity: 0.3;
  }

  node[cemetery]{
    fill-color: red;
    width: 1;
    fill-opacity: 0.3;
  }

}}

PLZ-Karte

Mit folgender Abfrage kann man sich die PLZ-Gebiete in dem gewählten Kartenabschnitt anzeigen lassen. Indem man auf die Flächen klickt, wird der postal_code des Gebiets angezeigt.

[bbox:{{bbox}}];
rel[boundary=postal_code];
(._;>;);
out;

Sperlingsberg als Gerichtsort

Ich kannte bisher den Sperlingsberg in Tröbnitz und nahm naiver Weise an, der Vogel Sperling sei Namenspatron dieser Flur. Aber heute stieß ich im Flurnamen-Report 1/2014 auf eine völlig andere Erklärung: Der Sperlingsberg war der Ort des (juristischen) Gerichts und geht auf das Wort Spel zurück.

Das mittelhochdeutsche Wort Spel steht für Aussage, Rede oder Geschichte und ist schon lange aus unserem Sprachgebrauch verschwunden. Nur noch als Teil des Wortes verhaspeln ist es in unserer Sprache geblieben. Der Sperlingsberg war also einmal der Spel-ing-berg. Im Englischen gibt es das Wort spell mit der Bedeutung Zauberwort oder Fluch, also ähnlich einem Richterspruch.

Der Abschnitt in dem Flurnamen-Report 1/2014 und die Ergänzung im Flurnamen-Report 2/2014 sind sehr informativ und auch angenehm zu lesen. Mehr Flurnamen-Reporte gibt es auf der Seite des Heimatbunds Thüringen.

Geschichtsforschung mit Overpass

Diese Beschreibung erinnerte mich gleich an meine Untersuchungen zu roda und da lag es nah, auch Open-Street-Map nach dem Sperlingsberg zu durchsuchen. Dafür müssen aber nicht nur Punkte, sondern auch Pfade bei der Abfrage berücksichtig werden, was man entweder mit einer Vereinigung ( node[…] ; way[…]; ) oder, da die Filter in den eckigen Klammern beide male gleich sind, kann man auch nw bzw. gleich nrw für node/way/relation nutzen.

Da Pfade und Relationen allerdings keine Koordinaten zur Darstellung auf der Karte besitzen, muss man mit dem Recurse-down-Operator > die Stützpunkte zu den Pfaden ermitteln. Der Ausdruck (._;>;) ist leichter zu verstehen, wenn man ihn getrennt schreibt:

//[bbox:{{bbox}}]; // Zur Begrenzung auf den aktuellen Kartenausschnitt
{{geocodeArea:"DE"}}; // Suche auf Deutschland begrenzen
nwr[name~"Sperlingsberg"];

out count; // liefert die Anzahl der Treffer als ersten Datensatz

(._;>;); // Besorgt die Stützpunkte für die Pfaden
out;

Open-Street-Map kennt also 14 Punkte und 152 (Teil-)Pfade (siehe Tab Daten, der erste Eintrag <count>), deren Name Sperlingsberg enthält, und die meisten davon liegen auch in Mitteldeutschland.

Mich interessiert noch die Aussage »Fast ein Drittel der bisher lokalisierten Sperlingsberge liegt jedoch außerhalb der Dörfer.« Den einfacheren Fall »welche Treffer liegen innerhalb bewohnter Gebiete«, wollte ich mit einem Filter auf landuse=residential lösen, aber die Funktion map_to_area funktionierte nicht wie ich es erwartet hatte:

[bbox:50.8178661,11.6322899,50.8813767,11.7527962];
{{geocodeArea:"DE"}};

way[landuse="residential"];
map_to_area;
nwr[name~"Sperlingsberg"];

out count; // liefert die Anzahl der Treffer als ersten Datensatz

(._;>;);
out;

Die Gemarkungen der Gemeinden definieren zwar schon Gebiete, allerdings sind die Gemarkungen größer als die eigentliche Siedlung, wie man am Beispiel von Großbocketra sehen kann: Gemarkung ggü. Siedlung.

Ein alternativer Ansatz wäre noch, mit around für die Treffer zu ermitteln, ob sich in der Nähe Häuser (Pfad mit building=yes) oder ein Ortskern (Punkt mit place=village) befinden. Dies habe ich nicht mehr versucht.

Die eigentlich gesuchten Treffer außerhalb von Siedlungen zu finden, wäre dann mit dem Differnzoperator möglich:

[bbox:50.8178661,11.6322899,50.8813767,11.7527962];
{{geocodeArea:"DE"}} -> .de;

way[landuse="residential"];
map_to_area;
nwr[name~"Sperlingsberg"] -> .inner_orts;

(
  nwr(area.de)[name~"Sperlingsberg"];
  - .inner_orts;
);

out count; // liefert die Anzahl der Treffer als ersten Datensatz

(._;>;);
out;