Hi,
I would like to discuss the metadata management in GRASS which is my topic for GSOC.
My idea for GSOC term is to Python library, command line modules and wxGUI front-end.
The current plan has two parts, however the second one is optional.
Main task is to make Python library that can create, read and edit XML (ISO standard). I think it is necessary to implement standards externally. In this case it is useful to use XSD (xml template) to generate the valid XML. There is an option to use generateDS[1] to generates Python code with classes representing XSD structure. Also the generateDS can fill XSD and then export it to XML.
In this case the module will read raster and vector metadata from current GRASS flat files. In the future(GRASS 8 development) a new C lib can be created. It would enable to fill in fundamental XML with values from GRASS(v, r, r3d) and other values by “default values” that can be replaced by this module. This C library will be just for fill in basic XML and any control (edit,read,etc) will be provide by Python module (GSOC). What you think about generateDS?
If theres some time left in GSOC term or after I would like to implement a server-client management of metadata using pycsw [3](server side) and owslib[3] in client side. Demonstration of functions that provide this solution is i.e. in QGIS plugin (Meta Search). I wanted to use this suggestion at first, but there are quite heavy dependences on others packages. In addition there is no any package for debian… So this solution will be for a user who really want to work with metadata but not fundamental ones.
[1]http://www.rexx.com/~dkuhlman/generateDS.html
[2]http://pycsw.org/
[3]http://geopython.github.io/OWSLib/
With option 1) , would the tool also operate on externally linked datasets ( via v.external and r.external) ?
Doug
···
On Wed, May 14, 2014 at 4:06 PM, Matej Krejci <matejkrejci@gmail.com> wrote:
Hi,
I would like to discuss the metadata management in GRASS which is my topic for GSOC.
My idea for GSOC term is to Python library, command line modules and wxGUI front-end.
The current plan has two parts, however the second one is optional.
Main task is to make Python library that can create, read and edit XML (ISO standard). I think it is necessary to implement standards externally. In this case it is useful to use XSD (xml template) to generate the valid XML. There is an option to use generateDS[1] to generates Python code with classes representing XSD structure. Also the generateDS can fill XSD and then export it to XML.
In this case the module will read raster and vector metadata from current GRASS flat files. In the future(GRASS 8 development) a new C lib can be created. It would enable to fill in fundamental XML with values from GRASS(v, r, r3d) and other values by “default values” that can be replaced by this module. This C library will be just for fill in basic XML and any control (edit,read,etc) will be provide by Python module (GSOC). What you think about generateDS?
If theres some time left in GSOC term or after I would like to implement a server-client management of metadata using pycsw [3](server side) and owslib[3] in client side. Demonstration of functions that provide this solution is i.e. in QGIS plugin (Meta Search). I wanted to use this suggestion at first, but there are quite heavy dependences on others packages. In addition there is no any package for debian… So this solution will be for a user who really want to work with metadata but not fundamental ones.
[1]http://www.rexx.com/~dkuhlman/generateDS.html
[2]http://pycsw.org/
[3]http://geopython.github.io/OWSLib/
grass-dev mailing list
grass-dev@lists.osgeo.org
http://lists.osgeo.org/mailman/listinfo/grass-dev
–
Doug Newcomb
USFWS
Raleigh, NC
919-856-4520 ext. 14 doug_newcomb@fws.gov
The opinions I express are my own and are not representative of the official policy of the U.S.Fish and Wildlife Service or Dept. of the Interior. Life is too short for undocumented, proprietary data formats.
On 14/05/14 22:06, Matej Krejci wrote:
Hi,
I would like to discuss the metadata management in GRASS which is my
topic for GSOC.
My idea for GSOC term is to Python library, command line modules and
wxGUI front-end.
The current plan has two parts, however the second one is optional.
1)
Main task is to make Python library that can create, read and edit XML
(ISO standard). I think it is necessary to implement standards
externally.
Are there no existing implementations in Python for reading/writing metadata ? Can't you reuse those parts of pycsw that deal with that ?
Moritz
Hi,
2014-05-15 10:53 GMT+02:00 Moritz Lennert <mlennert@club.worldonline.be>:
[...]
Are there no existing implementations in Python for reading/writing metadata
? Can't you reuse those parts of pycsw that deal with that ?
cited from original mail
2)
If theres some time left in GSOC term or after I would like to
implement a server-client management of metadata using pycsw
[3](server side) and owslib[3] in client side. Demonstration of
functions that provide this solution is i.e. in QGIS plugin (Meta
Search). I wanted to use this suggestion at first, but there are
quite heavy dependences on others packages. In addition there is no
any package for debian... So this solution will be for a user who
really want to work with metadata but not fundamental ones.
Martin
--
Martin Landa * http://geo.fsv.cvut.cz/gwiki/Landa
On 15/05/14 11:23, Martin Landa wrote:
Hi,
2014-05-15 10:53 GMT+02:00 Moritz Lennert <mlennert@club.worldonline.be>:
[...]
Are there no existing implementations in Python for reading/writing metadata
? Can't you reuse those parts of pycsw that deal with that ?
cited from original mail
2)
If theres some time left in GSOC term or after I would like to
implement a server-client management of metadata using pycsw
[3](server side) and owslib[3] in client side. Demonstration of
functions that provide this solution is i.e. in QGIS plugin (Meta
Search). I wanted to use this suggestion at first, but there are
quite heavy dependences on others packages. In addition there is no
any package for debian... So this solution will be for a user who
really want to work with metadata but not fundamental ones.
Thank you Martin. I did read the original mail, but what I was wondering was whether it would be possible to extract from pycsw just the part for reading/writing the xml meta-data, without all the overhead linked to its status as a server.
More generally, I just think that we can't be the only ones working on metadata in a Python environment and that we maybe not have to reinvent the wheel.
Moritz
Hi,
2014-05-15 17:27 GMT+02:00 Moritz Lennert <mlennert@club.worldonline.be>:
Thank you Martin. I did read the original mail, but what I was wondering was
whether it would be possible to extract from pycsw just the part for
reading/writing the xml meta-data, without all the overhead linked to its
status as a server.
More generally, I just think that we can't be the only ones working on
metadata in a Python environment and that we maybe not have to reinvent the
wheel.
right, I misunderstood your paragraph. Your point make sense to me.
Martin
--
Martin Landa * http://geo.fsv.cvut.cz/gwiki/Landa
2014-05-14 22:54 GMT+02:00 Newcomb, Doug <doug_newcomb@fws.gov>:
With option 1) , would the tool also operate on externally linked datasets
( via v.external and r.external) ?
Doug
Hi,
I think that first task is to make creator and editor of XML metadata
standards.
Fill in these XML by values from maps is next step. I do not know at
current stage of project.
Matej
Hi,
2014-05-16 15:59 GMT+02:00 Matej Krejci <matejkrejci@gmail.com>:
With option 1) , would the tool also operate on externally linked datasets
( via v.external and r.external) ?
GRASS libraries currently manage metadata for maps created as links to
external formats (r.extrenal/v.external) in the same way as for maps
in native format. So basically there is no difference.
Martin
Hi,
I was wondering was whether it would be possible to extract from pycsw
just the part for reading/writing the xml meta-data, without all the
overhead linked to its status as a server.
More generally, I just think that we can't be the only ones working on
metadata in a Python environment and that we maybe not have to reinvent the
wheel.
I got news that OWSLib can be used for parse XML according ISO without
dependence on pycsw server. In addition I found that there is a pycsw
package in UbuntuGIS and also there is a plan to develop package for Debian
with the development should start probably after couple of months. OWSLib
have dependence only on lxml so this is not a barrier. If we use OWSLib for
first task, it could to ensure a smoother continuity to develop second
task- pywps.
Matej
I heard yesterday that EPA is releasing a new version of their metadata tool , doing away with the access database and writing everything to xml files. It’s being written in C#, but they plan on putting the source code on github. Not sure of the timeline.
Doug
···
On Sat, May 17, 2014 at 3:19 AM, Matej Krejci <matejkrejci@gmail.com> wrote:
grass-dev mailing list
grass-dev@lists.osgeo.org
http://lists.osgeo.org/mailman/listinfo/grass-dev
–
Doug Newcomb
USFWS
Raleigh, NC
919-856-4520 ext. 14 doug_newcomb@fws.gov
The opinions I express are my own and are not representative of the official policy of the U.S.Fish and Wildlife Service or Dept. of the Interior. Life is too short for undocumented, proprietary data formats.
Hi,
I was wondering was whether it would be possible to extract from pycsw just the part for reading/writing the xml meta-data, without all the overhead linked to its status as a server.
More generally, I just think that we can’t be the only ones working on metadata in a Python environment and that we maybe not have to reinvent the wheel.
I got news that OWSLib can be used for parse XML according ISO without dependence on pycsw server. In addition I found that there is a pycsw package in UbuntuGIS and also there is a plan to develop package for Debian with the development should start probably after couple of months. OWSLib have dependence only on lxml so this is not a barrier. If we use OWSLib for first task, it could to ensure a smoother continuity to develop second task- pywps.
Matej