Please scroll down for the English version.
Goldberg - Urbanonyme
Die folgende Anleitung soll eine Benutzung des Python-Skripts und eine Interpretation der Ergebnisse ermöglichen. Der Programmcode ist kompatibel mit der Python-Version 3.6.
Bibliotheken: Damit das Programm ausgeführt werden kann sind ggf. noch weitere Bibliotheken lokal zu installieren. In den ersten Zeilen der jeweiligen Dateien sind die benutzten Bibliotheken angegeben.
Eingangsdateien: Das Programm verarbeitet Ortsangaben aus GEDCOM-Dateien. Die GEDCOM-Dateien sind mit fortlaufenden Ziffern zu benennen („1.ged“, „2.ged“ etc.). Ziffern dürfen nicht doppelt genutzt werden. Diese Dateien werden in einem Unterordner „data“ platziert. Wenn andere Quellen als GEDCOM-Dateien verwendet werden sollen, ist eine Veränderung des Programms notwendig. Es ist nicht ratsam, nur eine einzige Liste von Ortsangaben zu verwenden, da das Programm darauf basiert, Ortsangaben eines Kontextes in Beziehung zu setzten. Kontext bedeutet hierbei, dass diese Ortsangaben in einer Quelle gemeinsam (also in einem Kontext) benannt werden, was eine geographische Nähe impliziert. Für alle Ortsangaben eines Kontextes sollte also eine eigene Datei erstellt und verarbeitet werden. Im Unterordner „data“ sind auch die Dateien des Mini-GOVs zu finden. Hier sind standardmäßig die Mini-GOVs von Deutschland, Polen, Österreich, Schweiz, Tschechien, Dänemark, Frankreich und den Niederlanden eingebunden. Daneben versucht das Programm die Dateien „quality.csv“, „placefinder.csv“ und „provincesdict.csv“ zu öffnen, die im selben Ordner wie die Datei „main.py“ liegen. Das sind gleichzeitig die Ausgabedatei des Programms (siehe unten). Sind diese nicht vorhanden, werden diese neu erzeugt. Sind diese vorhanden, werden die vorhandenen Daten genutzt, um die bereits verarbeiteten GEDCOM-Dateien nicht noch einmal auszuführen. Das hilft vor allen in solchen Fällen, in denen das Programm zwischendurch aufgrund einer nicht kontinuierlich vorhandenen Internetverbindung abbricht (siehe nächster Abschnitt). Unstetige Internetverbindung: Das Programm greift auf den GOV-Webservice zu, um Informationen zu einzelnen Ortsangaben abzufragen. Hierzu ist eine dauerhafte Internetverbindung notwendig. Da es insbesondere über einen WLAN-Zugang aber Aussetzer geben kann, bei denen das Programm abbrechen kann, ist eine Verzögerung des Programms bei Internetstörungen einprogrammiert. Diese kann manuell an- und abgeschaltet werden. Die Variable withSleeping befindet sich in der Datei „provincefinder.py“ zu Beginn der Funktion „provinceFinder()“. Wenn sie auf 1 gesetzt wird und eine Verbindung zum Webservice nicht hergestellt werden kann, pausiert das Programm für eine Sekunde. Das führt zugleich allerdings dazu, dass das Programm insgesamt eine längere Durchlaufzeit in Anspruch nimmt. Standardmäßig ist diese Funktion nicht aktiviert.
Parallelisierung: Die Verarbeitung von GEDCOM-Dateien läuft parallel ab, um die Geschwindigkeit zu erhöhen. Hierzu kann festgelegt werden, wie viele Rechnerkerne genutzt werden. Dazu ist in der Main der Parameter „Pool()“ jeweils zu verändern. Bleibt er leer, so werden alle verfügbare Rechenkerne genutzt. Im Skript ist die Anzahl der Kerne standardmäßig auf die Nutzung aller verfügbaren Kerne eingestellt. Provinzenzuordnung: Die Ortsangaben werden verschiedenen Provinzen zugeordnet. Im Standard sind in der Datei „provincefinder.py“ Provinzen vor 1871 und nach 1990 zugeordnet. Für die Zeit dazwischen ist eine provinzielle Zuordnung nicht möglich. Dieses kann aber beliebig angepasst und erweitert werden. Die Bezugszeit kann in der Main in der Funktion „parallel()“ über die Variable referencetime geändert werden. Sie ist standardmäßig auf das Jahr 1800 eingestellt.
Cluster: Die Clusterbildung von Orten nimmt bei deren Identifizierung eine bedeutende Rolle ein. Der Mindestabstand sowie die Mindestanzahl von Orten in einem Cluster kann dabei variiert werden. Der Mindestabstand zwischen zwei Clustern kann in der Datei „qualitychecker.py“ in der Funktion „qualityChecker()“ über die IF-Abfrage „if distance <= 50:“ geändert werden. In derselben Funktion existiert die Variable minimumClusterSize, über die die Mindestgröße eines Clusters variiert werden kann. Standardmäßig ist diese auf 6 Orte eingestellt.
Ausgabedateien: Das Programm produziert drei Dateien, in der die einzelnen Spalten per Tabstopp voneinander getrennt sind. Die Datei „quality.csv“ gibt Auskunft über die Beschaffenheit und Qualität der Informationen in den GEDCOM-Dateien. Pro GEDCOM-Datei existiert eine Zeile mit Angaben zum Dateinamen, der Anzahl der Ortsangaben in der Datei, dann diese Anzahl der Ortsangabe aufgeteilt in Orte ohne Treffer (noHit), Orte mit mehr als einem Treffer (moreThanOneHit) und Orte mit genau einem Treffer (definitely coordinates), den Mittelpunkt der Längen- sowie der Breitengrade, die Anzahl existierender Cluster, die Anzahl relevanter Cluster, sowie eine Liste der Koordinaten der Mittelpunkte relevanter Cluster. Die Datei „provincesdict.csv“ enthält vier Spalten: Die unveränderte Ortsbezeichnung einer Quelle, den Dateinamen, die GOV-ID und die zugeordnete Provinz. Sie hat den Zweck, dass doppelt vorkommende Ortsbezeichnungen in einer Datei nicht doppelt verarbeitet werden müssen. Die Datei „placefinder.csv“ enthält zu jeder Ortsangabe Informationen über die ID (GOV-ID), die Koordinaten, eine Information wie die Zuordnung zur GOV-ID stattgefunden hat, die bereinigte Version des Ortsnamens, den originalen Ortsnamen sowie den Namen der Datei, in der der Name vorkommt.
Jan Michael Goldberg, 30. Juni 2022
Goldberg - Urbanonyms
The following instruction is intended to enable the use of the Python script and an interpretation of the results. The program code is compatible with Python version 3.6.
Libraries:
In order for the program to be able to run, additional libraries may need to be installed locally. The libraries used are specified in the first lines of the respective files.
Input files:
The program processes location data from GEDCOM files. The GEDCOM files must be named with consecutive numbers ("1.ged", "2.ged" etc.). Digits must not be used twice. These files are placed in a subfolder "data". If sources other than GEDCOM files are to be used, the program must be modified. It is not advisable to use only a single list of location data, as the program is based on relating location data to a context. Context here means that these locations are named in the same source (i.e. in the same context), which implies geographical proximity. A separate file should therefore be created and processed for all location data in a context.
The "data" subfolder also contains the Mini-GOV files. The mini-GOVs for Germany, Poland, Austria, Switzerland, the Czech Republic, Denmark, France and the Netherlands are included here by default. The program also opens the files "quality.csv", "placefinder.csv" and "provincesdict.csv", which are located in the same folder as the "main.py" file. These are also the output files of the program (see below). If these do not exist, they will be generated. If they do exist, the existing data is used so that the GEDCOM files that have already been processed are not executed again. This is particularly useful in cases where the program crashes occasionally due to an unstable Internet connection (see next section).
Unstable internet connection:
The program uses the GOV web service to retrieve information on individual locations. This requires a permanent Internet connection. However, as there can be temporary disconnections, particularly via WLAN access, which can cause the program to crash, a delay is programmed into the program in the event of any internet disruptions. This can be switched on and off manually. The variable withSleeping is located in the file "provincefinder.py" at the beginning of the function "provinceFinder()". If it is set to 1 and a connection to the web service cannot be established, the program pauses for one second. However, this also means that the program takes longer to run. This function is not activated by default.
Parallelization:
The processing of GEDCOM files runs simultaneously to increase speed. For this purpose, you can specify how many computer cores are used. To do this, the "Pool()" parameter must be changed in the main. If it remains empty, all available calculation engines are used. In the script, the number of cores is set by default to use all available cores.
Province assignment: The location details are assigned to different provinces. By default, provinces before 1871 and after 1990 are assigned in the "provincefinder.py" file. Provincial assignment is not possible for the period in between. However, this can be adapted and extended as needed. The reference time can be changed in the Main in the "parallel()" function using the referencetime variable. It is set to the year 1800 by default.
Cluster:
The clustering of locations plays an important role in their identification. The minimum distance and the minimum number of locations in a cluster can be varied. The minimum distance between two clusters can be changed in the "qualitychecker.py" file using the "qualityChecker()" function via the IF query "if distance <= 50:". In the same function there is the variable minimumClusterSize, which can be used to vary the minimum size of a cluster. This is set to 6 locations by default.
Output files:
The program produces three files in which the individual columns are separated from each other by tab stops. The "quality.csv" file provides information about the nature and quality of the information in the GEDCOM files. Each GEDCOM file contains a line with information on the file name, the number of locations in the file, then this number of locations divided into locations without hits (noHit), locations with more than one hit (moreThanOneHit) and locations with exactly one hit (definitely coordinates), the center of the longitude and latitude, the number of existing clusters, the number of relevant clusters and a list of the coordinates of the centers of relevant clusters. The file "provincesdict.csv" contains four columns: The unchanged location name of a source, the file name, the GOV ID and the assigned province. Its purpose is to ensure that duplicate location names in a file do not have to be processed twice. The "placefinder.csv" file contains information on the ID (GOV-ID), the coordinates, information on how the assignment to the GOV-ID took place, the corrected version of the place name, the original place name and the name of the file in which the name appears for each place name.
Jan Michael Goldberg, June 30, 2022 (translation by Marie Adler, January 09, 2024)