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