GRASS GIS 8 Programmer's Manual  8.4.0dev(2024)-7413740dd8
region.c File Reference
#include <stdio.h>
#include <math.h>
#include <grass/raster.h>
#include "raster3d_intern.h"
Include dependency graph for region.c:

Go to the source code of this file.

Functions

void Rast3d_extract2d_region (RASTER3D_Region *region3d, struct Cell_head *region2d)
 Returns in region2d the 2d portion of region3d. More...
 
void Rast3d_region_to_cell_head (RASTER3D_Region *region3d, struct Cell_head *region2d)
 Returns in region2d the 2d portion of region3d. More...
 
void Rast3d_incorporate2d_region (struct Cell_head *region2d, RASTER3D_Region *region3d)
 Replaces the 2d portion of region3d with the values stored in region2d. More...
 
void Rast3d_region_from_to_cell_head (struct Cell_head *region2d, RASTER3D_Region *region3d)
 Replaces the 2d portion of region3d with the values stored in region2d. More...
 
void Rast3d_adjust_region (RASTER3D_Region *region)
 Computes an adjusts the resolutions in the region structure from the region boundaries and number of cells per dimension. More...
 
void Rast3d_adjust_region_res (RASTER3D_Region *region)
 Computes an adjusts the number of cells per dimension in the region structure from the region boundaries and resolutions. More...
 
void Rast3d_region_copy (RASTER3D_Region *regionDest, RASTER3D_Region *regionSrc)
 Copies the values of regionSrc into regionDst. More...
 
int Rast3d_read_region_map (const char *name, const char *mapset, RASTER3D_Region *region)
 
int Rast3d_is_valid_location (RASTER3D_Region *region, double north, double east, double top)
 Returns 1 if region-coordinates (north, east, top) are inside the region of map. Returns 0 otherwise. More...
 
void Rast3d_location2coord (RASTER3D_Region *region, double north, double east, double top, int *x, int *y, int *z)
 Converts region-coordinates (north, east, top) into cell-coordinates (x, y, z). More...
 
void Rast3d_location2coord_double (RASTER3D_Region *region, double north, double east, double top, double *x, double *y, double *z)
 Converts region-coordinates (north, east, top) into cell-coordinates (x, y, z). More...
 
void Rast3d_location2coord2 (RASTER3D_Region *region, double north, double east, double top, int *x, int *y, int *z)
 Converts region-coordinates (north, east, top) into cell-coordinates (x, y, z). This function calls Rast3d_fatal_error in case location is not in window. More...
 
void Rast3d_coord2location (RASTER3D_Region *region, double x, double y, double z, double *north, double *east, double *top)
 Converts cell-coordinates (x, y, z) into region-coordinates (north, east, top). More...
 

Function Documentation

◆ Rast3d_adjust_region()

void Rast3d_adjust_region ( RASTER3D_Region region)

Computes an adjusts the resolutions in the region structure from the region boundaries and number of cells per dimension.

Parameters
region
Returns
void

Definition at line 149 of file region.c.

◆ Rast3d_adjust_region_res()

void Rast3d_adjust_region_res ( RASTER3D_Region region)

Computes an adjusts the number of cells per dimension in the region structure from the region boundaries and resolutions.

Parameters
region
Returns
void

Definition at line 174 of file region.c.

◆ Rast3d_coord2location()

void Rast3d_coord2location ( RASTER3D_Region region,
double  x,
double  y,
double  z,
double *  north,
double *  east,
double *  top 
)

Converts cell-coordinates (x, y, z) into region-coordinates (north, east, top).

  • Note: x, y and z is a double:
  • x+0.0 will return the easting for the western edge of the column.
  • x+0.5 will return the easting for the center of the column.
  • x+1.0 will return the easting for the eastern edge of the column.
  • y+0.0 will return the northing for the northern edge of the row.
  • y+0.5 will return the northing for the center of the row.
  • y+1.0 will return the northing for the southern edge of the row.
  • z+0.0 will return the top for the lower edge of the depth.
  • z+0.5 will return the top for the center of the depth.
  • z+1.0 will return the top for the upper edge of the column.
Parameters
region
x
y
z
north
east
top
Returns
void

Definition at line 386 of file region.c.

◆ Rast3d_extract2d_region()

◆ Rast3d_incorporate2d_region()

void Rast3d_incorporate2d_region ( struct Cell_head region2d,
RASTER3D_Region region3d 
)

◆ Rast3d_is_valid_location()

int Rast3d_is_valid_location ( RASTER3D_Region region,
double  north,
double  east,
double  top 
)

Returns 1 if region-coordinates (north, east, top) are inside the region of map. Returns 0 otherwise.

Parameters
region
north
east
top
Returns
int

Definition at line 257 of file region.c.

◆ Rast3d_location2coord()

void Rast3d_location2coord ( RASTER3D_Region region,
double  north,
double  east,
double  top,
int *  x,
int *  y,
int *  z 
)

Converts region-coordinates (north, east, top) into cell-coordinates (x, y, z).

Parameters
region
north
east
top
x
y
z
Returns
void

Definition at line 284 of file region.c.

◆ Rast3d_location2coord2()

void Rast3d_location2coord2 ( RASTER3D_Region region,
double  north,
double  east,
double  top,
int *  x,
int *  y,
int *  z 
)

Converts region-coordinates (north, east, top) into cell-coordinates (x, y, z). This function calls Rast3d_fatal_error in case location is not in window.

Parameters
region
north
east
top
x
y
z
Returns
void

Definition at line 341 of file region.c.

◆ Rast3d_location2coord_double()

void Rast3d_location2coord_double ( RASTER3D_Region region,
double  north,
double  east,
double  top,
double *  x,
double *  y,
double *  z 
)

Converts region-coordinates (north, east, top) into cell-coordinates (x, y, z).

Note: The results are double numbers. Casting them to int will give the column, row and depth number.

Parameters
region
north
east
top
x
y
z
Returns
void

Definition at line 315 of file region.c.

◆ Rast3d_read_region_map()

int Rast3d_read_region_map ( const char *  name,
const char *  mapset,
RASTER3D_Region region 
)

Definition at line 226 of file region.c.

◆ Rast3d_region_copy()

◆ Rast3d_region_from_to_cell_head()

◆ Rast3d_region_to_cell_head()