sul-dlss / gis-robot-suite

Robots for GIS accessioning and delivery
Other
9 stars 4 forks source link
application infrastructure robot

CircleCI Code Climate Code Climate Test Coverage GitHub version

GIS-Robot-Suite

Robot code for accessioning and delivery of GIS resources.

Dependencies

These robots require several dependencies needed to perform the GIS workflow steps. These are often shelled out to using system calls.

Documentation

GIS data has its own set of names, standards and conventions that can be difficult for newcomers. To better understand some of these please see the Geo4LibCamp Glossary as well as the following article which describes the initial goals for supporting GIS in SDR:

Kim Durante & Darren Hardy (2015) Discovery, Management, and Preservation of Geospatial Data Using Hydra, Journal of Map & Geography Libraries, 11:2, 123-154, DOI: 10.1080/15420353.2015.1041630.

gis-robot-suite services two workflows: gisAssemblyWF and gisDeliveryWF.

gisAssemblyWF

gisDeliveryWF

Data Wrangling

Step 1: Preparing for stage

The file system structure will initially look like the following (see Consul page for a description) where the source input files for the shapefiles are all hard links to reduce space requirements: This is pre-stage when preparing the data for upload to globus.

zv925hd6723/
  OGWELLS.dbf
  OGWELLS.prj
  OGWELLS.shp
  OGWELLS.shp.xml
  OGWELLS.shx
  preview.jpg
  index_map.json

Note that index_map.json is optional.

Step 2: Assembly

Then at the end of GIS assembly processing -- see above prior to accessioning -- it will look like this in the workspace:

zv/
  925/
    hd/
      6723/
        zv925hd6723/
          content/
            preview.jpg
            index_map.json
            layer-iso19110.xml
            layer-iso19139.xml
            layer-fgdc.xml
            layer.shp.xml

Note that content/index_map.json is optional.

Reset Process (for QA/Stage)

Requirements

None 🙂

Steps

  1. Delete all content under the directories pointed to by the following shared_configs settings for the given env (note: double-check the actual settings values, the examples are valid for stage and QA as of Aug 2023):
    • Settings.geohydra.stage (e.g. '/var/geomdtk/current/stage')
    • Settings.geohydra.workspace (e.g. '/var/geomdtk/current/workspace')
    • Settings.geohydra.tmpdir (e.g. '/var/geomdtk/current/tmp')
    • Settings.geohydra.geotiff.dir (e.g. '/var/geoserver/local/raster/geotiff')
    • Settings.geohydra.opengeometadata.dir (e.g. '/var/geomdtk/current/export/opengeometadata/edu.stanford.purl')

Done.