Der Goobi viewer unterstützt die Darstellung von Koordinaten auf einer Karte. Bei der Erfassung, der Indexierung und der Anzeige gibt es dort verschiedene Möglichkeiten. Diese sind auf dieser Seite aufgeführt.
Erfassen und Indexieren
GND
Die einfachste Variante ist, wenn zum Beispiel ein Erscheinungsort gleich beim Import aus dem Katalog mit einem GND Datensatz verknüpft ist und dieser Koordinaten enthält.
In einer exportierten METS/MODS Datei könnte die Auszeichnung eines Erscheinungsortes so aussehen und die Anzeige im Goobi viewer dann wie im folgenden Screenshot:
In einer exportierten METS/MODS Datei könnte die Auszeichnung des geographischen Schlagworts so aussehen und die Anzeige im Goobi viewer dann wie im folgenden Screenshot:
Latitude und Longitude Informationen sind in MODS nicht vorgesehen, weswegen sie in einen eigenen Namespace exportiert werden. Die Anzeige erfolgt dann als Punktkoordinate wie oben bereits in Screenshots gezeigt
Karten können nicht nur als Punkte, sondern auch als Bounding Box erfasst und angezeigt werden. Die Koordinaten können sehr einfach mit einem Bounding Box Tool von Klokantech ermittelt werden:
Unterhalb der Karte befindet sich ein Copy und Paste Feld für das MARC Feld 034. Der Inhalt der einzelnen Subfelder ist anhand des folgenden Beispiels erläutert:
Die Punktkoordinaten sind einzeln ausgezeichnet und werden bei der Indexierung zu einem Rechteck aggregiert. In dem unten angezeigten Screenshot ist ein Atlas zu sehen bei dem die einzelnen Karten der Strukturelemente ebenfalls georeferenziert wurden.
Seit der Version 4.6 unterstützt der Goobi viewer die Suche nach Koordinaten. Dabei lassen sich GML-Punkte und -Polygone (so wie in DenkXweb) sowie mods:coordinates als geoJSON indexieren und auf Karten darstellen. Weiter können Facettierungs-Queries für Suchen nach Punkten, Punkten im Polygon, Polygon-Überschneidungen direkt in der URL übergeben werden. Dazu werden die Koordinaten als WKT indexiert.
Um die Facettierung möglichst vielseitig zu erlauben, muss die gesamte WKT-Query im Client (also etwa im JavaScript) formuliert werden. Beispiele sind:
Suche nach Punkt:
https://viewer.example.org/search/-/-/1/-/WKT_COORDS:"Intersects(POINT(9.86929194928373 51.8163517626803)) distErrPct=0"/
Enthalten im Polygon (zum Beispiel Punkte):
https://viewer.example.org/search/-/-/1/-/WKT_COORDS:"IsWithin(POLYGON((0 0, 0 90, 90 90, 90 0, 0 0))) distErrPct=0"/
Teilweise enthalten in Polygon (zum Beispiel anderes Polygon):
https://viewer.example.org/search/-/-/1/-/WKT_COORDS:"Intersects(POLYGON((0 0, 0 90, 90 90, 90 0, 0 0))) distErrPct=0"/
Nicht enthalten im Polygon:
https://viewer.example.org/search/-/-/1/-/WKT_COORDS:"IsDisjointTo(POLYGON((0 0, 0 -90, -90 -90, -90 0, 0 0))) distErrPct=0"/
Weitere Informationen zur Indexierung stehen in Kapitel 2.5 der Konfiguration des Goobi viewer Indexers.
Konfiguration
Damit indexierte Geokoordinaten auf einer Karte dargestellt werden können muss eine entsprechende Solr Query formuliert werden. Das können zum Beispiel alle Werke mit indexierten Geokoordinaten sein:
+BOOL_WKT_COORDS:true
Alternativ auch alle Werke, die Geokoordinaten in einem bestimmten Feld haben und einer Sammlung angehören:
+MD_COORDINATES:* +DC:archives*
Wichtig ist hier noch, dass die Felder in denen die Koordinaten indexiert wurden dem Goobi viewer bekannt gemacht werden. Dafür muss das Feld in folgenden Liste innerhalb der config_viewer.xml definiert sein:
Das Attribut includeMetadataDocs legt fest, ob auch in SOLR Dokumenten vom Typ METADATA nach den konfigurierten Feldern gesucht werden soll, oder nur in Dokumenten vom Typ DOCSTRCT. Eine Aktivierung kann führt unter Umständen zu mehr gefundenen Koordinaten, kann aber die Ladezeit verlängern.
Weitere Möglichkeiten zur Konfiguration stehen in Kapitel 1.36 der Konfiguration des Goobi viewer Core.