GDAL
|
00001 /****************************************************************************** 00002 * $Id: gdalgrid.h 19726 2010-05-16 11:43:09Z ilucena $ 00003 * 00004 * Project: GDAL Gridding API. 00005 * Purpose: Prototypes, and definitions for of GDAL scattered data gridder. 00006 * Author: Andrey Kiselev, dron@ak4719.spb.edu 00007 * 00008 ****************************************************************************** 00009 * Copyright (c) 2007, Andrey Kiselev <dron@ak4719.spb.edu> 00010 * 00011 * Permission is hereby granted, free of charge, to any person obtaining a 00012 * copy of this software and associated documentation files (the "Software"), 00013 * to deal in the Software without restriction, including without limitation 00014 * the rights to use, copy, modify, merge, publish, distribute, sublicense, 00015 * and/or sell copies of the Software, and to permit persons to whom the 00016 * Software is furnished to do so, subject to the following conditions: 00017 * 00018 * The above copyright notice and this permission notice shall be included 00019 * in all copies or substantial portions of the Software. 00020 * 00021 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS 00022 * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 00023 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL 00024 * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 00025 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 00026 * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER 00027 * DEALINGS IN THE SOFTWARE. 00028 ****************************************************************************/ 00029 00030 #ifndef GDALGRID_H_INCLUDED 00031 #define GDALGRID_H_INCLUDED 00032 00039 #include "gdal_alg.h" 00040 00041 /* 00042 * GridCreate Algorithm names 00043 */ 00044 00045 static const char szAlgNameInvDist[] = "invdist"; 00046 static const char szAlgNameAverage[] = "average"; 00047 static const char szAlgNameNearest[] = "nearest"; 00048 static const char szAlgNameMinimum[] = "minimum"; 00049 static const char szAlgNameMaximum[] = "maximum"; 00050 static const char szAlgNameRange[] = "range"; 00051 static const char szAlgNameCount[] = "count"; 00052 static const char szAlgNameAverageDistance[] = "average_distance"; 00053 static const char szAlgNameAverageDistancePts[] = "average_distance_pts"; 00054 00055 CPL_C_START 00056 00057 typedef CPLErr (*GDALGridFunction)( const void *, GUInt32, 00058 const double *, const double *, 00059 const double *, 00060 double, double, double *); 00061 CPLErr 00062 GDALGridInverseDistanceToAPower( const void *, GUInt32, 00063 const double *, const double *, 00064 const double *, 00065 double, double, double * ); 00066 CPLErr 00067 GDALGridInverseDistanceToAPowerNoSearch( const void *, GUInt32, 00068 const double *, const double *, 00069 const double *, 00070 double, double, double * ); 00071 CPLErr 00072 GDALGridMovingAverage( const void *, GUInt32, 00073 const double *, const double *, const double *, 00074 double, double, double * ); 00075 CPLErr 00076 GDALGridNearestNeighbor( const void *, GUInt32, 00077 const double *, const double *, const double *, 00078 double, double, double * ); 00079 CPLErr 00080 GDALGridDataMetricMinimum( const void *, GUInt32, 00081 const double *, const double *, const double *, 00082 double, double, double * ); 00083 CPLErr 00084 GDALGridDataMetricMaximum( const void *, GUInt32, 00085 const double *, const double *, const double *, 00086 double, double, double * ); 00087 CPLErr 00088 GDALGridDataMetricRange( const void *, GUInt32, 00089 const double *, const double *, const double *, 00090 double, double, double * ); 00091 CPLErr 00092 GDALGridDataMetricCount( const void *, GUInt32, 00093 const double *, const double *, const double *, 00094 double, double, double * ); 00095 CPLErr 00096 GDALGridDataMetricAverageDistance( const void *, GUInt32, 00097 const double *, const double *, 00098 const double *, double, double, double * ); 00099 CPLErr 00100 GDALGridDataMetricAverageDistancePts( const void *, GUInt32, 00101 const double *, const double *, 00102 const double *, double, double, 00103 double * ); 00104 CPLErr CPL_DLL 00105 ParseAlgorithmAndOptions( const char *, 00106 GDALGridAlgorithm *, 00107 void ** ); 00108 CPL_C_END 00109 00110 #endif /* GDALGRID_H_INCLUDED */