The Goobi viewer supports the display of coordinates on a map. There are different possibilities for the acquisition, the indexing and the display. These are listed on this page.
Acquisition and indexing
GND
The simplest option is when, for example, a publication location is linked to a GND record immediately upon import from the catalog and this record contains coordinates.
In an exported METS/MODS file, the markup of a publication location could look like this and the display in the Goobi viewer could then look like the following screenshot:
In an exported METS/MODS file, the labeling of the geographic keyword could look like this and the display in the Goobi viewer could then look like the following screenshot:
Latitude and longitude information are not provided in MODS, so they are exported to a separate namespace. The display is then done as point coordinates as already shown above in screenshots
Maps can be captured and displayed not only as points, but also as bounding boxes. The coordinates can be determined very easily with a bounding box tool from Klokantech:
Below the map there is a copy and paste field for the MARC field 034. The content of the individual subfields is explained using the following example:
# example field content for 034
$$dE0081339$$eE0083333$$fN0533708$$gN0532442
# Subfeldzuordnung
$d - westernmost longitude: E0081339
$e - easternmost longitude: E0083333
$f - northernmost latitude: N0533708
$g - southernmost latitude: N0532442
The point coordinates are marked individually and are aggregated to a rectangle during indexing. The screenshot below shows an atlas where the individual maps of the structural elements have also been georeferenced.
Since version 4.6 the Goobi viewer supports the search for coordinates. GML points and polygons (as in DenkXweb) as well as mods:coordinates can be indexed as geoJSON and displayed on maps. Furthermore, faceting queries for searches for points, points in polygons, polygon intersections can be passed directly in the URL. For this the coordinates are indexed as WKT.
To allow faceting to be as versatile as possible, the entire WKT query must be formulated in the client (i.e., in JavaScript, for example). Examples are:
Search for point:
https://viewer.example.org/search/-/-/1/-/WKT_COORDS:"Intersects(POINT(9.86929194928373 51.8163517626803)) distErrPct=0"/
Contained in the polygon (for example, points):
https://viewer.example.org/search/-/-/1/-/WKT_COORDS:"IsWithin(POLYGON((0 0, 0 90, 90 90, 90 0, 0 0))) distErrPct=0"/
Partially contained in polygon (for example, other polygon):
https://viewer.example.org/search/-/-/1/-/WKT_COORDS:"Intersects(POLYGON((0 0, 0 90, 90 90, 90 0, 0 0))) distErrPct=0"/
Not included in the polygon:
https://viewer.example.org/search/-/-/1/-/WKT_COORDS:"IsDisjointTo(POLYGON((0 0, 0 -90, -90 -90, -90 0, 0 0))) distErrPct=0"/
More information about indexing can be found in chapter 2.5 of the Goobi viewer indexer configuration.
Configuration
In order to display indexed geocoordinates on a map, a corresponding Solr query must be formulated. This can be for example all plants with indexed geo-coordinates:
+BOOL_WKT_COORDS:true
Alternatively, all records that have geo-coordinates in a specific field and belong to a collection:
+MD_COORDINATES:* +DC:archives*
It is important that the fields in which the coordinates have been indexed are made known to the Goobi viewer. For this, the field must be defined in the following list within config_viewer.xml:
The attribute includeMetadataDocs determines whether SOLR documents of type METADATA should also be searched for the configured fields, or only in documents of type DOCSTRCT. Activation may lead to more coordinates being found under certain circumstances, but may increase the loading time.