def set_region_from_rast(self, rastname='', mapset=''): """Set the computational region from a map, if rastername and mapset is not specify, use itself. This region will be used by all raster map layers that are opened in the same process. The GRASS region settings will not be modified. call C function `Rast_get_cellhd`, `Rast_set_window` return: The region that was used to set the computational region """ if self.is_open(): fatal("You cannot change the region if map is open") raise region = Region() if rastname == '': rastname = self.name if mapset == '': mapset = self.mapset libraster.Rast_get_cellhd(rastname, mapset, region.byref()) self._set_raster_window(region) return region
def get_value(self, point, region=None): """This method returns the pixel value of a given pair of coordinates: :param point: pair of coordinates in tuple object or class object with coords() method :param region: The region that should be used for sampling, default is the current computational region that can be set with set_region() or set_region_from_rast() """ # Check for tuple if type(point) != type([]) and type(point) != type(()): point = point.coords() # If no region was set, use the current computational region if not region: region = Region() libraster.Rast_get_window(region.byref()) row, col = utils.coor2pixel(point, region) if col < 0 or col > region.cols or row < 0 or row > region.rows: return None line = self.get_row(int(row)) return line[int(col)]
def set_region_from_rast(self, rastname='', mapset=''): """Set the computational region from a map, if rastername and mapset is not specify, use itself. This region will be used by all raster map layers that are opened in the same process. The GRASS region settings will not be modified. call C function `Rast_get_cellhd`, `Rast_set_window` """ if self.is_open(): fatal("You cannot change the region if map is open") raise region = Region() if rastname == '': rastname = self.name if mapset == '': mapset = self.mapset libraster.Rast_get_cellhd(rastname, mapset, region.byref()) self._set_raster_window(region)