1 of 55

GeoNetwork Orientation

Finding your way with GeoNetwork

Jody Garnett

June 2020

Author:

Date:

2 of 55

Spatial Data publication and discovery following the free and open source source software philosophy.

We are a Software Development Company based in Bennekom, with developers in the Netherlands, Spain and Canada.

3 of 55

Bennekom

© ronald verwijs

4 of 55

Jody Garnett

Technical Director, GeoCat BV

jody.garnett@geocat.net

@jodygarnett

Open Source Projects

GeoServer, GeoTools, JTS, uDig

Open Source Geospatial Foundation

Incubation Committee Chair

GeoTools Project Officer

Marketing Committee Chair

Eclipse Foundation

LocationTech Technology Project Chair

5 of 55

I am new to GeoNetwork

This is the presentation I wanted to read!

  • How do I make it go :)
  • What does GeoNetwork actually do?
  • Who is GeoNetwork for?
  • What do they do with GeoNetwork?

6 of 55

I am new to GeoNetwork

This is the presentation I wanted to read!

  • How do I make it go :)
  • What does GeoNetwork actually do?
  • Who is GeoNetwork for?
  • What do they do with GeoNetwork?

As an open-source technologist:

  • Who makes this thing, what is the community like?
  • What kind of quality or maturity are we looking at?
  • What makes GeoNetwork go, what is it’s super-power?

7 of 55

GeoNetwork

First impressions

8 of 55

geonetwork-opensource.org

“Open source” in the title?

Vendor-neutral foundation!

9 of 55

Logo: Zen and the art of metadata

Metadata monk enjoying the “zen” of contemplating data

Letters “GN”�(look sideways)

Wrapping the Globe

10 of 55

Trying it out

Part I - Installation and setup

11 of 55

Official Distributions

User-guide “Quickstart” assumes we have GeoNetwork installed already!

Before you start:

  • Java web-application
  • OpenJDK 8
    • Use the one from your Linux distribution
    • Or use adoptopenjdk.net for Linux and macOS
    • Java 11 not supported yet!

Distributions:

  • Installer
  • WAR
  • Source-code
  • Docker

Maintenance guide has many more details.

12 of 55

Official Distributions: Java Installer

  1. Download geonetwork-install-3.10.0-0.jar, double-click to run, or:�java -jar geonetwork-install-3.10.0-0.jar
  2. I ended up running on the terminal:�cd /Applications/geonetwork/bin�./start.sh

13 of 55

Official Distributions: Web Application

Bring-your-own application server:

  1. Download geonetwork.war
  2. Install in your application server
    1. The examples assume Tomcat

14 of 55

Official Distribution: Source-code

Building from source:

  1. Checkout�git clone --recursive https://github.com/geonetwork/core-geonetwork.git
  2. Build:cd core-geonetwork�mvn install -DskipTests
  3. Run:�cd web�mvn jetty:run -Penv-dev

15 of 55

Official Distributions: Docker

Running docker:

  1. Visit hub.docker.com/_/geonetwork
  2. Run, being sure to map port 8080:�docker run --name netnetwork -d -p 8080:8080 geonetwork

16 of 55

Setup

Starting with localhost:8080/geonetwork

Quickstart tour:

  1. Sign-in
  2. Admin console
  3. Load samples
  4. Search
  5. View record
  6. Map

17 of 55

Setup: Sign-in

Sign in as “admin”..

Quickstart tour:

  • Sign-in
  • Admin console
  • Load samples
  • Search
  • View record
  • Map

18 of 55

Setup: Settings

Admin console → Settings

  • Rename catalog and fill in some details

Quickstart tour:

  • Sign-in
  • Admin console
  • Load samples
  • Search
  • View record
  • Map

19 of 55

Tour: Load samples

Quickstart tour:

  • Sign-in
  • Admin console
  • Load samples
  • Search
  • View record
  • Map

Admin console → Metadata and templates

  • Load samples for selected standards

20 of 55

Trying it out

Part II - GeoNetwork for Visitors

21 of 55

geonetwork-opensource.org

Search�for spatial records

Also a map portal

22 of 55

Quick-search by topics or resource type

Quickstart tour:

  • Sign-in
  • Admin console
  • Load samples
  • Search
  • View record
  • Map

We can now try out the application

  • Use topic or resource facets

23 of 55

General search using Text

Quickstart tour:

  • Sign-in
  • Admin console
  • Load samples
  • Search
  • View record
  • Map

We can now try out the application:

  • Use text search

24 of 55

View a record

Quickstart tour:

  • Sign-in
  • Admin console
  • Load samples
  • Search
  • View record
  • Map

Viewing an individual record

25 of 55

Record downloads

Quickstart tour:

  • Sign-in
  • Admin console
  • Load samples
  • Search
  • View record
  • Map

Records contain lots of detail:

  • Extent, source of data, download link

26 of 55

Review data with “Add to map”

Quickstart tour:

  1. Sign-in
  2. Admin console
  3. Load samples
  4. Search
  5. View record
  6. Map

From record, we can “Add to Map”

  • Opens a map to review external data

27 of 55

Use a map to mix and match content

Quickstart tour:

  1. Sign-in
  2. Admin console
  3. Load samples
  4. Search
  5. View record
  6. Map

Map lets us explore more content

  • Search the catalog, upload KML

28 of 55

Manage and download maps

Quickstart tour:

  1. Sign-in
  2. Admin console
  3. Load samples
  4. Search
  5. View record
  6. Map

Download map when done!

29 of 55

GeoNetwork is a Catalog

