gdalgrid.h 5.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122
  1. /******************************************************************************
  2. * $Id: gdalgrid.h 27044 2014-03-16 23:41:27Z rouault $
  3. *
  4. * Project: GDAL Gridding API.
  5. * Purpose: Prototypes, and definitions for of GDAL scattered data gridder.
  6. * Author: Andrey Kiselev, dron@ak4719.spb.edu
  7. *
  8. ******************************************************************************
  9. * Copyright (c) 2007, Andrey Kiselev <dron@ak4719.spb.edu>
  10. * Copyright (c) 2012, Even Rouault <even dot rouault at mines-paris dot org>
  11. *
  12. * Permission is hereby granted, free of charge, to any person obtaining a
  13. * copy of this software and associated documentation files (the "Software"),
  14. * to deal in the Software without restriction, including without limitation
  15. * the rights to use, copy, modify, merge, publish, distribute, sublicense,
  16. * and/or sell copies of the Software, and to permit persons to whom the
  17. * Software is furnished to do so, subject to the following conditions:
  18. *
  19. * The above copyright notice and this permission notice shall be included
  20. * in all copies or substantial portions of the Software.
  21. *
  22. * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
  23. * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
  24. * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
  25. * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
  26. * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
  27. * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
  28. * DEALINGS IN THE SOFTWARE.
  29. ****************************************************************************/
  30. #ifndef GDALGRID_H_INCLUDED
  31. #define GDALGRID_H_INCLUDED
  32. /**
  33. * \file gdalgrid.h
  34. *
  35. * GDAL gridder related entry points and definitions.
  36. */
  37. #include "gdal_alg.h"
  38. /*
  39. * GridCreate Algorithm names
  40. */
  41. static const char szAlgNameInvDist[] = "invdist";
  42. static const char szAlgNameAverage[] = "average";
  43. static const char szAlgNameNearest[] = "nearest";
  44. static const char szAlgNameMinimum[] = "minimum";
  45. static const char szAlgNameMaximum[] = "maximum";
  46. static const char szAlgNameRange[] = "range";
  47. static const char szAlgNameCount[] = "count";
  48. static const char szAlgNameAverageDistance[] = "average_distance";
  49. static const char szAlgNameAverageDistancePts[] = "average_distance_pts";
  50. CPL_C_START
  51. typedef CPLErr (*GDALGridFunction)( const void *, GUInt32,
  52. const double *, const double *,
  53. const double *,
  54. double, double, double *,
  55. void* );
  56. CPLErr
  57. GDALGridInverseDistanceToAPower( const void *, GUInt32,
  58. const double *, const double *,
  59. const double *,
  60. double, double, double *,
  61. void* );
  62. CPLErr
  63. GDALGridInverseDistanceToAPowerNoSearch( const void *, GUInt32,
  64. const double *, const double *,
  65. const double *,
  66. double, double, double *,
  67. void* );
  68. CPLErr
  69. GDALGridMovingAverage( const void *, GUInt32,
  70. const double *, const double *, const double *,
  71. double, double, double *,
  72. void* );
  73. CPLErr
  74. GDALGridNearestNeighbor( const void *, GUInt32,
  75. const double *, const double *, const double *,
  76. double, double, double *,
  77. void* );
  78. CPLErr
  79. GDALGridDataMetricMinimum( const void *, GUInt32,
  80. const double *, const double *, const double *,
  81. double, double, double *,
  82. void* );
  83. CPLErr
  84. GDALGridDataMetricMaximum( const void *, GUInt32,
  85. const double *, const double *, const double *,
  86. double, double, double *,
  87. void* );
  88. CPLErr
  89. GDALGridDataMetricRange( const void *, GUInt32,
  90. const double *, const double *, const double *,
  91. double, double, double *,
  92. void* );
  93. CPLErr
  94. GDALGridDataMetricCount( const void *, GUInt32,
  95. const double *, const double *, const double *,
  96. double, double, double *,
  97. void* );
  98. CPLErr
  99. GDALGridDataMetricAverageDistance( const void *, GUInt32,
  100. const double *, const double *,
  101. const double *, double, double, double *,
  102. void* );
  103. CPLErr
  104. GDALGridDataMetricAverageDistancePts( const void *, GUInt32,
  105. const double *, const double *,
  106. const double *, double, double,
  107. double *,
  108. void* );
  109. CPLErr CPL_DLL
  110. ParseAlgorithmAndOptions( const char *,
  111. GDALGridAlgorithm *,
  112. void ** );
  113. CPL_C_END
  114. #endif /* GDALGRID_H_INCLUDED */