The document discusses options for implementing a free and open-source (FOSS) geoportal using different software. It describes spatial data infrastructure (SDI) and components of a geoportal like geospatial servers, metadata catalogs, and clients. Popular FOSS options are presented for each component, including GeoServer, GeoNetwork, GeoNode, and others. The document compares the pros and cons of using GeoNetwork and GeoNode specifically. It also provides examples of implementing FOSS geoportals for different projects and customizing them.
1. Ispra, 28th February 2019 | FOSS Geoportal implementation in MESA | Luca Battistella
FOSS Geoportal
implementation in MESA
Luca Battistella, Joint Research Center
2. Ispra, 28th February 2019 | FOSS Geoportal implementation in MESA | Luca Battistella
Spatial Data Infrastructure (SDI)
The SDI is a set of technologies, policies and
institutional arrangement that facilitate
availability and access to spatial data. The SDI
also provides a basis for spatial data discovery,
evaluation, data sharing and application for
users and providers.
Nebert, D. (2004). SDI cookbook. (http://gsdi.org/gsdi/docks2014/cookbook/cookbook02.pdf)
3. Ispra, 28th February 2019 | FOSS Geoportal implementation in MESA | Luca Battistella
Sources
Data storage
Analysis & Models
DATA
GeoSpatial server
Metadata server
Server cache
SERVER
Catalog
Map viewer
Web GIS Tools
CLIENT
Spatial Data Infrastructure (SDI)
4. Ispra, 28th February 2019 | FOSS Geoportal implementation in MESA | Luca Battistella
Sources
Data storage
Analysis & Models
DATA
GeoSpatial server
Metadata server
Server cache
SERVER
Catalog
Map viewer
Web GIS Tools
CLIENT
Geoportal
5. Ispra, 28th February 2019 | FOSS Geoportal implementation in MESA | Luca Battistella
Sources
Data storage
Analysis & Models
DATA
GeoSpatial server
Metadata server
Server cache
SERVER
Catalog
Map viewer
Web GIS Tools
CLIENT
Geocatalog
6. Ispra, 28th February 2019 | FOSS Geoportal implementation in MESA | Luca Battistella
ONE STOP SHOP
OR
A BAZAR?
7. Ispra, 28th February 2019 | FOSS Geoportal implementation in MESA | Luca Battistella
Server
MapServer – Web mapping engine for publishing spatial data and services on the web written in C.
Geomajas – Development software for web-based and cloud based GIS applications.
GeoServer – Allows users to share and edit geospatial data. Written in Java using GeoTools.
Deegree – Java software for spatial data infrastructures and the geospatial web.
Client
GeoMoose – JavaScript Framework for displaying distributed GIS data.
Mapbender – Framework to display, overlay, edit and manage distributed Web Map Services .
MapGuide – Platform for developing and deploying web mapping applications and geospatial web services.
MapFish – Framework for building rich web-mapping applications.
Metadata Catalog
GeoNetwork - Catalog application to manage spatially referenced resources written in Java.
Pycsw - Lightweight metadata publishing and discovery using Python.
GeoNode - GeoNode is a platform for the management and publication of geospatial data and metadata.
Esri Geoportal Server - product that enables discovery and use of geospatial resources.
8. Ispra, 28th February 2019 | FOSS Geoportal implementation in MESA | Luca Battistella
Geospatial Server
9. Ispra, 28th February 2019 | FOSS Geoportal implementation in MESA | Luca Battistella
MapCache
Geospatial services
Geospatial caches
10. Ispra, 28th February 2019 | FOSS Geoportal implementation in MESA | Luca Battistella
XML STORE
WORKSPACE
LAYER
GeoServer is an open source server for sharing geospatial data.
layer.xml
coverage.xml or
featuretype.xml
datastore.xml
12. Ispra, 28th February 2019 | FOSS Geoportal implementation in MESA | Luca Battistella
ImageMosaic plugin for raster with time
http://localhost:8080/geoserver/myworkspace/wms?service=WMS&version=1.1.0&request=GetMap&layers=myworkspace:m
ylayer&styles=&bbox=-265.78125,-128.67188,266.48438,130.78125&width=768&height=374&srs=EPSG:4326&format=applica
tion/openlayers&TIME=2018-01-08T09:40:00Z/2018-01-08T09:46:00Z
Caching=false
TimeAttribute=ingestion
Schema=*the_geom:Polygon,location:String,ingestion:java.util.Date,elevation
:Double
PropertyCollectors=TimestampFileNameExtractorSPI[timeregex](ingestion),Doub
leFileNameExtractorSPI[elevationregex](elevation)
indexer.properties:
20130310T180000000Z
timeregex.properties
Managing time series data
13. Ispra, 28th February 2019 | FOSS Geoportal implementation in MESA | Luca Battistella
XML
STORE
WORKSPACE
LAYER
https://docs.python.org/2/library/subprocess.html
https://docs.geoserver.org/stable/en/user/rest/imagemosaic.html
import subprocess
# ...
subprocess.call(["curl ..." , shell=True)
REST
Programmatic upload
14. Ispra, 28th February 2019 | FOSS Geoportal implementation in MESA | Luca Battistella
Catalog services
15. Ispra, 28th February 2019 | FOSS Geoportal implementation in MESA | Luca Battistella
GeoNetwork is a catalog application to manage spatially referenced resources.
16. Ispra, 28th February 2019 | FOSS Geoportal implementation in MESA | Luca Battistella
In order to use the harvesting module of geonetwork in a proper way it’s strongly suggested
to install the Catalog Services for the Web (CSW) plugin on GeoServer that allows the
retrieval of all the available information of each layer on the system and perform queries:
Request all layers:
http://localhost:8080/geoserver/csw?service=CSW&version=2.0.2&request=GetRecords&typeNames=gmd:MD_Metadata&res
ultType=results&elementSetName=full&outputSchema=http://www.isotc211.org/2005/gmd
Request a particular layer by ID…:
http://localhost:8080/geoserver/csw?service=CSW&version=2.0.2&request=GetRecordById&elementsetname=summary&id
=CoverageInfoImpl--4a9eec43:132d48aac79:-8000&typeNames=gmd:MD_Metadata&resultType=results&elementSetNam
e=full&outputSchema=http://www.isotc211.org/2005/gmd
…or use a filter to retrieve it by Title:
http://localhost:8080/geoserver/csw?service=CSW&version=2.0.2&request=GetRecords&typeNames=gmd:MD_Metadata&re
sultType=results&elementSetName=full&outputSchema=http://www.isotc211.org/2005/gmd&constraint=Title=%27mosaic%
27
Harvesting data from GeoServer
17. Ispra, 28th February 2019 | FOSS Geoportal implementation in MESA | Luca Battistella
Admin console - Harvesting - Catalogue Services for the Web ISO Profile 2.0
Request all layers:
http://localhost:8080/geoserver/csw?service=CSW&version=2.0.2&request=GetRecords&typeNames=gmd:MD_Metadata&resultT
ype=results&elementSetName=full&outputSchema=http://www.isotc211.org/2005/gmd
Harvesting data from GeoServer
18. Ispra, 28th February 2019 | FOSS Geoportal implementation in MESA | Luca Battistella
Pros in using GeoNetwork:
● It can handle many different types of metadata standards.
● Easy to install, setup and customize.
● It can easily handle time series metadata.
Cons in using GeoNetwork:
● It is a geocatalog and not a geoportal.
● Not possible to upload geospatial data through the interface.
● Not possible to create, customise and export maps.
Pros & Cons
19. Ispra, 28th February 2019 | FOSS Geoportal implementation in MESA | Luca Battistella
HOW CAN WE GUARANTEE
THERE IS DATA BEHIND
METADATA?
2009 - Stuart Gill, The World Bank
20. Ispra, 28th February 2019 | FOSS Geoportal implementation in MESA | Luca Battistella
GeoNode is a platform for the management and publication of geospatial data and metadata.
21. Ispra, 28th February 2019 | FOSS Geoportal implementation in MESA | Luca Battistella
Raster / Vector upload
22. Ispra, 28th February 2019 | FOSS Geoportal implementation in MESA | Luca Battistella
Styling
23. Ispra, 28th February 2019 | FOSS Geoportal implementation in MESA | Luca Battistella
Features Editing
24. Ispra, 28th February 2019 | FOSS Geoportal implementation in MESA | Luca Battistella
Users and Groups management
25. Ispra, 28th February 2019 | FOSS Geoportal implementation in MESA | Luca Battistella
Metadata
26. Ispra, 28th February 2019 | FOSS Geoportal implementation in MESA | Luca Battistella
Data Harvesting
27. Ispra, 28th February 2019 | FOSS Geoportal implementation in MESA | Luca Battistella
Django Admin panel
One GeoNode / Many GeoNodes
BIOPAMA & ESP
28. Ispra, 28th February 2019 | FOSS Geoportal implementation in MESA | Luca Battistella
BIOPAMA
29. Ispra, 28th February 2019 | FOSS Geoportal implementation in MESA | Luca Battistella
Django Admin panel
BIOPAMA
30. Ispra, 28th February 2019 | FOSS Geoportal implementation in MESA | Luca Battistella
Metadata Custom Categories
BIOPAMA
31. Ispra, 28th February 2019 | FOSS Geoportal implementation in MESA | Luca Battistella
Custom metadata fields and search functionality
ESP
32. Ispra, 28th February 2019 | FOSS Geoportal implementation in MESA | Luca Battistella
Pros in using GeoNode:
● Uploading geospatial data through a user friendly interface both Raster and Vector.
● Style data on the fly .
● Creating custom maps using the layers available on the system.
● Performing queries on the fly over the layers.
Cons in using GeoNode:
● More work is required in the installation/configuration process.
● Programming skills are required to implement additional functionalities.
● Upgrading to a new version might be quite tricky.
Pros & Cons
33. Ispra, 28th February 2019 | FOSS Geoportal implementation in MESA | Luca Battistella
Alternatives
Esri Geoportal Server | github.com/Esri/geoportal-server/wiki
Ckan | ckan.org
Deegree | deegree.org
Mapbender | mapbender.org
34. Ispra, 28th February 2019 | FOSS Geoportal implementation in MESA | Luca Battistella
Do you have questions?