12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182 |
- #!/usr/bin/env python
- # -*- coding: utf-8 -*-
- ############################################################################
- #
- # MODULE: t.vect.algebra
- # AUTHOR(S): Thomas Leppelt, Soeren Gebbert
- #
- # PURPOSE: Provide temporal vector algebra to perform spatial and temporal operations
- # for space time datasets by topological relationships to other space time
- # datasets.
- # COPYRIGHT: (C) 2014-2017 by the GRASS Development Team
- #
- # This program is free software; you can redistribute it and/or modify
- # it under the terms of the GNU General Public License as published by
- # the Free Software Foundation; either version 2 of the License, or
- # (at your option) any later version.
- #
- # This program is distributed in the hope that it will be useful,
- # but WITHOUT ANY WARRANTY; without even the implied warranty of
- # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- # GNU General Public License for more details.
- #
- #############################################################################
- #%module
- #% description: Apply temporal and spatial operations on space time vector datasets using temporal vector algebra.
- #% keyword: temporal
- #% keyword: algebra
- #% keyword: vector
- #% keyword: time
- #%end
- #%option
- #% key: expression
- #% type: string
- #% description: Spatio-temporal mapcalc expression
- #% key_desc: expression
- #% required : yes
- #%end
- #%option
- #% key: basename
- #% type: string
- #% label: Basename of the new generated output maps
- #% description: A numerical suffix separated by an underscore will be attached to create a unique identifier
- #% key_desc: basename
- #% required : yes
- #%end
- #%flag
- #% key: s
- #% description: Check the spatial topology of temporally related maps and process only spatially related maps
- #%end
- import grass.script
- import sys
- def main():
- # lazy imports
- import grass.temporal as tgis
- expression = options['expression']
- basename = options['basename']
- spatial = flags["s"]
- stdstype = "stvds"
- # Check for PLY istallation
- try:
- import ply.lex as lex
- import ply.yacc as yacc
- except:
- grass.script.fatal(_("Please install PLY (Lex and Yacc Python implementation) to use the temporal algebra modules."))
- tgis.init(True)
- p = tgis.TemporalVectorAlgebraParser(run = True, debug=False, spatial = spatial)
- p.parse(expression, basename, grass.script.overwrite())
- if __name__ == "__main__":
- options, flags = grass.script.parser()
- sys.exit(main())
|