/*! \page pythonlib GRASS Python Scripting Library by GRASS Development Team (http://grass.osgeo.org) \section pythonIntro Introduction The code in lib/python/ provides grass.script in order to support GRASS scripts written in Python. The scripts/ directory of GRASS 7 contains a series of examples actually provided to the end users. See code in: - python::core - python::db - python::raster - python::vector - python::setup - python::array Table of content - \subpage pythonScripting - \subpage pythonModules - \subpage pythonCore - \subpage pythonDb - \subpage pythonRaster - \subpage pythonVector - \subpage pythonSetup - \subpage pythonArray \section pythonScripting GRASS scripting tasks for Python provided by "grass.script" The statement \code import grass.script as grass \endcode imports core.py, db.py, raster.py and vector.py modules. To import only selected module \code from grass.script import core as grass \endcode Sample script (See the GRASS Wiki at http://grass.osgeo.org/wiki/GRASS_and_Python for more examples) \code #!/usr/bin/env python #%module #% description: Checks if vector map is 3D #% keywords: vector #%end #%option #% key: map #% type: string #% gisprompt: old,vector,vector #% key_desc: name #% description: Name of vector map #% required: yes #%end import sys import grass.script as grass def main(): info = grass.parse_command('v.info', flags = 't', map = options['map']) if info['map3d'] == '1': print 'Vector map is 3D' else: print 'Vector map is 2D' return 0 if __name__ == "__main__": options, flags = grass.parser() sys.exit(main()) \endcode \section pythonModules List of modules \subsection pythonCore Core GRASS-oriented interface to subprocess module - python::core::exec_command() - python::core::feed_command() - python::core::make_command() - python::core::parse_command() - python::core::pipe_command() - python::core::read_command() - python::core::run_command() - python::core::start_command() - python::core::write_command() Interface to g.message These all run g.message, differing only in which flag (if any) is used. fatal() is error(), but also calls sys.exit(1). - python::core::debug() - python::core::error() - python::core::fatal() - python::core::info() - python::core::message() - python::core::verbose() - python::core::warning() Interface to g.parser Interface to g.parser, intended to be run from the top-level, e.g. \code if __name__ == "__main__": options, flags = grass.parser() main() \endcode - python::core::parser() Interface to g.tempfile Returns the name of a temporary file, created with g.tempfile. - python::core::tempfile() Key-value parsers - python::core::parse_key_val() Interface to g.gisenv - python::core::gisenv() Interface to g.region - python::core::del_temp_region() - python::core::region() - python::core::region_env() - python::core::use_temp_region() Interface to g.findfile - python::core::find_file() Interface to g.list - python::core::list_grouped() - python::core::list_pairs() - python::core::list_strings() - python::core::mlist_grouped() Interface to g.mapsets - python::core::mapsets() Interface to g.version - python::core::version() Color parsing - python::core::parse_color() Check GRASS environment variables - python::core::overwrite() - python::core::verbosity() Create new GRASS location - python::core::create_location() Various utilities, not specific to GRASS - python::core::basename() - python::core::find_program() - python::core::try_remove() - python::core::try_rmdir() - python::core::float_or_dms() \section pythonDb Database Interface for db.* modules. \code from grass.script import db as grass \endcode - python::db::db_connection() - python::db::db_describe() - python::db::db_select() \section pythonRaster Raster Interface for r.* modules. \code from grass.script import raster as grass \endcode - python::raster::raster_history() - python::raster::raster_info() - python::raster::mapcalc() \section pythonVector Vector Interface for v.* modules. \code from grass.script import vector as grass \endcode - python::vector::vector_columns() - python::vector::vector_db() - python::vector::vector_db_select() - python::vector::vector_history() - python::vector::vector_info_topo() - python::vector::vector_layer_db() \section pythonSetup Setup \code from grass.script import setup as gsetup \endcode - python::setup::init() \section pythonArray Array \code from grass.script import array as garray \endcode - python::array::array \section pythonAuthors Authors Glynn Clements Martin Landa */