PostGIS  2.5.7dev-r@@SVN_REVISION@@
rtpg_mapalgebra.c File Reference
#include <assert.h>
#include <postgres.h>
#include <fmgr.h>
#include <funcapi.h>
#include <executor/spi.h>
#include <utils/lsyscache.h>
#include <utils/array.h>
#include <utils/builtins.h>
#include <catalog/pg_type.h>
#include <executor/executor.h>
#include "../../postgis_config.h"
#include "lwgeom_pg.h"
#include "rtpostgis.h"
#include "rtpg_internal.h"
Include dependency graph for rtpg_mapalgebra.c:

Go to the source code of this file.

Data Structures

struct  rtpg_nmapalgebra_callback_arg
 
struct  rtpg_nmapalgebra_arg_t
 
struct  rtpg_nmapalgebraexpr_callback_arg
 
struct  rtpg_nmapalgebraexpr_arg_t
 
struct  rtpg_union_band_arg_t
 
struct  rtpg_union_arg_t
 
struct  rtpg_clip_band_t
 
struct  rtpg_clip_arg_t
 
struct  rtpg_colormap_arg_t
 

Macros

#define ARGKWCOUNT   8
 

Typedefs

typedef struct rtpg_nmapalgebra_arg_trtpg_nmapalgebra_arg
 
typedef struct rtpg_nmapalgebraexpr_arg_trtpg_nmapalgebraexpr_arg
 
typedef struct rtpg_union_band_arg_trtpg_union_band_arg
 
typedef struct rtpg_union_arg_trtpg_union_arg
 
typedef struct rtpg_clip_band_trtpg_clip_band
 
typedef struct rtpg_clip_arg_trtpg_clip_arg
 
typedef struct rtpg_colormap_arg_trtpg_colormap_arg
 

Enumerations

enum  rtpg_union_type {
  UT_LAST = 0 , UT_FIRST , UT_MIN , UT_MAX ,
  UT_COUNT , UT_SUM , UT_MEAN , UT_RANGE
}
 

Functions

Datum RASTER_nMapAlgebra (PG_FUNCTION_ARGS)
 
Datum RASTER_nMapAlgebraExpr (PG_FUNCTION_ARGS)
 
Datum RASTER_union_transfn (PG_FUNCTION_ARGS)
 
Datum RASTER_union_finalfn (PG_FUNCTION_ARGS)
 
Datum RASTER_clip (PG_FUNCTION_ARGS)
 
Datum RASTER_reclass (PG_FUNCTION_ARGS)
 
Datum RASTER_colorMap (PG_FUNCTION_ARGS)
 
Datum RASTER_mapAlgebraExpr (PG_FUNCTION_ARGS)
 
Datum RASTER_mapAlgebraFct (PG_FUNCTION_ARGS)
 
Datum RASTER_mapAlgebraFctNgb (PG_FUNCTION_ARGS)
 
Datum RASTER_mapAlgebra2 (PG_FUNCTION_ARGS)
 
static rtpg_nmapalgebra_arg rtpg_nmapalgebra_arg_init ()
 
static void rtpg_nmapalgebra_arg_destroy (rtpg_nmapalgebra_arg arg)
 
static int rtpg_nmapalgebra_rastbandarg_process (rtpg_nmapalgebra_arg arg, ArrayType *array, int *allnull, int *allempty, int *noband)
 
static int rtpg_nmapalgebra_callback (rt_iterator_arg arg, void *userarg, double *value, int *nodata)
 
 PG_FUNCTION_INFO_V1 (RASTER_nMapAlgebra)
 
static rtpg_nmapalgebraexpr_arg rtpg_nmapalgebraexpr_arg_init (int cnt, char **kw)
 
static void rtpg_nmapalgebraexpr_arg_destroy (rtpg_nmapalgebraexpr_arg arg)
 
static int rtpg_nmapalgebraexpr_callback (rt_iterator_arg arg, void *userarg, double *value, int *nodata)
 
 PG_FUNCTION_INFO_V1 (RASTER_nMapAlgebraExpr)
 
static rtpg_union_type rtpg_uniontype_index_from_name (const char *cutype)
 
static void rtpg_union_arg_destroy (rtpg_union_arg arg)
 
static int rtpg_union_callback (rt_iterator_arg arg, void *userarg, double *value, int *nodata)
 
static int rtpg_union_mean_callback (rt_iterator_arg arg, void *userarg, double *value, int *nodata)
 
static int rtpg_union_range_callback (rt_iterator_arg arg, void *userarg, double *value, int *nodata)
 
static int rtpg_union_unionarg_process (rtpg_union_arg arg, ArrayType *array)
 
static int rtpg_union_noarg (rtpg_union_arg arg, rt_raster raster)
 
 PG_FUNCTION_INFO_V1 (RASTER_union_transfn)
 
 PG_FUNCTION_INFO_V1 (RASTER_union_finalfn)
 
static rtpg_clip_arg rtpg_clip_arg_init ()
 
static void rtpg_clip_arg_destroy (rtpg_clip_arg arg)
 
static int rtpg_clip_callback (rt_iterator_arg arg, void *userarg, double *value, int *nodata)
 
 PG_FUNCTION_INFO_V1 (RASTER_clip)
 
 PG_FUNCTION_INFO_V1 (RASTER_reclass)
 Reclassify the specified bands of the raster. More...
 
static rtpg_colormap_arg rtpg_colormap_arg_init ()
 
static void rtpg_colormap_arg_destroy (rtpg_colormap_arg arg)
 
 PG_FUNCTION_INFO_V1 (RASTER_colorMap)
 
 PG_FUNCTION_INFO_V1 (RASTER_mapAlgebraExpr)
 
 PG_FUNCTION_INFO_V1 (RASTER_mapAlgebraFct)
 
 PG_FUNCTION_INFO_V1 (RASTER_mapAlgebraFctNgb)
 One raster neighborhood MapAlgebra. More...
 
 PG_FUNCTION_INFO_V1 (RASTER_mapAlgebra2)
 Two raster MapAlgebra. More...