pygrass.gis package¶
Submodules¶
pygrass.gis.region module¶
Created on Fri May 25 12:57:10 2012
@author: Pietro Zambelli
-
class
pygrass.gis.region.
Region
(default=False)[source]¶ Bases:
object
This class is design to easily access and modify GRASS computational region.
>>> r = Region() >>> r.north 40.0 >>> r.south 0.0 >>> r.east 40.0 >>> r.west 0.0 >>> r.cols 20 >>> r.rows 20 >>> r.nsres 2.0 >>> r.ewres 2.0 >>> r.north = 100 >>> r.east = 100 >>> r.adjust(rows=True, cols=True) >>> r.nsres 5.0 >>> r.ewres 5.0 >>> r.cols 20 >>> r.rows 20 >>> r.read() >>> r.north = 100 >>> r.east = 100 >>> r.adjust(rows=False, cols=True) >>> r.nsres 2.0 >>> r.ewres 5.0 >>> r.cols 20 >>> r.rows 50 >>> r.read() >>> r.north = 100 >>> r.east = 100 >>> r.adjust(rows=True, cols=False) >>> r.nsres 5.0 >>> r.ewres 2.0 >>> r.cols 50 >>> r.rows 20 >>> r.read() >>> r.north = 100 >>> r.east = 100 >>> r.adjust(rows=False, cols=False) >>> r.nsres 2.0 >>> r.ewres 2.0 >>> r.cols 50 >>> r.rows 50 >>> r.read() >>> r.cols = 1000 >>> r.ewres 0.04 >>> r.rows = 1000 >>> r.nsres 0.04
-
adjust
(rows=False, cols=False)[source]¶ Adjust rows and cols number according with the nsres and ewres resolutions. If rows or cols parameters are True, the adjust method update nsres and ewres according with the rows and cols numbers.
-
align
(raster_name)[source]¶ Adjust region cells to cleanly align with this raster map
Warning: This will change the user GRASS region settings
Parameters: raster_name (str) – the name of raster
-
bottom
¶ Set and obtain bottom value
-
cells
¶ Return the number of cells
-
cols
¶ Set and obtain number of columns
-
depths
¶ Set and obtain number of depths
-
east
¶ Set and obtain east coordinate
-
ewres
¶ Set and obtain east-west resolution value
-
from_rast
(raster_name)[source]¶ Set the region from the computational region of a raster map layer.
Parameters: - raster_name (str) – the name of raster
- mapset (str) – the mapset of raster
call C function Rast_get_cellhd
Example
>>> reg = Region() >>> reg.from_rast(test_raster_name) >>> reg.get_bbox()
Bbox(50.0, 0.0, 60.0, 0.0) >>> reg.read() >>> reg.get_bbox() Bbox(40.0, 0.0, 40.0, 0.0)
-
from_vect
(vector_name)[source]¶ Adjust bounding box of region using a vector
Parameters: vector_name (str) – the name of vector Example
>>> reg = Region() >>> reg.from_vect(test_vector_name) >>> reg.get_bbox()
Bbox(6.0, 0.0, 14.0, 0.0) >>> reg.read() >>> reg.get_bbox() Bbox(40.0, 0.0, 40.0, 0.0)
-
get_bbox
()[source]¶ Return a Bbox object with the extension of the region.
>>> reg = Region() >>> reg.get_bbox() Bbox(40.0, 0.0, 40.0, 0.0)
-
get_current
()[source]¶ Get the current working region of this process and store it into this Region object
Previous calls to set_current() affects values returned by this function. Previous calls to read() affects values returned by this function only if the current working region is not initialized.
Example:
>>> r = Region() >>> r.north 40.0
>>> r.north = 30 >>> r.north 30.0 >>> r.get_current() >>> r.north 40.0
-
keys
()[source]¶ Return a list of valid keys.
>>> reg = Region() >>> reg.keys() ['proj', 'zone', ..., 'cols', 'cells']
-
north
¶ Set and obtain north coordinate
-
nsres
¶ Set and obtain north-south resolution value
-
proj
¶ Return a code for projection
-
read
(force_read=True)[source]¶ Read the region into this region object
Reads the region as stored in the WIND file in the user’s current mapset into region.
3D values are set to defaults if not available in WIND file. An error message is printed and exit() is called if there is a problem reading the region.
<b>Note:</b> GRASS applications that read or write raster maps should not use this routine since its use implies that the active module region will not be used. Programs that read or write raster map data (or vector data) can query the active module region using Rast_window_rows() and Rast_window_cols().
Parameters: force_read (boolean) – If True the WIND file of the current mapset is re-readed, otherwise the initial region set at process start will be loaded from the internal static variables.
-
read_default
()[source]¶ Get the default region
Reads the default region for the location in this Region object. 3D values are set to defaults if not available in WIND file.
An error message is printed and exit() is called if there is a problem reading the default region.
-
rows
¶ Set and obtain number of rows
-
set_bbox
(bbox)[source]¶ Set region extent from Bbox
Parameters: bbox (Bbox object) – a Bbox object to set the extent >>> from grass.pygrass.vector.basic import Bbox >>> b = Bbox(230963.640878, 212125.562878, 645837.437393, 628769.374393) >>> reg = Region() >>> reg.set_bbox(b) >>> reg.get_bbox() Bbox(230963.640878, 212125.562878, 645837.437393, 628769.374393) >>> reg.get_current()
-
set_current
()[source]¶ Set the current working region from this region object
This function adjusts the values before setting the region so you don’t have to call G_adjust_Cell_head().
- Attention: Only the current process is affected.
- The GRASS computational region is not affected.
Example:
>>> r = Region() >>> r.north
40.0 >>> r.south 0.0
>>> r.north = 30 >>> r.south = 20 >>> r.set_current() >>> r.north 30.0 >>> r.south 20.0 >>> r.get_current() >>> r.north 30.0 >>> r.south 20.0
>>> r.read(force_read=False) >>> r.north 40.0 >>> r.south 0.0
>>> r.read(force_read=True) >>> r.north 40.0 >>> r.south 0.0
-
set_raster_region
()[source]¶ Set the computational region (window) for all raster maps in the current process.
- Attention: All raster objects must be closed or the
- process will be terminated.
The Raster library C function Rast_set_window() is called.
-
south
¶ Set and obtain south coordinate
-
tbres
¶ Set and obtain top-bottom 3D value
-
top
¶ Set and obtain top value
-
west
¶ Set and obtain west coordinate
-
write
()[source]¶ Writes the region from this region object
This function writes this region to the Region file (WIND) in the users current mapset. This function should be carefully used, since the user will ot notice if his region was changed and would expect that only g.region will do this.
Example
>>> from copy import deepcopy >>> r = Region() >>> rn = deepcopy(r) >>> r.north = 20 >>> r.south = 10
>>> r.write() >>> r.read() >>> r.north 20.0 >>> r.south 10.0
>>> rn.write() >>> r.read() >>> r.north 40.0 >>> r.south 0.0
>>> r.read_default() >>> r.write()
-
zone
¶ Return the zone of projection
-
Module contents¶
-
class
pygrass.gis.
Gisdbase
(gisdbase='')[source]¶ Bases:
object
Return Gisdbase object.
>>> from grass.script.core import gisenv >>> gisdbase = Gisdbase() >>> gisdbase.name == gisenv()['GISDBASE'] True
-
locations
()[source]¶ Return a list of locations that are available in the gisdbase:
>>> gisdbase = Gisdbase() >>> gisdbase.locations() [...]
-
name
¶ Set or obtain the name of GISDBASE
-
-
class
pygrass.gis.
Location
(location='', gisdbase='')[source]¶ Bases:
object
Location object
>>> from grass.script.core import gisenv >>> location = Location() >>> location Location(...) >>> location.gisdbase == gisenv()['GISDBASE'] True >>> location.name == gisenv()['LOCATION_NAME'] True
-
gisdbase
¶ Set or obtain the name of GISDBASE
-
mapsets
(pattern=None, permissions=True)[source]¶ Return a list of the available mapsets.
Parameters: - pattern (str) – the pattern to filter the result
- permissions (bool) – check the permission of mapset
Returns: a list of mapset’s names
Return type: list of strings
>>> location = Location() >>> sorted(location.mapsets()) [...]
-
name
¶ Set or obtain the name of LOCATION
-
-
class
pygrass.gis.
Mapset
(mapset='', location='', gisdbase='')[source]¶ Bases:
object
Mapset
>>> from grass.script.core import gisenv >>> genv = gisenv() >>> mapset = Mapset() >>> mapset Mapset(...) >>> mapset.gisdbase == genv['GISDBASE'] True >>> mapset.location == genv['LOCATION_NAME'] True >>> mapset.name == genv['MAPSET'] True
-
gisdbase
¶ Set or obtain the name of GISDBASE
-
glist
(type, pattern=None)[source]¶ Return a list of grass types like:
- ‘group’,
- ‘label’,
- ‘raster’,
- ‘raster_3d’,
- ‘region’,
- ‘vector’,
Parameters: - type (str) – the type of element to query
- pattern (str) – the pattern to filter the result
>>> mapset = Mapset() >>> mapset.current() >>> rast = mapset.glist('raster') >>> test_raster_name in rast True >>> vect = mapset.glist('vector') >>> test_vector_name in vect True
-
location
¶ Set or obtain the name of LOCATION
-
name
¶ Set or obtain the name of MAPSET
-
-
class
pygrass.gis.
VisibleMapset
(mapset, location='', gisdbase='')[source]¶ Bases:
object
VisibleMapset object
-
pygrass.gis.
is_valid
(value, path, type)[source]¶ Private function to check the correctness of a value.
Parameters: - value (str) – Name of the directory
- path (path) – Path where the directory is located
- type (str) – it is a string defining the type that will e checked, valid types are: GISBASE, GISDBASE, LOCATION_NAME, MAPSET
Returns: True if valid else False
Return type: str