]> granicus.if.org Git - postgis/commitdiff
Removed summarystats data type. Ticket is #1939
authorBborie Park <bkpark at ucdavis.edu>
Sun, 29 Jul 2012 02:34:08 +0000 (02:34 +0000)
committerBborie Park <bkpark at ucdavis.edu>
Sun, 29 Jul 2012 02:34:08 +0000 (02:34 +0000)
git-svn-id: http://svn.osgeo.org/postgis/trunk@10133 b70326c6-7e19-0410-871a-916f4a2858ee

doc/reference_raster.xml
raster/rt_pg/rtpostgis.sql.in.c
raster/rt_pg/rtpostgis_drop.sql.in.c

index d66ae5db58a4f4a218387a1cd7b0433a17d7737b..d388c843375af98e3cfdcf32780e474cb6a50233 100644 (file)
@@ -268,47 +268,8 @@ VALUES (1,
            </refsection>
                </refentry>
                
-               <refentry id="summarystats">
-                 <refnamediv>
-                       <refname>summarystats</refname>
-                       <refpurpose>A composite type used as output of the ST_SummaryStats function.</refpurpose>
-                 </refnamediv>
-                 <refsection>
-                       <title>Description</title>
-                       <para>A composite type used as output the <varname>ST_SummaryStats</varname> function. Note that depending on <varname>exclude_nodata_value</varname> of function, may or may not contain nodata pixels.</para>
-                       <variablelist>
-                           <varlistentry>
-                               <term><parameter>count </parameter><type>bigint</type></term>
-                               <listitem><para>count of pixels in raster band. Depending on arguments may or many not include nodata pixel values.</para></listitem>
-                           </varlistentry>
-                           <varlistentry>
-                               <term><parameter>sum </parameter><type>double precision</type></term>
-                               <listitem><para>sum of all pixel values in band</para></listitem>
-                           </varlistentry>
-                           <varlistentry>
-                               <term><parameter>mean </parameter><type>double precision</type></term>
-                               <listitem><para>Mean of pixel values</para></listitem>
-                           </varlistentry>
-                           <varlistentry>
-                               <term><parameter>stddev </parameter><type>double precision</type></term>
-                               <listitem><para>Standard deviation of pixel values.</para></listitem>
-                           </varlistentry>
-                               <varlistentry>
-                               <term><parameter>min </parameter><type>double precision</type></term>
-                               <listitem><para>Minimum pixel value</para></listitem>
-                           </varlistentry>
-                               <varlistentry>
-                               <term><parameter>max </parameter><type>double precision</type></term>
-                               <listitem><para>Maximum pixel value</para></listitem>
-                           </varlistentry>
-                       </variablelist>
-                 </refsection>
-                  <refsection>
-                <title>See Also</title>
-                <para><xref linkend="RT_ST_SummaryStats" /></para>
-           </refsection>
-               </refentry>
   </sect1>
+
   <sect1 id="Raster_Management_Functions">
        <title>Raster Management</title>
        <refentry id="RT_AddRasterConstraints">
@@ -5531,26 +5492,26 @@ ORDER BY value, quantile,rid
                <refentry id="RT_ST_SummaryStats">
                        <refnamediv>
                                <refname>ST_SummaryStats</refname>
-                               <refpurpose>Returns summary stats consisting of count,sum,mean,stddev,min,max for a given raster band of a raster or raster coverage. Band 1 is assumed is no band is specified.</refpurpose>
+                               <refpurpose>Returns record consisting of count, sum, mean, stddev, min, max for a given raster band of a raster or raster coverage. Band 1 is assumed is no band is specified.</refpurpose>
                        </refnamediv>
                
                        <refsynopsisdiv>
                                <funcsynopsis>
                                  <funcprototype>
-                                       <funcdef>summarystats <function>ST_SummaryStats</function></funcdef>
+                                       <funcdef>record <function>ST_SummaryStats</function></funcdef>
                                        <paramdef><type>text </type> <parameter>rastertable</parameter></paramdef>
                                        <paramdef><type>text </type> <parameter>rastercolumn</parameter></paramdef>
                                        <paramdef><type>boolean </type> <parameter>exclude_nodata_value</parameter></paramdef>
                                  </funcprototype>
                                  
                                  <funcprototype>
-                                       <funcdef>summarystats <function>ST_SummaryStats</function></funcdef>
+                                       <funcdef>record <function>ST_SummaryStats</function></funcdef>
                                        <paramdef><type>raster </type> <parameter>rast</parameter></paramdef>
                                        <paramdef><type>boolean </type> <parameter>exclude_nodata_value</parameter></paramdef>
                                  </funcprototype>
                                                                  
                                  <funcprototype>
-                                       <funcdef>summarystats <function>ST_SummaryStats</function></funcdef>
+                                       <funcdef>record <function>ST_SummaryStats</function></funcdef>
                                        <paramdef><type>text </type> <parameter>rastertable</parameter></paramdef>
                                        <paramdef><type>text </type> <parameter>rastercolumn</parameter></paramdef>
                                        <paramdef choice="opt"><type>integer </type> <parameter>nband=1</parameter></paramdef>
@@ -5558,7 +5519,7 @@ ORDER BY value, quantile,rid
                                  </funcprototype>
                                  
                                 <funcprototype>
-                                       <funcdef>summarystats <function>ST_SummaryStats</function></funcdef>
+                                       <funcdef>record <function>ST_SummaryStats</function></funcdef>
                                        <paramdef><type>raster </type> <parameter>rast</parameter></paramdef>
                                        <paramdef><type>integer </type> <parameter>nband</parameter></paramdef>
                                        <paramdef><type>boolean </type> <parameter>exclude_nodata_value</parameter></paramdef>
@@ -5571,7 +5532,7 @@ ORDER BY value, quantile,rid
                        <refsection>
                                <title>Description</title>
                                
-                               <para>Returns <varname>summarystats</varname> consisting of count, sum, mean, stddev, min, max for a given raster band of a raster or raster coverage.  If no band is specified <varname>nband</varname> defaults to 1.</para>
+                               <para>Returns record consisting of count, sum, mean, stddev, min, max for a given raster band of a raster or raster coverage.  If no band is specified <varname>nband</varname> defaults to 1.</para>
 
                                <note><para>By default only considers pixel values not equal to the <varname>nodata</varname> value. Set <varname>exclude_nodata_value</varname> to false to get count of all pixels.</para></note>
                                
@@ -5662,7 +5623,7 @@ FROM (SELECT band, ST_SummaryStats('o_4_boston','rast', band,true,0.25) As stats
                                <title>See Also</title>
                                <para>
 <xref linkend="RT_ST_Count" />,
-<xref linkend="summarystats" />, <xref linkend="RT_ST_Clip" />
+<xref linkend="RT_ST_Clip" />
                                </para>
                        </refsection>
                </refentry>
index d85b4c7333abb5a3e74b1b4b2b7ba452cf1d521d..36449bd63bfefaf7d7757c8aec886574b7393e36 100644 (file)
@@ -311,82 +311,205 @@ CREATE OR REPLACE FUNCTION st_band(rast raster, nbands text, delimiter char DEFA
 -----------------------------------------------------------------------
 -- ST_SummaryStats and ST_ApproxSummaryStats
 -----------------------------------------------------------------------
-CREATE TYPE summarystats AS (
-       count bigint,
-       sum double precision,
-       mean double precision,
-       stddev double precision,
-       min double precision,
-       max double precision
-);
-
-CREATE OR REPLACE FUNCTION _st_summarystats(rast raster, nband int DEFAULT 1, exclude_nodata_value boolean DEFAULT TRUE, sample_percent double precision DEFAULT 1)
-       RETURNS summarystats
+CREATE OR REPLACE FUNCTION _st_summarystats(
+       rast raster,
+       nband int DEFAULT 1,
+       exclude_nodata_value boolean DEFAULT TRUE,
+       sample_percent double precision DEFAULT 1,
+       OUT count bigint,
+       OUT sum double precision,
+       OUT mean double precision,
+       OUT stddev double precision,
+       OUT min double precision,
+       OUT max double precision
+)
        AS 'MODULE_PATHNAME','RASTER_summaryStats'
        LANGUAGE 'c' IMMUTABLE;
 
-CREATE OR REPLACE FUNCTION st_summarystats(rast raster, nband int DEFAULT 1, exclude_nodata_value boolean DEFAULT TRUE)
-       RETURNS summarystats
+CREATE OR REPLACE FUNCTION st_summarystats(
+       rast raster,
+       nband int DEFAULT 1,
+       exclude_nodata_value boolean DEFAULT TRUE,
+       OUT count bigint,
+       OUT sum double precision,
+       OUT mean double precision,
+       OUT stddev double precision,
+       OUT min double precision,
+       OUT max double precision
+)
        AS $$ SELECT _st_summarystats($1, $2, $3, 1) $$
        LANGUAGE 'sql' IMMUTABLE STRICT;
 
-CREATE OR REPLACE FUNCTION st_summarystats(rast raster, exclude_nodata_value boolean)
-       RETURNS summarystats
+CREATE OR REPLACE FUNCTION st_summarystats(
+       rast raster,
+       exclude_nodata_value boolean,
+       OUT count bigint,
+       OUT sum double precision,
+       OUT mean double precision,
+       OUT stddev double precision,
+       OUT min double precision,
+       OUT max double precision
+)
        AS $$ SELECT _st_summarystats($1, 1, $2, 1) $$
        LANGUAGE 'sql' IMMUTABLE STRICT;
 
-CREATE OR REPLACE FUNCTION st_approxsummarystats(rast raster, nband int DEFAULT 1, exclude_nodata_value boolean DEFAULT TRUE, sample_percent double precision DEFAULT 0.1)
-       RETURNS summarystats
+CREATE OR REPLACE FUNCTION st_approxsummarystats(
+       rast raster,
+       nband int DEFAULT 1,
+       exclude_nodata_value boolean DEFAULT TRUE,
+       sample_percent double precision DEFAULT 0.1,
+       OUT count bigint,
+       OUT sum double precision,
+       OUT mean double precision,
+       OUT stddev double precision,
+       OUT min double precision,
+       OUT max double precision
+)
        AS $$ SELECT _st_summarystats($1, $2, $3, $4) $$
        LANGUAGE 'sql' IMMUTABLE STRICT;
 
-CREATE OR REPLACE FUNCTION st_approxsummarystats(rast raster, nband int, sample_percent double precision)
-       RETURNS summarystats
+CREATE OR REPLACE FUNCTION st_approxsummarystats(
+       rast raster,
+       nband int,
+       sample_percent double precision,
+       OUT count bigint,
+       OUT sum double precision,
+       OUT mean double precision,
+       OUT stddev double precision,
+       OUT min double precision,
+       OUT max double precision
+)
        AS $$ SELECT _st_summarystats($1, $2, TRUE, $3) $$
        LANGUAGE 'sql' IMMUTABLE STRICT;
 
-CREATE OR REPLACE FUNCTION st_approxsummarystats(rast raster, exclude_nodata_value boolean, sample_percent double precision DEFAULT 0.1)
-       RETURNS summarystats
+CREATE OR REPLACE FUNCTION st_approxsummarystats(
+       rast raster,
+       exclude_nodata_value boolean,
+       sample_percent double precision DEFAULT 0.1,
+       OUT count bigint,
+       OUT sum double precision,
+       OUT mean double precision,
+       OUT stddev double precision,
+       OUT min double precision,
+       OUT max double precision
+)
        AS $$ SELECT _st_summarystats($1, 1, $2, $3) $$
        LANGUAGE 'sql' IMMUTABLE STRICT;
 
-CREATE OR REPLACE FUNCTION st_approxsummarystats(rast raster, sample_percent double precision)
-       RETURNS summarystats
+CREATE OR REPLACE FUNCTION st_approxsummarystats(
+       rast raster,
+       sample_percent double precision,
+       OUT count bigint,
+       OUT sum double precision,
+       OUT mean double precision,
+       OUT stddev double precision,
+       OUT min double precision,
+       OUT max double precision
+)
        AS $$ SELECT _st_summarystats($1, 1, TRUE, $2) $$
        LANGUAGE 'sql' IMMUTABLE STRICT;
 
-CREATE OR REPLACE FUNCTION _st_summarystats(rastertable text, rastercolumn text, nband integer DEFAULT 1, exclude_nodata_value boolean DEFAULT TRUE, sample_percent double precision DEFAULT 1)
-       RETURNS summarystats
+CREATE OR REPLACE FUNCTION _st_summarystats(
+       rastertable text,
+       rastercolumn text,
+       nband integer DEFAULT 1,
+       exclude_nodata_value boolean DEFAULT TRUE,
+       sample_percent double precision DEFAULT 1,
+       OUT count bigint,
+       OUT sum double precision,
+       OUT mean double precision,
+       OUT stddev double precision,
+       OUT min double precision,
+       OUT max double precision
+)
        AS 'MODULE_PATHNAME','RASTER_summaryStatsCoverage'
        LANGUAGE 'c' IMMUTABLE;
 
-CREATE OR REPLACE FUNCTION st_summarystats(rastertable text, rastercolumn text, nband integer DEFAULT 1, exclude_nodata_value boolean DEFAULT TRUE)
-       RETURNS summarystats
+CREATE OR REPLACE FUNCTION st_summarystats(
+       rastertable text,
+       rastercolumn text,
+       nband integer DEFAULT 1,
+       exclude_nodata_value boolean DEFAULT TRUE,
+       OUT count bigint,
+       OUT sum double precision,
+       OUT mean double precision,
+       OUT stddev double precision,
+       OUT min double precision,
+       OUT max double precision
+)
        AS $$ SELECT _st_summarystats($1, $2, $3, $4, 1) $$
        LANGUAGE 'sql' STABLE STRICT;
 
-CREATE OR REPLACE FUNCTION st_summarystats(rastertable text, rastercolumn text, exclude_nodata_value boolean)
-       RETURNS summarystats
+CREATE OR REPLACE FUNCTION st_summarystats(
+       rastertable text,
+       rastercolumn text,
+       exclude_nodata_value boolean,
+       OUT count bigint,
+       OUT sum double precision,
+       OUT mean double precision,
+       OUT stddev double precision,
+       OUT min double precision,
+       OUT max double precision
+)
        AS $$ SELECT _st_summarystats($1, $2, 1, $3, 1) $$
        LANGUAGE 'sql' STABLE STRICT;
 
-CREATE OR REPLACE FUNCTION st_approxsummarystats(rastertable text, rastercolumn text, nband integer DEFAULT 1, exclude_nodata_value boolean DEFAULT TRUE, sample_percent double precision DEFAULT 0.1)
-       RETURNS summarystats
+CREATE OR REPLACE FUNCTION st_approxsummarystats(
+       rastertable text,
+       rastercolumn text,
+       nband integer DEFAULT 1,
+       exclude_nodata_value boolean DEFAULT TRUE,
+       sample_percent double precision DEFAULT 0.1,
+       OUT count bigint,
+       OUT sum double precision,
+       OUT mean double precision,
+       OUT stddev double precision,
+       OUT min double precision,
+       OUT max double precision
+)
        AS $$ SELECT _st_summarystats($1, $2, $3, $4, $5) $$
        LANGUAGE 'sql' STABLE STRICT;
 
-CREATE OR REPLACE FUNCTION st_approxsummarystats(rastertable text, rastercolumn text, nband integer, sample_percent double precision)
-       RETURNS summarystats
+CREATE OR REPLACE FUNCTION st_approxsummarystats(
+       rastertable text,
+       rastercolumn text,
+       nband integer,
+       sample_percent double precision,
+       OUT count bigint,
+       OUT sum double precision,
+       OUT mean double precision,
+       OUT stddev double precision,
+       OUT min double precision,
+       OUT max double precision
+)
        AS $$ SELECT _st_summarystats($1, $2, $3, TRUE, $4) $$
        LANGUAGE 'sql' STABLE STRICT;
 
-CREATE OR REPLACE FUNCTION st_approxsummarystats(rastertable text, rastercolumn text, exclude_nodata_value boolean)
-       RETURNS summarystats
+CREATE OR REPLACE FUNCTION st_approxsummarystats(
+       rastertable text,
+       rastercolumn text,
+       exclude_nodata_value boolean,
+       OUT count bigint,
+       OUT sum double precision,
+       OUT mean double precision,
+       OUT stddev double precision,
+       OUT min double precision,
+       OUT max double precision
+)
        AS $$ SELECT _st_summarystats($1, $2, 1, $3, 0.1) $$
        LANGUAGE 'sql' STABLE STRICT;
 
-CREATE OR REPLACE FUNCTION st_approxsummarystats(rastertable text, rastercolumn text, sample_percent double precision)
-       RETURNS summarystats
+CREATE OR REPLACE FUNCTION st_approxsummarystats(
+       rastertable text,
+       rastercolumn text,
+       sample_percent double precision,
+       OUT count bigint,
+       OUT sum double precision,
+       OUT mean double precision,
+       OUT stddev double precision,
+       OUT min double precision,
+       OUT max double precision
+)
        AS $$ SELECT _st_summarystats($1, $2, 1, TRUE, $3) $$
        LANGUAGE 'sql' STABLE STRICT;
 
@@ -448,7 +571,6 @@ CREATE OR REPLACE FUNCTION _st_count(rastertable text, rastercolumn text, nband
                ctable text;
                ccolumn text;
                rast raster;
-               stats summarystats;
 
                rtn bigint;
                tmp bigint;
index 0258eefeb51955218cbc627d9a782910f874d163..25ee00108e35260fe5280df72b08c540433e52e9 100644 (file)
@@ -212,6 +212,7 @@ DROP FUNCTION IF EXISTS ST_PixelAsPolygons(raster,integer);
 -- no longer needed functions changed to use out parameters
 DROP TYPE IF EXISTS bandmetadata;
 DROP TYPE IF EXISTS geomvalxy;
+DROP TYPE IF EXISTS summarystats;
 
 -- raster_columns and raster_overviews tables are deprecated
 DROP FUNCTION IF EXISTS _rename_raster_tables();