Schema
public
Owner
albenard
Descriptions
There is no description for function __st_countagg_transfn
Options
Option | Value |
---|---|
Returns |
public.agg_count |
Language |
plpgsql |
Parameters |
agg public.agg_count rast public.raster nband integer = 1 exclude_nodata_value boolean = true sample_percent double precision = 1 |
Definition
CREATE OR REPLACE FUNCTION public.__st_countagg_transfn (
agg public.agg_count,
rast public.raster,
nband integer = 1,
exclude_nodata_value boolean = true,
sample_percent double precision = 1
)
RETURNS public.agg_count AS
$span$
DECLARE
_count bigint;
rtn_agg agg_count;
BEGIN
-- only process parameter args once
IF agg IS NULL THEN
rtn_agg.count := 0;
IF nband < 1 THEN
RAISE EXCEPTION 'Band index must be greater than zero (1-based)';
ELSE
rtn_agg.nband := nband;
END IF;
IF exclude_nodata_value IS FALSE THEN
rtn_agg.exclude_nodata_value := FALSE;
ELSE
rtn_agg.exclude_nodata_value := TRUE;
END IF;
IF sample_percent < 0. OR sample_percent > 1. THEN
RAISE EXCEPTION 'Sample percent must be between zero and one';
ELSE
rtn_agg.sample_percent := sample_percent;
END IF;
ELSE
rtn_agg := agg;
END IF;
IF rast IS NOT NULL THEN
IF rtn_agg.exclude_nodata_value IS FALSE THEN
SELECT width * height INTO _count FROM public.ST_Metadata(rast);
ELSE
SELECT count INTO _count FROM public._ST_summarystats(
rast,
rtn_agg.nband, rtn_agg.exclude_nodata_value,
rtn_agg.sample_percent
);
END IF;
END IF;
rtn_agg.count := rtn_agg.count + _count;
RETURN rtn_agg;
END;
$span$
LANGUAGE 'plpgsql'
IMMUTABLE
CALLED ON NULL INPUT
SECURITY INVOKER
COST 100;
This file was generated with SQL Manager for PostgreSQL (www.pgsqlmanager.com) at 26/02/2014 11:51 |