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
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.
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
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.
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
- Added panel for managing connection to service:
- 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
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
- Keywords filtering
Week 8 (July 13-19)
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
Week 10 (July 27-31)
Week 11 (August 3-7)
TODO&IDEAS
Attachments (5)
- pdfexp.png (24.0 KB ) - added by 9 years ago.
- keywords.png (38.3 KB ) - added by 9 years ago.
- connectionMgr.png (115.5 KB ) - added by 9 years ago.
- find1.png (131.3 KB ) - added by 9 years ago.
- find2.png (19.2 KB ) - added by 9 years ago.
Download all attachments as: .zip