GeoNetwork is built up as a catalog

  • Manages thousands of records
  • Visitors search and browse content
    • Some content is stored in the catalog
    • Some content is provided by external documents or web services

GeoNetwork as a map portal

  • Maps can be used to visualize spatial data

30 of 55

Managing your Records

31 of 55

geonetwork-opensource.org

Editing and publishing records

A bunch of standards

Data and documents

32 of 55

geonetwork-opensource.org

“Harvest” from other catalogs

System and security config

Figure out what is used

33 of 55

It is 6am do you know where your data is?

Helps your team

  • Find out what information is available in your organization?
    • Do you have shared directories of shapefiles of dubious lineage?
    • Get a handle on duplicate information
  • Perhaps you have a obligation to share information with the public
    • Open data is happy data .. but can anyone find it?
    • For example government directive?

34 of 55

Do you know where your map came from?

Helps your team:

  • Keep track of the information used within the organization
    • Information you generate and are responsible for
    • Information you have purchased or maintained
    • Information you publish to share with other parties
  • Do you trust your map?
    • Who collected the data?
    • What was the data collected for? How recently was it collected?
    • Has it been processed along the way?
    • Was it hand edited with a sharpie?

35 of 55

Preflight: Load templates

  1. default templates

Admin console → Metadata and templates

  • Load templates and samples for all

36 of 55

Creating a record

Contribute → Add new record

  1. default templates
  2. Add new record

37 of 55

Creating a record

Template for Raster data in ISO19139

  • default templates
  • Add new record
  • Raster ISO19139

38 of 55

Creating a record

Fill in details!

  • default templates
  • Add new record
  • Raster ISO19139
  • Fill in details!

39 of 55

Harvest from a Web Service

  1. Harvest from WMS
  2. Run once

40 of 55

Harvest from a Web Service

  • Harvest from WMS
  • Run once
  • Harvest Results

41 of 55

Harvest from a Web Service

  • Harvest from WMS
  • Run once
  • Harvest Results
  • Review Record

42 of 55

Technical Approach

How does it work?

43 of 55

geonetwork-opensource.org

Developer Friendly

Open all the things!

Extend and customize

44 of 55

data directory

GeoNetwork 3 Baseline

Angular

Bootstrap

Spring

metadata profile

ISO 19139:2007

Dublin Core

Administration

Editor

Search

web services

CSW

REST

MapViewer

OpenLayers

workflow

Publication

harvesting

export

ZIP

CSV

Classificiaton

Users and Groups

Schema

database

H2

application server

Jetty

Templates

Lucene

Lucene Index

Spatial Index

Attachments

Thumbnails

Elasticsearch

Postgres

QSearch

RDF

ISO 19115:2018

Folder

CSW

OAI PMH

OGC:W*S

ArcSDE

Oracle

Saxon

45 of 55

Technology Takeaways

Strong architecture boundaries:

  • Ability to swap out databases�(example: PostGIS)
  • Ability to swap data directory�(example: S3 buckets)

Well structured java application

  • Clear architecture boundaries
  • popular spring framework

Can see evidence of maturity

  • Investment in the codebase
  • LuceneElasticsearch

46 of 55

Heavy use of XML technologies

  • “As expected” for validation
    • XML Schema Definition to define structure for each standard
    • Schematron rules used to capture interactions between document elements
  • Plug-ins for each standard
    • Metadata 101” repo for the XSD�(attempt to be vendor-neutral)

<!-- Title is truncated if longer than maxLength. -->

<xsl:variable name="maxLength" select="'40'"/>

<xsl:variable name="ltitle">

<xsl:call-template name="escapeString">

<xsl:with-param name="expr">

<xsl:choose>

<xsl:when test="string-length($metadata/title) &gt; $maxLength">

<xsl:value-of

select=

"concat(substring(normalize-space($metadata/title), 1, $maxLength), ' ...')"

/>

</xsl:when>

<xsl:otherwise>

<xsl:value-of select="normalize-space($metadata/title)"/>

</xsl:otherwise>

</xsl:choose>

</xsl:with-param>

</xsl:call-template>

</xsl:variable>

metadata-utils.xsl

47 of 55

Expert use of XML technologies

  • “Oh wow you went there”
    • XSLT is used to process�documents into other forms
  • Typical use
    • Process a record into HTML page
    • Process a record into a PDF
  • Unexpectedly cool use
    • Dynamically make the HTML editor!

XML that makes XML is the happiest XML

48 of 55

Who makes it

49 of 55

geonetwork-opensource.org

More than a license

Good to see multiple vendors

Organization based

50 of 55

GeoNetwork in the Wild

51 of 55

Canadian Government

Multilingual user interface

They added a shopping cart for data!

Actions!

52 of 55

data directory

FGP Data Catalog

Angular

Bootstrap

Spring

metadata profile

HNAP

Administration

Editor

Search

web services

CSW

REST

MapViewer

OpenLayers

workflow

ECC Metadata Workflow

harvesting

export

ZIP

CSV

Classificiaton

Users and Groups

HNAP Schema

database

PostgreSQL

application server

Tomcat

Templates

Lucene

Lucene Index

Spatial Index

Attachments

Thumbnails

Elasticsearch

Elasticsearch

data access

jndi default

Web Experience Toolkit

Page Layout Hooks

ECC Workflow

ECC Workflow

JNDI

Header

Menus

web server

Apache

RAMP Viewer

registration

RCS Services

Map Cart

DOI

53 of 55

Dutch Government

“GeoCat Live”

54 of 55

United Nations

The original geonetwork!

QED: “geonetwork-opensource”,�open source is a feature!

55 of 55

Thank you!