wiki:GSoC/2015/ImprovedMetadata

GSoC 2015 Improved metadata for GRASS GIS

Title: Improved Metadata for GRASS GIS
Student Name: Matej Krejci, Czech Technical University in Prague
Organization: OSGeo - Open Source Geospatial Foundation
Mentor Name: Martin Landa, Angelos Tzotsos, Luca Delucchi
GSoC proposal: view proposal
Link to code: tmp dir
Documentation: https://grasswiki.osgeo.org/wiki/ISO/INSPIRE_Metadata_Support

Abstract

Current GRASS GIS offers ISO-based Metadata support. This package includes three modules designed to generate, create and edit metadata. The goal of this work consist of two main parts. First aim is to improve current package by adding a few functionality for extend metadata handling. The second goal is to implement module for interaction with metadata catalogue services (CSW). Additional benefit of this part allows access of metadata between GRASS GIS and QGIS Meta_Search plugin.

Timeline

timeline from proposal
status
MAY 25 Starting GoSC*
MAY 25 - 29 Implementing support for exporting metadata (report) to PDF*
JUN 1 - 5 Adding an option for fetching predefined metadata values from database*
JUN 8 - 12 Adding metadata support for Temporal GIS*
JUN 15 - 19 Testing, debugging g.gui.metadata*
JUN 22 - 30 Getting more familiar with pycsw and owslib python library*
JUN 30 - 6 Designing csw module (g.gui.metadatacsw) *
Mid term evaluation *
JULY 6 - 10 Implementing manager for connection to service (service info, “getCapabilities” response, add/delete service, edit service)*
JULY 13 - 17 Adding support for publishing metadata to csw*
JULY 20 - 24 Design and implementation module for establishing csw on localhost PC (pycsw)*
JULY 27 - 31 Design and implementation of catalogue browser based on filtering by bounding box and keywords*
AUGUST 3 - 7 Adding interface for connecting r.in.wms, v.in.wfs with g.gui.metadatacsw*
AUGUST 10 - 14 Implementing function for metadata management on local csw (removing, harvesting from remote csw )*
AUGUST 17 - 23 Testing, polishing code and writing documentation
AUGUST 24 Ending GoSC

timeline from mid term
status
JULY 6 - 10 Implementing manager for connection to service (service info, “getCapabilities” response, add/delete service, edit service)*
JULY 13 - 17 Design and implementation of catalogue browser based on filtering by bounding box and keywords*
JULY 20 - 24 Adding interface for connecting r.in.wms, v.in.wfs with g.gui.metadatacsw*
JULY 27 - 31 Design and implementation module for establishing csw on localhost PC (pycsw)*
AUGUST 3 - 7 Adding support for publishing metadata to csw in g.gui.metadata*
AUGUST 10 - 14 Implementing function for metadata management on local csw (removing, harvesting from remote csw )*
AUGUST 17 - 23 Testing, polishing code and writing documentation
AUGUST 24 Ending GoSC

Requirements

GRASS 7.1

Dependencies

Current development of wx.metadata package has dependence on external libraries:

  • OWSLib (no additional dependence) development version ()
    git clone git://github.com/geopython/OWSLib.git
    cd OWSLib && sudo python setup.py install
    
  • Jinja templates
    git clone git://github.com/mitsuhiko/jinja2.git
    cd jinja2 && sudo python setup.py install
    

Development

Pdf reports

used library: reportlab.platypus

Weekly reports

Week 1 (May 30)

  • Designed and implemented support of creating pdf reports of metadata.
  • Fixed some defects in metadata editor which arose from changes in GRASS core.

changeset

video

report email

Week 2 (June 8)

  • Added widget which supports fetching metadata thesauri from database
    • Added few metadata thesauri to database
  • Added widgets for atrributes with explicit values

changeset

report email

Week 3-4 (June 14-21)

Due to exam block at university I worked less than I proposed in timeline.

  • Try to get familiar with ISO 19108
  • Designed ISO profile for temporal framework.
  • Added support of temporal metadata to g.gui.metadata module.

changeset

report email report email

Week 5-6 (June 21-July 6)

  • Started with implementation of g.gui.metacsw module
    • Added panel for managing connection to service:
      • reading default xml file with predefined connection which is compatible with Meta_Search from QGIS,
      • showing basic inforamtion about service
      • managing services
        • adding new
        • removing
        • loading list of connection from xml file
  • User can manage connection in two ways:
    • First one is with using hidden storage provided by wx.Config. This way is without accesing default connection list.
    • After prompt user also can add/remove connection from default .xml file file

report email report email

Week 7 (July 6-12)

  • Added panel for browsing through catalog. Templates for view of service/dataset metadata used from Metasearch plugin
    • Keywords filtering
      • basic multiple keywords filtering (&& condition)
      • advanced constraints filtering based on boolean operations
        • OR
        • AND
        • combination
    • bounding box filtering
      • global by default
      • from map extent

Week 8 (July 13-19)

report email

Week 9 (July 19-27)

  • Implemented command line based module(db.csw) for handling csw server on localhost. current functions :
    • setup db(prepare tables,indexes)
    • load metadata
    • delete records
    • optimize db
    • export records
    • executing csw requests from xml
    • function for automatic setup server and establishing catalog in default GRASS database backend

report email

Week 10 (July 27-31)

report email

Week 11 (August 3-7)

report email

TODO&IDEAS

Last modified 2 years ago Last modified on Aug 19, 2015 11:27:45 PM

Attachments (5)

Download all attachments as: .zip