esriSpatialAnalyst.tlh
上传用户:juying163
上传日期:2014-09-24
资源大小:5867k
文件大小:52k
源码类别:

GIS编程

开发平台:

Visual C++

  1. // Created by Microsoft (R) C/C++ Compiler Version 12.00.9782.0 (4a0b6224).
  2. //
  3. // esriSpatialAnalyst.tlh
  4. //
  5. // C++ source equivalent of Win32 type library d:/Program Files/ArcGis/com/esriSpatialAnalyst.olb
  6. // compiler-generated file created 01/08/07 at 20:58:35 - DO NOT EDIT!
  7. //
  8. // Cross-referenced type libraries:
  9. //
  10. //  #import "D:Program FilesArcGIScomesriGeoDatabase.olb"
  11. //  #import "D:Program FilesArcGIScomesriGeometry.olb"
  12. //  #import "D:Program FilesArcGIScomesriGeoAnalyst.olb"
  13. //
  14. #pragma once
  15. #pragma pack(push, 8)
  16. #include <comdef.h>
  17. //
  18. // Forward references and typedefs
  19. //
  20. struct __declspec(uuid("d3ce731e-9546-11d2-9f34-00c04f8ed1d7"))
  21. /* interface */ IMapAlgebraOp;
  22. struct __declspec(uuid("4606f16d-b47d-11d2-9f3b-00c04f8ed1d7"))
  23. /* interface */ IDistanceOp;
  24. struct __declspec(uuid("d4ee724a-05fc-4db3-9be8-b2b7c07bb70c"))
  25. /* interface */ IDistanceOp2;
  26. struct __declspec(uuid("4606f16e-b47d-11d2-9f3b-00c04f8ed1d7"))
  27. /* interface */ IZonalOp;
  28. struct __declspec(uuid("4606f167-b47d-11d2-9f3b-00c04f8ed1d7"))
  29. /* interface */ INeighborhoodOp;
  30. struct __declspec(uuid("e4df28f0-d978-11d1-8d1b-0000f8780535"))
  31. /* interface */ IMathOp;
  32. struct __declspec(uuid("1ae2e8b5-ec8c-11d3-9f63-00c04f8ed1d7"))
  33. /* interface */ ITrigOp;
  34. struct __declspec(uuid("1ae2e8b3-ec8c-11d3-9f63-00c04f8ed1d7"))
  35. /* interface */ IBitwiseOp;
  36. struct __declspec(uuid("1ae2e8b4-ec8c-11d3-9f63-00c04f8ed1d7"))
  37. /* interface */ ILogicalOp;
  38. struct __declspec(uuid("273774e8-ead9-11d3-9f93-00c04f8ef00e"))
  39. /* interface */ IGeneralizeOp;
  40. struct __declspec(uuid("768f40da-de80-11d3-9f8a-00c04f8ef00e"))
  41. /* interface */ IHydrologyOp;
  42. struct __declspec(uuid("09ff6571-f398-11d3-9f9b-00c04f8ef00e"))
  43. /* interface */ IConditionalOp;
  44. struct __declspec(uuid("09ff6572-f398-11d3-9f9b-00c04f8ef00e"))
  45. /* interface */ IDensityOp;
  46. struct __declspec(uuid("640e4db5-f223-11d3-a07f-00c04f68e699"))
  47. /* interface */ ILocalOp;
  48. struct __declspec(uuid("7ebb3cc7-fa0e-11d3-a708-0008c7d3af6f"))
  49. /* interface */ IExtractionOp;
  50. struct __declspec(uuid("45d299a3-7103-4251-8cd9-c9411a1eb7a3"))
  51. /* interface */ IExtractionOp2;
  52. struct __declspec(uuid("ec146a20-91c6-11d5-b7ed-00d0591a8628"))
  53. /* interface */ IMultivariateOp;
  54. struct __declspec(uuid("3c0ed7fb-b5c6-47cc-b708-081a5aa7a742"))
  55. /* interface */ IGroundwaterOp;
  56. struct __declspec(uuid("6fd6f6e0-efb0-42bc-8ba2-843ffdfe77ce"))
  57. /* interface */ IPathDistanceHorizontalFactor;
  58. struct __declspec(uuid("42aa082b-2fc2-4939-ad2e-92f563e4356f"))
  59. /* interface */ IPathDistanceVerticalFactor;
  60. struct /* coclass */ RasterDistanceOp;
  61. struct /* coclass */ RasterMapAlgebraOp;
  62. struct /* coclass */ RasterMathOps;
  63. struct /* coclass */ RasterNeighborhoodOp;
  64. struct /* coclass */ RasterZonalOp;
  65. struct /* coclass */ RasterHydrologyOp;
  66. struct /* coclass */ RasterGeneralizeOp;
  67. struct /* coclass */ RasterConditionalOp;
  68. struct /* coclass */ RasterDensityOp;
  69. struct /* coclass */ RasterLocalOp;
  70. struct /* coclass */ RasterExtractionOp;
  71. struct /* coclass */ RasterMultivariateOp;
  72. struct /* coclass */ RasterGroundwaterOp;
  73. struct /* coclass */ PathDistanceHorizontalFactor;
  74. struct /* coclass */ PathDistanceVerticalFactor;
  75. //
  76. // Smart pointer typedef declarations
  77. //
  78. _COM_SMARTPTR_TYPEDEF(IMapAlgebraOp, __uuidof(IMapAlgebraOp));
  79. _COM_SMARTPTR_TYPEDEF(IDistanceOp, __uuidof(IDistanceOp));
  80. _COM_SMARTPTR_TYPEDEF(IDistanceOp2, __uuidof(IDistanceOp2));
  81. _COM_SMARTPTR_TYPEDEF(IZonalOp, __uuidof(IZonalOp));
  82. _COM_SMARTPTR_TYPEDEF(INeighborhoodOp, __uuidof(INeighborhoodOp));
  83. _COM_SMARTPTR_TYPEDEF(IMathOp, __uuidof(IMathOp));
  84. _COM_SMARTPTR_TYPEDEF(ITrigOp, __uuidof(ITrigOp));
  85. _COM_SMARTPTR_TYPEDEF(IBitwiseOp, __uuidof(IBitwiseOp));
  86. _COM_SMARTPTR_TYPEDEF(ILogicalOp, __uuidof(ILogicalOp));
  87. _COM_SMARTPTR_TYPEDEF(IGeneralizeOp, __uuidof(IGeneralizeOp));
  88. _COM_SMARTPTR_TYPEDEF(IHydrologyOp, __uuidof(IHydrologyOp));
  89. _COM_SMARTPTR_TYPEDEF(IConditionalOp, __uuidof(IConditionalOp));
  90. _COM_SMARTPTR_TYPEDEF(IDensityOp, __uuidof(IDensityOp));
  91. _COM_SMARTPTR_TYPEDEF(ILocalOp, __uuidof(ILocalOp));
  92. _COM_SMARTPTR_TYPEDEF(IExtractionOp, __uuidof(IExtractionOp));
  93. _COM_SMARTPTR_TYPEDEF(IExtractionOp2, __uuidof(IExtractionOp2));
  94. _COM_SMARTPTR_TYPEDEF(IMultivariateOp, __uuidof(IMultivariateOp));
  95. _COM_SMARTPTR_TYPEDEF(IGroundwaterOp, __uuidof(IGroundwaterOp));
  96. _COM_SMARTPTR_TYPEDEF(IPathDistanceHorizontalFactor, __uuidof(IPathDistanceHorizontalFactor));
  97. _COM_SMARTPTR_TYPEDEF(IPathDistanceVerticalFactor, __uuidof(IPathDistanceVerticalFactor));
  98. //
  99. // Type library items
  100. //
  101. enum esriGeoAnalysisZonalGeometryEnum
  102. {
  103.     esriGeoAnalysisZonalGeometryArea = 1,
  104.     esriGeoAnalysisZonalGeometryPerimeter = 2,
  105.     esriGeoAnalysisZonalGeometryThickness = 3,
  106.     esriGeoAnalysisZonalGeometryCentroid = 4
  107. };
  108. enum esriGeoAnalysisSortEnum
  109. {
  110.     esriGeoAnalysisSortNone = 1,
  111.     esriGeoAnalysisSortDescending = 2,
  112.     esriGeoAnalysisSortAscending = 3
  113. };
  114. enum esriGeoAnalysisStreamOrderEnum
  115. {
  116.     esriGeoAnalysisStreamOrderStrahler = 1,
  117.     esriGeoAnalysisStreamOrderShreve = 2
  118. };
  119. enum esriGeoAnalysisPathEnum
  120. {
  121.     esriGeoAnalysisPathForEachCell = 1,
  122.     esriGeoAnalysisPathForEachZone = 2,
  123.     esriGeoAnalysisPathBestSingle = 3
  124. };
  125. enum esriGeoAnalysisAPrioriEnum
  126. {
  127.     esriGeoAnalysisAPrioriEqual = 1,
  128.     esriGeoAnalysisAPrioriSample = 2,
  129.     esriGeoAnalysisAPrioriFile = 3
  130. };
  131. enum esriGeoAnalysisAreaUnitsEnum
  132. {
  133.     esriGeoAnalysisAreaSquareMapUnits = 1,
  134.     esriGeoAnalysisAreaSquareMiles = 2,
  135.     esriGeoAnalysisAreaSquareKilometers = 3,
  136.     esriGeoAnalysisAreaAcres = 4,
  137.     esriGeoAnalysisAreaHectares = 5,
  138.     esriGeoAnalysisAreaSquareYards = 6,
  139.     esriGeoAnalysisAreaSquareFeet = 7,
  140.     esriGeoAnalysisAreaSquareInches = 8,
  141.     esriGeoAnalysisAreaSquareMeters = 9,
  142.     esriGeoAnalysisAreaSquareCentimeters = 10,
  143.     esriGeoAnalysisAreaSquareMillimeters = 11
  144. };
  145. enum esriPathDistanceHorizontalEnum
  146. {
  147.     esriPathDistanceHorizontalInvalid = 0,
  148.     esriPathDistanceHorizontalBinary = 1,
  149.     esriPathDistanceHorizontalForward = 2,
  150.     esriPathDistanceHorizontalLinear = 3,
  151.     esriPathDistanceHorizontalInverseLinear = 4,
  152.     esriPathDistanceHorizontalTable = 5
  153. };
  154. enum esriPathDistanceVerticalEnum
  155. {
  156.     esriPathDistanceVerticalInvalid = 0,
  157.     esriPathDistanceVerticalBinary = 1,
  158.     esriPathDistanceVerticalLinear = 2,
  159.     esriPathDistanceVerticalInverseLinear = 3,
  160.     esriPathDistanceVerticalTable = 4,
  161.     esriPathDistanceVerticalSymLinear = 5,
  162.     esriPathDistanceVerticalSymInverseLinear = 6,
  163.     esriPathDistanceVerticalCos = 7,
  164.     esriPathDistanceVerticalSec = 8,
  165.     esriPathDistanceVerticalCosSec = 9,
  166.     esriPathDistanceVerticalSecCos = 10
  167. };
  168. struct __declspec(uuid("d3ce731e-9546-11d2-9f34-00c04f8ed1d7"))
  169. IMapAlgebraOp : IUnknown
  170. {
  171.     //
  172.     // Raw methods provided by interface
  173.     //
  174.     virtual HRESULT __stdcall BindRaster (
  175.         struct IGeoDataset * geoDataset,
  176.         BSTR symbol ) = 0;
  177.     virtual HRESULT __stdcall Execute (
  178.         BSTR expression,
  179.         struct IGeoDataset * * geoDataset ) = 0;
  180.     virtual HRESULT __stdcall UnbindRaster (
  181.         BSTR symbolName ) = 0;
  182. };
  183. struct __declspec(uuid("4606f16d-b47d-11d2-9f3b-00c04f8ed1d7"))
  184. IDistanceOp : IUnknown
  185. {
  186.     //
  187.     // Raw methods provided by interface
  188.     //
  189.     virtual HRESULT __stdcall EucDistance (
  190.         struct IGeoDataset * sourceData,
  191.         VARIANT * maxDistance,
  192.         VARIANT * valueRaster,
  193.         struct IGeoDataset * * distance ) = 0;
  194.     virtual HRESULT __stdcall EucDistanceFull (
  195.         struct IGeoDataset * sourceData,
  196.         VARIANT_BOOL distance,
  197.         VARIANT_BOOL direction,
  198.         VARIANT_BOOL allocation,
  199.         VARIANT * maxDistance,
  200.         VARIANT * valueRaster,
  201.         struct IGeoDataset * * outData ) = 0;
  202.     virtual HRESULT __stdcall EucAllocation (
  203.         struct IGeoDataset * sourceData,
  204.         VARIANT * maxDistance,
  205.         VARIANT * valueRaster,
  206.         struct IGeoDataset * * allocation ) = 0;
  207.     virtual HRESULT __stdcall EucDirection (
  208.         struct IGeoDataset * sourceData,
  209.         VARIANT * maxDistance,
  210.         VARIANT * valueRaster,
  211.         struct IGeoDataset * * allocation ) = 0;
  212.     virtual HRESULT __stdcall CostDistance (
  213.         struct IGeoDataset * sourceData,
  214.         struct IGeoDataset * costRaster,
  215.         VARIANT * maxDistance,
  216.         VARIANT * valueRaster,
  217.         struct IGeoDataset * * distance ) = 0;
  218.     virtual HRESULT __stdcall CostAllocation (
  219.         struct IGeoDataset * sourceData,
  220.         struct IGeoDataset * costRaster,
  221.         VARIANT * maxDistance,
  222.         VARIANT * valueRaster,
  223.         struct IGeoDataset * * allocation ) = 0;
  224.     virtual HRESULT __stdcall CostBackLink (
  225.         struct IGeoDataset * sourceData,
  226.         struct IGeoDataset * costRaster,
  227.         VARIANT * maxDistance,
  228.         VARIANT * valueRaster,
  229.         struct IGeoDataset * * backlink ) = 0;
  230.     virtual HRESULT __stdcall CostDistanceFull (
  231.         struct IGeoDataset * sourceData,
  232.         struct IGeoDataset * costRaster,
  233.         VARIANT_BOOL distance,
  234.         VARIANT_BOOL backlink,
  235.         VARIANT_BOOL allocation,
  236.         VARIANT * maxDistance,
  237.         VARIANT * valueRaster,
  238.         struct IGeoDataset * * outData ) = 0;
  239.     virtual HRESULT __stdcall Corridor (
  240.         struct IGeoDataset * distance1,
  241.         struct IGeoDataset * distance2,
  242.         struct IGeoDataset * * Corridor ) = 0;
  243.     virtual HRESULT __stdcall CostPath (
  244.         struct IGeoDataset * fromData,
  245.         struct IGeoDataset * distance,
  246.         struct IGeoDataset * backlink,
  247.         enum esriGeoAnalysisPathEnum pathType,
  248.         struct IGeoDataset * * CostPath ) = 0;
  249.     virtual HRESULT __stdcall CostPathAsPolyline (
  250.         struct IPointCollection * sourcePoints,
  251.         struct IGeoDataset * distance,
  252.         struct IGeoDataset * backlink,
  253.         struct IGeometryCollection * * CostPath ) = 0;
  254. };
  255. struct __declspec(uuid("d4ee724a-05fc-4db3-9be8-b2b7c07bb70c"))
  256. IDistanceOp2 : IUnknown
  257. {
  258.     //
  259.     // Raw methods provided by interface
  260.     //
  261.     virtual HRESULT __stdcall EucDistance (
  262.         struct IGeoDataset * sourceData,
  263.         VARIANT * maxDistance,
  264.         VARIANT * valueRaster,
  265.         struct IGeoDataset * * distance ) = 0;
  266.     virtual HRESULT __stdcall EucDistanceFull (
  267.         struct IGeoDataset * sourceData,
  268.         VARIANT_BOOL distance,
  269.         VARIANT_BOOL direction,
  270.         VARIANT_BOOL allocation,
  271.         VARIANT * maxDistance,
  272.         VARIANT * valueRaster,
  273.         struct IGeoDataset * * outData ) = 0;
  274.     virtual HRESULT __stdcall EucAllocation (
  275.         struct IGeoDataset * sourceData,
  276.         VARIANT * maxDistance,
  277.         VARIANT * valueRaster,
  278.         struct IGeoDataset * * allocation ) = 0;
  279.     virtual HRESULT __stdcall EucDirection (
  280.         struct IGeoDataset * sourceData,
  281.         VARIANT * maxDistance,
  282.         VARIANT * valueRaster,
  283.         struct IGeoDataset * * allocation ) = 0;
  284.     virtual HRESULT __stdcall CostDistance (
  285.         struct IGeoDataset * sourceData,
  286.         struct IGeoDataset * costRaster,
  287.         VARIANT * maxDistance,
  288.         VARIANT * valueRaster,
  289.         struct IGeoDataset * * distance ) = 0;
  290.     virtual HRESULT __stdcall CostAllocation (
  291.         struct IGeoDataset * sourceData,
  292.         struct IGeoDataset * costRaster,
  293.         VARIANT * maxDistance,
  294.         VARIANT * valueRaster,
  295.         struct IGeoDataset * * allocation ) = 0;
  296.     virtual HRESULT __stdcall CostBackLink (
  297.         struct IGeoDataset * sourceData,
  298.         struct IGeoDataset * costRaster,
  299.         VARIANT * maxDistance,
  300.         VARIANT * valueRaster,
  301.         struct IGeoDataset * * backlink ) = 0;
  302.     virtual HRESULT __stdcall CostDistanceFull (
  303.         struct IGeoDataset * sourceData,
  304.         struct IGeoDataset * costRaster,
  305.         VARIANT_BOOL distance,
  306.         VARIANT_BOOL backlink,
  307.         VARIANT_BOOL allocation,
  308.         VARIANT * maxDistance,
  309.         VARIANT * valueRaster,
  310.         struct IGeoDataset * * outData ) = 0;
  311.     virtual HRESULT __stdcall Corridor (
  312.         struct IGeoDataset * distance1,
  313.         struct IGeoDataset * distance2,
  314.         struct IGeoDataset * * Corridor ) = 0;
  315.     virtual HRESULT __stdcall CostPath (
  316.         struct IGeoDataset * fromData,
  317.         struct IGeoDataset * distance,
  318.         struct IGeoDataset * backlink,
  319.         enum esriGeoAnalysisPathEnum pathType,
  320.         struct IGeoDataset * * CostPath ) = 0;
  321.     virtual HRESULT __stdcall CostPathAsPolyline (
  322.         struct IPointCollection * sourcePoints,
  323.         struct IGeoDataset * distance,
  324.         struct IGeoDataset * backlink,
  325.         struct IGeometryCollection * * CostPath ) = 0;
  326.     virtual HRESULT __stdcall PathDistance (
  327.         struct IGeoDataset * sourceData,
  328.         VARIANT * costRaster,
  329.         VARIANT * surfaceRaster,
  330.         VARIANT * horizRaster,
  331.         VARIANT * horizFactor,
  332.         VARIANT * vertRaster,
  333.         VARIANT * vertFactor,
  334.         VARIANT * maxDistance,
  335.         VARIANT * valueRaster,
  336.         struct IGeoDataset * * distance ) = 0;
  337.     virtual HRESULT __stdcall PathAllocation (
  338.         struct IGeoDataset * sourceData,
  339.         VARIANT * costRaster,
  340.         VARIANT * surfaceRaster,
  341.         VARIANT * horizRaster,
  342.         VARIANT * horizFactor,
  343.         VARIANT * vertRaster,
  344.         VARIANT * vertFactor,
  345.         VARIANT * maxDistance,
  346.         VARIANT * valueRaster,
  347.         struct IGeoDataset * * distance ) = 0;
  348.     virtual HRESULT __stdcall PathBackLink (
  349.         struct IGeoDataset * sourceData,
  350.         VARIANT * costRaster,
  351.         VARIANT * surfaceRaster,
  352.         VARIANT * horizRaster,
  353.         VARIANT * horizFactor,
  354.         VARIANT * vertRaster,
  355.         VARIANT * vertFactor,
  356.         VARIANT * maxDistance,
  357.         VARIANT * valueRaster,
  358.         struct IGeoDataset * * distance ) = 0;
  359.     virtual HRESULT __stdcall PathDistanceFull (
  360.         struct IGeoDataset * sourceData,
  361.         VARIANT_BOOL distance,
  362.         VARIANT_BOOL backlink,
  363.         VARIANT_BOOL allocation,
  364.         VARIANT * costRaster,
  365.         VARIANT * surfaceRaster,
  366.         VARIANT * horizRaster,
  367.         VARIANT * horizFactor,
  368.         VARIANT * vertRaster,
  369.         VARIANT * vertFactor,
  370.         VARIANT * maxDistance,
  371.         VARIANT * valueRaster,
  372.         struct IGeoDataset * * outData ) = 0;
  373. };
  374. struct __declspec(uuid("4606f16e-b47d-11d2-9f3b-00c04f8ed1d7"))
  375. IZonalOp : IUnknown
  376. {
  377.     //
  378.     // Raw methods provided by interface
  379.     //
  380.     virtual HRESULT __stdcall ZonalStatistics (
  381.         struct IGeoDataset * zone,
  382.         struct IGeoDataset * value,
  383.         enum esriGeoAnalysisStatisticsEnum Type,
  384.         VARIANT_BOOL ignoreNoData,
  385.         struct IGeoDataset * * statisticsGeoDataset ) = 0;
  386.     virtual HRESULT __stdcall ZonalStatisticsAsTable (
  387.         struct IGeoDataset * zone,
  388.         struct IGeoDataset * value,
  389.         VARIANT_BOOL ignoreNoData,
  390.         struct ITable * * statisticsTable ) = 0;
  391.     virtual HRESULT __stdcall ZonalGeometry (
  392.         struct IGeoDataset * zoneDataset,
  393.         enum esriGeoAnalysisZonalGeometryEnum Type,
  394.         struct IGeoDataset * * geometryGeoDataset ) = 0;
  395.     virtual HRESULT __stdcall ZonalGeometryAsTable (
  396.         struct IGeoDataset * geoDataset,
  397.         struct ITable * * geometryTable ) = 0;
  398.     virtual HRESULT __stdcall ZonalFill (
  399.         struct IGeoDataset * zoneDataset,
  400.         struct IGeoDataset * weightDataset,
  401.         struct IGeoDataset * * geometryGeoDataset ) = 0;
  402.     virtual HRESULT __stdcall TabulateArea (
  403.         struct IGeoDataset * zoneDataset,
  404.         struct IGeoDataset * classDataset,
  405.         struct ITable * * geometryTable ) = 0;
  406. };
  407. struct __declspec(uuid("4606f167-b47d-11d2-9f3b-00c04f8ed1d7"))
  408. INeighborhoodOp : IUnknown
  409. {
  410.     //
  411.     // Raw methods provided by interface
  412.     //
  413.     virtual HRESULT __stdcall BlockStatistics (
  414.         struct IGeoDataset * geoDataset,
  415.         enum esriGeoAnalysisStatisticsEnum Type,
  416.         struct IRasterNeighborhood * nbrhood,
  417.         VARIANT_BOOL ignoreNoData,
  418.         struct IGeoDataset * * outGeodataset ) = 0;
  419.     virtual HRESULT __stdcall Filter (
  420.         struct IGeoDataset * geoDataset,
  421.         enum esriGeoAnalysisFilterEnum Type,
  422.         VARIANT_BOOL ignoreNoData,
  423.         struct IGeoDataset * * outGeodataset ) = 0;
  424.     virtual HRESULT __stdcall FocalStatistics (
  425.         struct IGeoDataset * geoDataset,
  426.         enum esriGeoAnalysisStatisticsEnum Type,
  427.         struct IRasterNeighborhood * nbrhood,
  428.         VARIANT_BOOL ignoreNoData,
  429.         struct IGeoDataset * * outGeodataset ) = 0;
  430.     virtual HRESULT __stdcall FocalFlow (
  431.         struct IGeoDataset * geoDataset,
  432.         VARIANT * thresholdValue,
  433.         struct IGeoDataset * * outGeodataset ) = 0;
  434.     virtual HRESULT __stdcall PointStatistics (
  435.         struct IGeoDataset * pointDataset,
  436.         enum esriGeoAnalysisStatisticsEnum Type,
  437.         struct IRasterNeighborhood * nbrhood,
  438.         struct IGeoDataset * * outGeodataset ) = 0;
  439.     virtual HRESULT __stdcall LineStatistics (
  440.         struct IGeoDataset * lineDataset,
  441.         enum esriGeoAnalysisStatisticsEnum Type,
  442.         double radius,
  443.         struct IGeoDataset * * outGeodataset ) = 0;
  444. };
  445. struct __declspec(uuid("e4df28f0-d978-11d1-8d1b-0000f8780535"))
  446. IMathOp : IUnknown
  447. {
  448.     //
  449.     // Raw methods provided by interface
  450.     //
  451.     virtual HRESULT __stdcall Divide (
  452.         struct IGeoDataset * geoDataset1,
  453.         struct IGeoDataset * geoDataset2,
  454.         struct IGeoDataset * * outGeodataset ) = 0;
  455.     virtual HRESULT __stdcall Minus (
  456.         struct IGeoDataset * geoDataset1,
  457.         struct IGeoDataset * geoDataset2,
  458.         struct IGeoDataset * * outGeodataset ) = 0;
  459.     virtual HRESULT __stdcall Plus (
  460.         struct IGeoDataset * geoDataset1,
  461.         struct IGeoDataset * geoDataset2,
  462.         struct IGeoDataset * * outGeodataset ) = 0;
  463.     virtual HRESULT __stdcall Times (
  464.         struct IGeoDataset * geoDataset1,
  465.         struct IGeoDataset * geoDataset2,
  466.         struct IGeoDataset * * outGeodataset ) = 0;
  467.     virtual HRESULT __stdcall Mod (
  468.         struct IGeoDataset * geoDataset1,
  469.         struct IGeoDataset * geoDataset2,
  470.         struct IGeoDataset * * outGeodataset ) = 0;
  471.     virtual HRESULT __stdcall Abs (
  472.         struct IGeoDataset * geoDataset,
  473.         struct IGeoDataset * * outGeodataset ) = 0;
  474.     virtual HRESULT __stdcall Float (
  475.         struct IGeoDataset * geoDataset,
  476.         struct IGeoDataset * * outGeodataset ) = 0;
  477.     virtual HRESULT __stdcall Exp (
  478.         struct IGeoDataset * geoDataset,
  479.         struct IGeoDataset * * outGeodataset ) = 0;
  480.     virtual HRESULT __stdcall Exp2 (
  481.         struct IGeoDataset * geoDataset,
  482.         struct IGeoDataset * * outGeodataset ) = 0;
  483.     virtual HRESULT __stdcall Exp10 (
  484.         struct IGeoDataset * geoDataset,
  485.         struct IGeoDataset * * outGeodataset ) = 0;
  486.     virtual HRESULT __stdcall Ln (
  487.         struct IGeoDataset * geoDataset,
  488.         struct IGeoDataset * * outGeodataset ) = 0;
  489.     virtual HRESULT __stdcall Log2 (
  490.         struct IGeoDataset * geoDataset,
  491.         struct IGeoDataset * * outGeodataset ) = 0;
  492.     virtual HRESULT __stdcall Log10 (
  493.         struct IGeoDataset * geoDataset,
  494.         struct IGeoDataset * * outGeodataset ) = 0;
  495.     virtual HRESULT __stdcall Negate (
  496.         struct IGeoDataset * geoDataset,
  497.         struct IGeoDataset * * outGeodataset ) = 0;
  498.     virtual HRESULT __stdcall Power (
  499.         struct IGeoDataset * geoDataset,
  500.         double Power,
  501.         struct IGeoDataset * * outGeodataset ) = 0;
  502.     virtual HRESULT __stdcall RoundDown (
  503.         struct IGeoDataset * geoDataset,
  504.         struct IGeoDataset * * outGeodataset ) = 0;
  505.     virtual HRESULT __stdcall RoundUp (
  506.         struct IGeoDataset * geoDataset,
  507.         struct IGeoDataset * * outGeodataset ) = 0;
  508.     virtual HRESULT __stdcall Square (
  509.         struct IGeoDataset * geoDataset,
  510.         struct IGeoDataset * * outGeodataset ) = 0;
  511.     virtual HRESULT __stdcall SquareRoot (
  512.         struct IGeoDataset * geoDataset,
  513.         struct IGeoDataset * * outGeodataset ) = 0;
  514.     virtual HRESULT __stdcall Int (
  515.         struct IGeoDataset * geoDataset,
  516.         struct IGeoDataset * * outGeodataset ) = 0;
  517.     virtual HRESULT __stdcall PowerByCellValue (
  518.         struct IGeoDataset * geoDataset,
  519.         struct IGeoDataset * powerDataset,
  520.         struct IGeoDataset * * outGeodataset ) = 0;
  521. };
  522. struct __declspec(uuid("1ae2e8b5-ec8c-11d3-9f63-00c04f8ed1d7"))
  523. ITrigOp : IUnknown
  524. {
  525.     //
  526.     // Raw methods provided by interface
  527.     //
  528.     virtual HRESULT __stdcall ACos (
  529.         struct IGeoDataset * geoDataset,
  530.         struct IGeoDataset * * outGeodataset ) = 0;
  531.     virtual HRESULT __stdcall ACosH (
  532.         struct IGeoDataset * geoDataset,
  533.         struct IGeoDataset * * outGeodataset ) = 0;
  534.     virtual HRESULT __stdcall ASin (
  535.         struct IGeoDataset * geoDataset,
  536.         struct IGeoDataset * * outGeodataset ) = 0;
  537.     virtual HRESULT __stdcall ASinH (
  538.         struct IGeoDataset * geoDataset,
  539.         struct IGeoDataset * * outGeodataset ) = 0;
  540.     virtual HRESULT __stdcall ATan (
  541.         struct IGeoDataset * geoDataset,
  542.         struct IGeoDataset * * outGeodataset ) = 0;
  543.     virtual HRESULT __stdcall ATan2 (
  544.         struct IGeoDataset * geoDatasetX,
  545.         struct IGeoDataset * geoDatasetY,
  546.         struct IGeoDataset * * outGeodataset ) = 0;
  547.     virtual HRESULT __stdcall ATanH (
  548.         struct IGeoDataset * geoDataset,
  549.         struct IGeoDataset * * outGeodataset ) = 0;
  550.     virtual HRESULT __stdcall Cos (
  551.         struct IGeoDataset * geoDataset,
  552.         struct IGeoDataset * * outGeodataset ) = 0;
  553.     virtual HRESULT __stdcall CosH (
  554.         struct IGeoDataset * geoDataset,
  555.         struct IGeoDataset * * outGeodataset ) = 0;
  556.     virtual HRESULT __stdcall Sin (
  557.         struct IGeoDataset * geoDataset,
  558.         struct IGeoDataset * * outGeodataset ) = 0;
  559.     virtual HRESULT __stdcall SinH (
  560.         struct IGeoDataset * geoDataset,
  561.         struct IGeoDataset * * outGeodataset ) = 0;
  562.     virtual HRESULT __stdcall Tan (
  563.         struct IGeoDataset * geoDataset,
  564.         struct IGeoDataset * * outGeodataset ) = 0;
  565.     virtual HRESULT __stdcall TanH (
  566.         struct IGeoDataset * geoDataset,
  567.         struct IGeoDataset * * outGeodataset ) = 0;
  568. };
  569. struct __declspec(uuid("1ae2e8b3-ec8c-11d3-9f63-00c04f8ed1d7"))
  570. IBitwiseOp : IUnknown
  571. {
  572.     //
  573.     // Raw methods provided by interface
  574.     //
  575.     virtual HRESULT __stdcall And (
  576.         struct IGeoDataset * geoDataset1,
  577.         struct IGeoDataset * geoDataset2,
  578.         struct IGeoDataset * * outGeodataset ) = 0;
  579.     virtual HRESULT __stdcall Not (
  580.         struct IGeoDataset * geoDataset,
  581.         struct IGeoDataset * * outGeodataset ) = 0;
  582.     virtual HRESULT __stdcall Or (
  583.         struct IGeoDataset * geoDataset1,
  584.         struct IGeoDataset * geoDataset2,
  585.         struct IGeoDataset * * outGeodataset ) = 0;
  586.     virtual HRESULT __stdcall XOr (
  587.         struct IGeoDataset * geoDataset1,
  588.         struct IGeoDataset * geoDataset2,
  589.         struct IGeoDataset * * outGeodataset ) = 0;
  590.     virtual HRESULT __stdcall RightShift (
  591.         struct IGeoDataset * geoDataset1,
  592.         struct IGeoDataset * geoDataset2,
  593.         struct IGeoDataset * * outGeodataset ) = 0;
  594.     virtual HRESULT __stdcall LeftShift (
  595.         struct IGeoDataset * geoDataset1,
  596.         struct IGeoDataset * geoDataset2,
  597.         struct IGeoDataset * * outGeodataset ) = 0;
  598. };
  599. struct __declspec(uuid("1ae2e8b4-ec8c-11d3-9f63-00c04f8ed1d7"))
  600. ILogicalOp : IUnknown
  601. {
  602.     //
  603.     // Raw methods provided by interface
  604.     //
  605.     virtual HRESULT __stdcall BooleanAnd (
  606.         struct IGeoDataset * geoDataset1,
  607.         struct IGeoDataset * geoDataset2,
  608.         struct IGeoDataset * * outGeodataset ) = 0;
  609.     virtual HRESULT __stdcall BooleanNot (
  610.         struct IGeoDataset * geoDataset,
  611.         struct IGeoDataset * * outGeodataset ) = 0;
  612.     virtual HRESULT __stdcall BooleanOr (
  613.         struct IGeoDataset * geoDataset1,
  614.         struct IGeoDataset * geoDataset2,
  615.         struct IGeoDataset * * outGeodataset ) = 0;
  616.     virtual HRESULT __stdcall BooleanXOr (
  617.         struct IGeoDataset * geoDataset1,
  618.         struct IGeoDataset * geoDataset2,
  619.         struct IGeoDataset * * outGeodataset ) = 0;
  620.     virtual HRESULT __stdcall CombinatorialAnd (
  621.         struct IGeoDataset * geoDataset1,
  622.         struct IGeoDataset * geoDataset2,
  623.         struct IGeoDataset * * outGeodataset ) = 0;
  624.     virtual HRESULT __stdcall CombinatorialOr (
  625.         struct IGeoDataset * geoDataset1,
  626.         struct IGeoDataset * geoDataset2,
  627.         struct IGeoDataset * * outGeodataset ) = 0;
  628.     virtual HRESULT __stdcall CombinatorialXOr (
  629.         struct IGeoDataset * geoDataset1,
  630.         struct IGeoDataset * geoDataset2,
  631.         struct IGeoDataset * * outGeodataset ) = 0;
  632.     virtual HRESULT __stdcall GreaterThan (
  633.         struct IGeoDataset * geoDataset1,
  634.         struct IGeoDataset * geoDataset2,
  635.         struct IGeoDataset * * outGeodataset ) = 0;
  636.     virtual HRESULT __stdcall GreaterThanEqual (
  637.         struct IGeoDataset * geoDataset1,
  638.         struct IGeoDataset * geoDataset2,
  639.         struct IGeoDataset * * outGeodataset ) = 0;
  640.     virtual HRESULT __stdcall LessThan (
  641.         struct IGeoDataset * geoDataset1,
  642.         struct IGeoDataset * geoDataset2,
  643.         struct IGeoDataset * * outGeodataset ) = 0;
  644.     virtual HRESULT __stdcall LessThanEqual (
  645.         struct IGeoDataset * geoDataset1,
  646.         struct IGeoDataset * geoDataset2,
  647.         struct IGeoDataset * * outGeodataset ) = 0;
  648.     virtual HRESULT __stdcall EqualTo (
  649.         struct IGeoDataset * geoDataset1,
  650.         struct IGeoDataset * geoDataset2,
  651.         struct IGeoDataset * * outGeodataset ) = 0;
  652.     virtual HRESULT __stdcall NotEqual (
  653.         struct IGeoDataset * geoDataset1,
  654.         struct IGeoDataset * geoDataset2,
  655.         struct IGeoDataset * * outGeodataset ) = 0;
  656.     virtual HRESULT __stdcall Test (
  657.         struct IRasterDescriptor * geoDataset,
  658.         struct IGeoDataset * * outGeodataset ) = 0;
  659.     virtual HRESULT __stdcall IsNull (
  660.         struct IGeoDataset * geoDataset,
  661.         struct IGeoDataset * * outGeodataset ) = 0;
  662. };
  663. struct __declspec(uuid("273774e8-ead9-11d3-9f93-00c04f8ef00e"))
  664. IGeneralizeOp : IUnknown
  665. {
  666.     //
  667.     // Raw methods provided by interface
  668.     //
  669.     virtual HRESULT __stdcall Aggregate (
  670.         struct IGeoDataset * Raster,
  671.         long cellFactor,
  672.         enum esriGeoAnalysisStatisticsEnum aggregationType,
  673.         VARIANT_BOOL expandExtent,
  674.         VARIANT_BOOL ignoreNoData,
  675.         struct IGeoDataset * * Aggregate ) = 0;
  676.     virtual HRESULT __stdcall BoundaryClean (
  677.         struct IGeoDataset * Raster,
  678.         enum esriGeoAnalysisSortEnum sortType,
  679.         VARIANT_BOOL runTwice,
  680.         struct IGeoDataset * * BoundaryClean ) = 0;
  681.     virtual HRESULT __stdcall Expand (
  682.         struct IGeoDataset * Raster,
  683.         long numberCells,
  684.         VARIANT * zoneList,
  685.         struct IGeoDataset * * Expand ) = 0;
  686.     virtual HRESULT __stdcall MajorityFilter (
  687.         struct IGeoDataset * Raster,
  688.         VARIANT_BOOL useDiagonalNeighbors,
  689.         VARIANT_BOOL halfIsMajority,
  690.         struct IGeoDataset * * MajorityFilter ) = 0;
  691.     virtual HRESULT __stdcall Nibble (
  692.         struct IGeoDataset * Raster,
  693.         struct IGeoDataset * maskRaster,
  694.         VARIANT_BOOL useNoData,
  695.         struct IGeoDataset * * Nibble ) = 0;
  696.     virtual HRESULT __stdcall RegionGroup (
  697.         struct IGeoDataset * Raster,
  698.         VARIANT_BOOL useDiagonalNeighbors,
  699.         VARIANT_BOOL withinZones,
  700.         VARIANT_BOOL createLinkField,
  701.         VARIANT * excludedValue,
  702.         struct IGeoDataset * * RegionGroup ) = 0;
  703.     virtual HRESULT __stdcall Resample (
  704.         struct IGeoDataset * Raster,
  705.         double newCellSize,
  706.         enum esriGeoAnalysisResampleEnum resampleType,
  707.         struct IGeoDataset * * Resample ) = 0;
  708.     virtual HRESULT __stdcall Shrink (
  709.         struct IGeoDataset * Raster,
  710.         long numberCells,
  711.         VARIANT * zoneList,
  712.         struct IGeoDataset * * Shrink ) = 0;
  713.     virtual HRESULT __stdcall Thin (
  714.         struct IGeoDataset * Raster,
  715.         VARIANT_BOOL backgroundIsNoData,
  716.         VARIANT_BOOL filterData,
  717.         VARIANT_BOOL roundCorners,
  718.         VARIANT * maxThickness,
  719.         struct IGeoDataset * * Thin ) = 0;
  720. };
  721. struct __declspec(uuid("768f40da-de80-11d3-9f8a-00c04f8ef00e"))
  722. IHydrologyOp : IUnknown
  723. {
  724.     //
  725.     // Raw methods provided by interface
  726.     //
  727.     virtual HRESULT __stdcall Basin (
  728.         struct IGeoDataset * directionRaster,
  729.         struct IGeoDataset * * Basin ) = 0;
  730.     virtual HRESULT __stdcall Fill (
  731.         struct IGeoDataset * surfaceRaster,
  732.         VARIANT * zLimit,
  733.         struct IGeoDataset * * Fill ) = 0;
  734.     virtual HRESULT __stdcall FlowAccumulation (
  735.         struct IGeoDataset * directionRaster,
  736.         VARIANT * weightRaster,
  737.         struct IGeoDataset * * FlowAccumulation ) = 0;
  738.     virtual HRESULT __stdcall FlowDirection (
  739.         struct IGeoDataset * surfaceRaster,
  740.         VARIANT_BOOL createDrop,
  741.         VARIANT_BOOL forceFlowAtEdge,
  742.         struct IGeoDataset * * FlowDirection ) = 0;
  743.     virtual HRESULT __stdcall FlowLength (
  744.         struct IGeoDataset * directionRaster,
  745.         VARIANT_BOOL downStream,
  746.         VARIANT * weightRaster,
  747.         struct IGeoDataset * * FlowLength ) = 0;
  748.     virtual HRESULT __stdcall Sink (
  749.         struct IGeoDataset * directionRaster,
  750.         struct IGeoDataset * * Sink ) = 0;
  751.     virtual HRESULT __stdcall SnapPourPoint (
  752.         struct IGeoDataset * sourceDataset,
  753.         struct IGeoDataset * accumulationRaster,
  754.         double snapDistance,
  755.         struct IGeoDataset * * SnapPourPoint ) = 0;
  756.     virtual HRESULT __stdcall StreamLink (
  757.         struct IGeoDataset * streamRaster,
  758.         struct IGeoDataset * directionRaster,
  759.         struct IGeoDataset * * StreamLink ) = 0;
  760.     virtual HRESULT __stdcall StreamOrder (
  761.         struct IGeoDataset * streamRaster,
  762.         struct IGeoDataset * directionRaster,
  763.         enum esriGeoAnalysisStreamOrderEnum orderType,
  764.         struct IGeoDataset * * StreamOrder ) = 0;
  765.     virtual HRESULT __stdcall StreamToFeature (
  766.         struct IGeoDataset * streamRaster,
  767.         struct IGeoDataset * directionRaster,
  768.         VARIANT_BOOL performWeeding,
  769.         struct IGeoDataset * * ppStreamToFeature ) = 0;
  770.     virtual HRESULT __stdcall Watershed (
  771.         struct IGeoDataset * directionRaster,
  772.         struct IGeoDataset * sourceDataset,
  773.         struct IGeoDataset * * Watershed ) = 0;
  774. };
  775. struct __declspec(uuid("09ff6571-f398-11d3-9f9b-00c04f8ef00e"))
  776. IConditionalOp : IUnknown
  777. {
  778.     //
  779.     // Raw methods provided by interface
  780.     //
  781.     virtual HRESULT __stdcall Con (
  782.         struct IGeoDataset * conditionalRaster,
  783.         struct IGeoDataset * trueRaster,
  784.         VARIANT * falseRaster,
  785.         struct IGeoDataset * * Con ) = 0;
  786.     virtual HRESULT __stdcall SetNull (
  787.         struct IGeoDataset * conditionalRaster,
  788.         struct IGeoDataset * falseRaster,
  789.         struct IGeoDataset * * SetNull ) = 0;
  790.     virtual HRESULT __stdcall Pick (
  791.         struct IGeoDataset * valueRaster,
  792.         struct IGeoDataset * collectionOfRasters,
  793.         struct IGeoDataset * * Pick ) = 0;
  794. };
  795. struct __declspec(uuid("09ff6572-f398-11d3-9f9b-00c04f8ef00e"))
  796. IDensityOp : IUnknown
  797. {
  798.     //
  799.     // Raw methods provided by interface
  800.     //
  801.     virtual HRESULT __stdcall PointDensity (
  802.         struct IGeoDataset * pointFeatures,
  803.         struct IRasterNeighborhood * nbrhood,
  804.         VARIANT * scaleFactor,
  805.         struct IGeoDataset * * PointDensity ) = 0;
  806.     virtual HRESULT __stdcall LineDensity (
  807.         struct IGeoDataset * lineFeatures,
  808.         VARIANT * radiusDistance,
  809.         VARIANT * scaleFactor,
  810.         struct IGeoDataset * * LineDensity ) = 0;
  811.     virtual HRESULT __stdcall KernelDensity (
  812.         struct IGeoDataset * sourceFeatures,
  813.         VARIANT * radiusDistance,
  814.         VARIANT * scaleFactor,
  815.         struct IGeoDataset * * KernelDensity ) = 0;
  816. };
  817. struct __declspec(uuid("640e4db5-f223-11d3-a07f-00c04f68e699"))
  818. ILocalOp : IUnknown
  819. {
  820.     //
  821.     // Raw methods provided by interface
  822.     //
  823.     virtual HRESULT __stdcall LocalStatistics (
  824.         struct IGeoDataset * LocalData,
  825.         enum esriGeoAnalysisStatisticsEnum Type,
  826.         struct IGeoDataset * * statisticsGeoDataset ) = 0;
  827.     virtual HRESULT __stdcall EqualTo (
  828.         struct IGeoDataset * ValueData,
  829.         struct IGeoDataset * LocalData,
  830.         struct IGeoDataset * * outGeodataset ) = 0;
  831.     virtual HRESULT __stdcall GreaterThan (
  832.         struct IGeoDataset * ValueData,
  833.         struct IGeoDataset * LocalData,
  834.         struct IGeoDataset * * outGeodataset ) = 0;
  835.     virtual HRESULT __stdcall LessThan (
  836.         struct IGeoDataset * ValueData,
  837.         struct IGeoDataset * LocalData,
  838.         struct IGeoDataset * * outGeodataset ) = 0;
  839.     virtual HRESULT __stdcall Popularity (
  840.         struct IGeoDataset * ValueData,
  841.         struct IGeoDataset * LocalData,
  842.         struct IGeoDataset * * outGeodataset ) = 0;
  843.     virtual HRESULT __stdcall Rank (
  844.         struct IGeoDataset * ValueData,
  845.         struct IGeoDataset * LocalData,
  846.         struct IGeoDataset * * outGeodataset ) = 0;
  847.     virtual HRESULT __stdcall LowestPosition (
  848.         struct IGeoDataset * LocalData,
  849.         struct IGeoDataset * * outGeodataset ) = 0;
  850.     virtual HRESULT __stdcall HighestPosition (
  851.         struct IGeoDataset * LocalData,
  852.         struct IGeoDataset * * outGeodataset ) = 0;
  853.     virtual HRESULT __stdcall Combine (
  854.         struct IGeoDataset * LocalData,
  855.         struct IGeoDataset * * outGeodataset ) = 0;
  856. };
  857. struct __declspec(uuid("7ebb3cc7-fa0e-11d3-a708-0008c7d3af6f"))
  858. IExtractionOp : IUnknown
  859. {
  860.     //
  861.     // Raw methods provided by interface
  862.     //
  863.     virtual HRESULT __stdcall Attribute (
  864.         struct IRasterDescriptor * Raster,
  865.         struct IGeoDataset * * outGeodataset ) = 0;
  866.     virtual HRESULT __stdcall Circle (
  867.         struct IGeoDataset * geoDataset,
  868.         struct ICircularArc * Circle,
  869.         VARIANT_BOOL selectInside,
  870.         struct IGeoDataset * * outGeodataset ) = 0;
  871.     virtual HRESULT __stdcall Raster (
  872.         struct IGeoDataset * geoDataset,
  873.         struct IGeoDataset * maskRaster,
  874.         struct IGeoDataset * * outGeodataset ) = 0;
  875.     virtual HRESULT __stdcall Points (
  876.         struct IGeoDataset * geoDataset,
  877.         struct IPointCollection * Points,
  878.         VARIANT_BOOL selectInside,
  879.         struct IGeoDataset * * outGeodataset ) = 0;
  880.     virtual HRESULT __stdcall Polygon (
  881.         struct IGeoDataset * geoDataset,
  882.         struct IPolygon * Polygon,
  883.         VARIANT_BOOL selectInside,
  884.         struct IGeoDataset * * outGeodataset ) = 0;
  885.     virtual HRESULT __stdcall Rectangle (
  886.         struct IGeoDataset * geoDataset,
  887.         struct IEnvelope * rectangleEnvelope,
  888.         VARIANT_BOOL selectInside,
  889.         struct IGeoDataset * * outGeodataset ) = 0;
  890.     virtual HRESULT __stdcall Sample (
  891.         struct IGeoDataset * locationDataset,
  892.         struct IGeoDataset * collectionOfRasters,
  893.         enum esriGeoAnalysisResampleEnum resampleType,
  894.         struct ITable * * outTable ) = 0;
  895. };
  896. struct __declspec(uuid("45d299a3-7103-4251-8cd9-c9411a1eb7a3"))
  897. IExtractionOp2 : IUnknown
  898. {
  899.     //
  900.     // Raw methods provided by interface
  901.     //
  902.     virtual HRESULT __stdcall Attribute (
  903.         struct IRasterDescriptor * Raster,
  904.         struct IGeoDataset * * outGeodataset ) = 0;
  905.     virtual HRESULT __stdcall Circle (
  906.         struct IGeoDataset * geoDataset,
  907.         struct ICircularArc * Circle,
  908.         VARIANT_BOOL selectInside,
  909.         struct IGeoDataset * * outGeodataset ) = 0;
  910.     virtual HRESULT __stdcall Raster (
  911.         struct IGeoDataset * geoDataset,
  912.         struct IGeoDataset * maskRaster,
  913.         struct IGeoDataset * * outGeodataset ) = 0;
  914.     virtual HRESULT __stdcall Points (
  915.         struct IGeoDataset * geoDataset,
  916.         struct IPointCollection * Points,
  917.         VARIANT_BOOL selectInside,
  918.         struct IGeoDataset * * outGeodataset ) = 0;
  919.     virtual HRESULT __stdcall Polygon (
  920.         struct IGeoDataset * geoDataset,
  921.         struct IPolygon * Polygon,
  922.         VARIANT_BOOL selectInside,
  923.         struct IGeoDataset * * outGeodataset ) = 0;
  924.     virtual HRESULT __stdcall Rectangle (
  925.         struct IGeoDataset * geoDataset,
  926.         struct IEnvelope * rectangleEnvelope,
  927.         VARIANT_BOOL selectInside,
  928.         struct IGeoDataset * * outGeodataset ) = 0;
  929.     virtual HRESULT __stdcall Sample (
  930.         struct IGeoDataset * locationDataset,
  931.         struct IGeoDataset * collectionOfRasters,
  932.         enum esriGeoAnalysisResampleEnum resampleType,
  933.         struct ITable * * outTable ) = 0;
  934.     virtual HRESULT __stdcall ExtractValuesToPoints (
  935.         struct IGeoDataset * pointDataset,
  936.         struct IGeoDataset * valueRaster,
  937.         VARIANT_BOOL interpolateValues,
  938.         VARIANT_BOOL allAttributes,
  939.         struct IGeoDataset * * outGeodataset ) = 0;
  940. };
  941. struct __declspec(uuid("ec146a20-91c6-11d5-b7ed-00d0591a8628"))
  942. IMultivariateOp : IUnknown
  943. {
  944.     //
  945.     // Raw methods provided by interface
  946.     //
  947.     virtual HRESULT __stdcall ClassProbability (
  948.         struct IGeoDataset * rasterBands,
  949.         BSTR signatureFile,
  950.         enum esriGeoAnalysisAPrioriEnum aPrioriWeighting,
  951.         VARIANT aPrioriFile,
  952.         VARIANT outputScalingFactor,
  953.         struct IGeoDataset * * probabilityStack ) = 0;
  954.     virtual HRESULT __stdcall CreateSignatures (
  955.         struct IGeoDataset * rasterBands,
  956.         struct IGeoDataset * sampleDataset,
  957.         BSTR signatureFile,
  958.         VARIANT_BOOL computeCovariance ) = 0;
  959.     virtual HRESULT __stdcall Dendrogram (
  960.         BSTR signatureFile,
  961.         BSTR dendrogramFile,
  962.         VARIANT_BOOL computeWithVariance,
  963.         VARIANT lineWidth = vtMissing ) = 0;
  964.     virtual HRESULT __stdcall EditSignatures (
  965.         struct IGeoDataset * rasterBands,
  966.         BSTR signatureFile,
  967.         BSTR signatureRemapFile,
  968.         BSTR newSignatureFile,
  969.         VARIANT sampleInterval = vtMissing ) = 0;
  970.     virtual HRESULT __stdcall IsoCluster (
  971.         struct IGeoDataset * rasterBands,
  972.         BSTR signatureFile,
  973.         long numberClasses,
  974.         VARIANT numberIterations = vtMissing,
  975.         VARIANT minimumClassSize = vtMissing,
  976.         VARIANT sampleInterval = vtMissing ) = 0;
  977.     virtual HRESULT __stdcall MLClassify (
  978.         struct IGeoDataset * rasterBands,
  979.         BSTR signatureFile,
  980.         VARIANT_BOOL createConfidenceOutput,
  981.         enum esriGeoAnalysisAPrioriEnum aPrioriWeighting,
  982.         VARIANT aPrioriFile,
  983.         VARIANT rejectFraction,
  984.         struct IGeoDataset * * classifiedDataset ) = 0;
  985.     virtual HRESULT __stdcall PrincipalComponents (
  986.         struct IGeoDataset * rasterBands,
  987.         BSTR dataFile,
  988.         VARIANT numberComponents,
  989.         struct IGeoDataset * * pcaDataset ) = 0;
  990.     virtual HRESULT __stdcall BandCollectionStats (
  991.         struct IGeoDataset * rasterBands,
  992.         BSTR dataFile,
  993.         VARIANT_BOOL computeMatrices ) = 0;
  994. };
  995. struct __declspec(uuid("3c0ed7fb-b5c6-47cc-b708-081a5aa7a742"))
  996. IGroundwaterOp : IUnknown
  997. {
  998.     //
  999.     // Raw methods provided by interface
  1000.     //
  1001.     virtual HRESULT __stdcall DarcyFlow (
  1002.         struct IGeoDataset * headRaster,
  1003.         struct IGeoDataset * porosityRaster,
  1004.         struct IGeoDataset * thicknessRaster,
  1005.         struct IGeoDataset * transmissivityRaster,
  1006.         VARIANT_BOOL createDirection,
  1007.         VARIANT_BOOL createMagnitude,
  1008.         struct IGeoDataset * * flowDataset ) = 0;
  1009.     virtual HRESULT __stdcall DarcyVelocity (
  1010.         struct IGeoDataset * headRaster,
  1011.         struct IGeoDataset * porosityRaster,
  1012.         struct IGeoDataset * thicknessRaster,
  1013.         struct IGeoDataset * transmissivityRaster,
  1014.         struct IGeoDataset * * residualDataset ) = 0;
  1015.     virtual HRESULT __stdcall ParticleTrack (
  1016.         struct IGeoDataset * directionRaster,
  1017.         struct IGeoDataset * magnitudeRaster,
  1018.         struct IPoint * sourcePoint,
  1019.         BSTR trackFile,
  1020.         VARIANT stepLength,
  1021.         VARIANT trackingTime,
  1022.         struct IGeoDataset * * magnitudeDataset ) = 0;
  1023.     virtual HRESULT __stdcall PorousPuff (
  1024.         BSTR trackFile,
  1025.         struct IGeoDataset * porosityRaster,
  1026.         struct IGeoDataset * thicknessRaster,
  1027.         double mass,
  1028.         VARIANT dispersionTime,
  1029.         VARIANT longitudinalDispersivity,
  1030.         VARIANT dispersivityRatio,
  1031.         VARIANT retardationFactor,
  1032.         VARIANT decayCoefficient,
  1033.         struct IGeoDataset * * flowDataset ) = 0;
  1034. };
  1035. struct __declspec(uuid("6fd6f6e0-efb0-42bc-8ba2-843ffdfe77ce"))
  1036. IPathDistanceHorizontalFactor : IUnknown
  1037. {
  1038.     //
  1039.     // Raw methods provided by interface
  1040.     //
  1041.     virtual HRESULT __stdcall SetDefault ( ) = 0;
  1042.     virtual HRESULT __stdcall SetBinary (
  1043.         VARIANT * zeroFactor,
  1044.         VARIANT * cutAngle ) = 0;
  1045.     virtual HRESULT __stdcall SetForward (
  1046.         VARIANT * zeroFactor,
  1047.         VARIANT * sideValue ) = 0;
  1048.     virtual HRESULT __stdcall SetLinear (
  1049.         VARIANT * zeroFactor,
  1050.         VARIANT * cutAngle,
  1051.         VARIANT * slope ) = 0;
  1052.     virtual HRESULT __stdcall SetInverseLinear (
  1053.         VARIANT * zeroFactor,
  1054.         VARIANT * cutAngle,
  1055.         VARIANT * slope ) = 0;
  1056.     virtual HRESULT __stdcall SetTable (
  1057.         BSTR tableName ) = 0;
  1058.     virtual HRESULT __stdcall get_Type (
  1059.         enum esriPathDistanceHorizontalEnum * functionType ) = 0;
  1060.     virtual HRESULT __stdcall get_Description (
  1061.         BSTR * Description ) = 0;
  1062. };
  1063. struct __declspec(uuid("42aa082b-2fc2-4939-ad2e-92f563e4356f"))
  1064. IPathDistanceVerticalFactor : IUnknown
  1065. {
  1066.     //
  1067.     // Raw methods provided by interface
  1068.     //
  1069.     virtual HRESULT __stdcall SetDefault ( ) = 0;
  1070.     virtual HRESULT __stdcall SetBinary (
  1071.         VARIANT * zeroFactor,
  1072.         VARIANT * lowCutAngle,
  1073.         VARIANT * highCutAngle ) = 0;
  1074.     virtual HRESULT __stdcall SetLinear (
  1075.         VARIANT * zeroFactor,
  1076.         VARIANT * lowCutAngle,
  1077.         VARIANT * highCutAngle,
  1078.         VARIANT * slope ) = 0;
  1079.     virtual HRESULT __stdcall SetInverseLinear (
  1080.         VARIANT * zeroFactor,
  1081.         VARIANT * lowCutAngle,
  1082.         VARIANT * highCutAngle,
  1083.         VARIANT * slope ) = 0;
  1084.     virtual HRESULT __stdcall SetTable (
  1085.         BSTR tableName ) = 0;
  1086.     virtual HRESULT __stdcall SetSymLinear (
  1087.         VARIANT * zeroFactor,
  1088.         VARIANT * lowCutAngle,
  1089.         VARIANT * highCutAngle,
  1090.         VARIANT * slope ) = 0;
  1091.     virtual HRESULT __stdcall SetSymInverseLinear (
  1092.         VARIANT * zeroFactor,
  1093.         VARIANT * lowCutAngle,
  1094.         VARIANT * highCutAngle,
  1095.         VARIANT * slope ) = 0;
  1096.     virtual HRESULT __stdcall SetCos (
  1097.         VARIANT * lowCutAngle,
  1098.         VARIANT * highCutAngle,
  1099.         VARIANT * Power ) = 0;
  1100.     virtual HRESULT __stdcall SetSec (
  1101.         VARIANT * lowCutAngle,
  1102.         VARIANT * highCutAngle,
  1103.         VARIANT * Power ) = 0;
  1104.     virtual HRESULT __stdcall SetCosSec (
  1105.         VARIANT * lowCutAngle,
  1106.         VARIANT * highCutAngle,
  1107.         VARIANT * cosPower,
  1108.         VARIANT * secPower ) = 0;
  1109.     virtual HRESULT __stdcall SetSecCos (
  1110.         VARIANT * lowCutAngle,
  1111.         VARIANT * highCutAngle,
  1112.         VARIANT * secPower,
  1113.         VARIANT * cosPower ) = 0;
  1114.     virtual HRESULT __stdcall get_Type (
  1115.         enum esriPathDistanceVerticalEnum * functionType ) = 0;
  1116.     virtual HRESULT __stdcall get_Description (
  1117.         BSTR * Description ) = 0;
  1118. };
  1119. struct __declspec(uuid("cd568b5b-ca31-11d2-9f3c-00c04f8ed1d7"))
  1120. RasterDistanceOp;
  1121.     // [ default ] interface IUnknown
  1122.     // interface IRasterAnalysisEnvironment
  1123.     // interface IDistanceOp
  1124.     // interface IDistanceOp2
  1125.     // interface ISupportErrorInfo
  1126. struct __declspec(uuid("d3ce7330-9546-11d2-9f34-00c04f8ed1d7"))
  1127. RasterMapAlgebraOp;
  1128.     // [ default ] interface IUnknown
  1129.     // interface IRasterAnalysisEnvironment
  1130.     // interface IMapAlgebraOp
  1131.     // interface ISupportErrorInfo
  1132. struct __declspec(uuid("fe6ec113-1e85-11d3-9f45-00c04f8ed1d7"))
  1133. RasterMathOps;
  1134.     // [ default ] interface IUnknown
  1135.     // interface IRasterAnalysisEnvironment
  1136.     // interface IMathOp
  1137.     // interface ITrigOp
  1138.     // interface ILogicalOp
  1139.     // interface IBitwiseOp
  1140.     // interface ISupportErrorInfo
  1141. struct __declspec(uuid("fe6ec114-1e85-11d3-9f45-00c04f8ed1d7"))
  1142. RasterNeighborhoodOp;
  1143.     // [ default ] interface IUnknown
  1144.     // interface IRasterAnalysisEnvironment
  1145.     // interface INeighborhoodOp
  1146.     // interface ISupportErrorInfo
  1147. struct __declspec(uuid("296e7f5e-d1c8-11d2-9f3c-00c04f8ed1d7"))
  1148. RasterZonalOp;
  1149.     // [ default ] interface IUnknown
  1150.     // interface IRasterAnalysisEnvironment
  1151.     // interface IZonalOp
  1152.     // interface ISupportErrorInfo
  1153. struct __declspec(uuid("4bf5ee22-dd91-11d3-9f8a-00c04f8ef00e"))
  1154. RasterHydrologyOp;
  1155.     // [ default ] interface IUnknown
  1156.     // interface IRasterAnalysisEnvironment
  1157.     // interface IHydrologyOp
  1158.     // interface ISupportErrorInfo
  1159. struct __declspec(uuid("273774ea-ead9-11d3-9f93-00c04f8ef00e"))
  1160. RasterGeneralizeOp;
  1161.     // [ default ] interface IUnknown
  1162.     // interface IRasterAnalysisEnvironment
  1163.     // interface IGeneralizeOp
  1164.     // interface ISupportErrorInfo
  1165. struct __declspec(uuid("09ff6574-f398-11d3-9f9b-00c04f8ef00e"))
  1166. RasterConditionalOp;
  1167.     // [ default ] interface IUnknown
  1168.     // interface IRasterAnalysisEnvironment
  1169.     // interface IConditionalOp
  1170.     // interface ISupportErrorInfo
  1171. struct __declspec(uuid("09ff6575-f398-11d3-9f9b-00c04f8ef00e"))
  1172. RasterDensityOp;
  1173.     // [ default ] interface IUnknown
  1174.     // interface IRasterAnalysisEnvironment
  1175.     // interface IDensityOp
  1176.     // interface ISupportErrorInfo
  1177. struct __declspec(uuid("640e4db7-f223-11d3-a07f-00c04f68e699"))
  1178. RasterLocalOp;
  1179.     // [ default ] interface IUnknown
  1180.     // interface IRasterAnalysisEnvironment
  1181.     // interface ILocalOp
  1182.     // interface ISupportErrorInfo
  1183. struct __declspec(uuid("7ebb3cc8-fa0e-11d3-a708-0008c7d3af6f"))
  1184. RasterExtractionOp;
  1185.     // [ default ] interface IUnknown
  1186.     // interface IRasterAnalysisEnvironment
  1187.     // interface IExtractionOp
  1188.     // interface IExtractionOp2
  1189.     // interface ISupportErrorInfo
  1190. struct __declspec(uuid("92480960-91c6-11d5-b7ed-00d0591a8628"))
  1191. RasterMultivariateOp;
  1192.     // [ default ] interface IUnknown
  1193.     // interface IRasterAnalysisEnvironment
  1194.     // interface IMultivariateOp
  1195.     // interface ISupportErrorInfo
  1196. struct __declspec(uuid("109fda5e-1554-40f6-99ff-cbffff1226ab"))
  1197. RasterGroundwaterOp;
  1198.     // [ default ] interface IUnknown
  1199.     // interface IRasterAnalysisEnvironment
  1200.     // interface IGroundwaterOp
  1201.     // interface ISupportErrorInfo
  1202. struct __declspec(uuid("9fdafbbc-a491-43d7-9d41-d288bba568e1"))
  1203. PathDistanceHorizontalFactor;
  1204.     // [ default ] interface IUnknown
  1205.     // interface IPathDistanceHorizontalFactor
  1206.     // interface ISupportErrorInfo
  1207. struct __declspec(uuid("1d4efecc-b85c-4eb9-b09b-cef8c225b5a3"))
  1208. PathDistanceVerticalFactor;
  1209.     // [ default ] interface IUnknown
  1210.     // interface IPathDistanceVerticalFactor
  1211.     // interface ISupportErrorInfo
  1212. //
  1213. // Named GUID constants initializations
  1214. //
  1215. extern "C" const GUID __declspec(selectany) LIBID_esriSpatialAnalyst =
  1216.     {0x62922975,0x992a,0x4c4f,{0xbd,0x20,0xf7,0xf7,0x11,0x3a,0x92,0x99}};
  1217. extern "C" const GUID __declspec(selectany) IID_IMapAlgebraOp =
  1218.     {0xd3ce731e,0x9546,0x11d2,{0x9f,0x34,0x00,0xc0,0x4f,0x8e,0xd1,0xd7}};
  1219. extern "C" const GUID __declspec(selectany) IID_IDistanceOp =
  1220.     {0x4606f16d,0xb47d,0x11d2,{0x9f,0x3b,0x00,0xc0,0x4f,0x8e,0xd1,0xd7}};
  1221. extern "C" const GUID __declspec(selectany) IID_IDistanceOp2 =
  1222.     {0xd4ee724a,0x05fc,0x4db3,{0x9b,0xe8,0xb2,0xb7,0xc0,0x7b,0xb7,0x0c}};
  1223. extern "C" const GUID __declspec(selectany) IID_IZonalOp =
  1224.     {0x4606f16e,0xb47d,0x11d2,{0x9f,0x3b,0x00,0xc0,0x4f,0x8e,0xd1,0xd7}};
  1225. extern "C" const GUID __declspec(selectany) IID_INeighborhoodOp =
  1226.     {0x4606f167,0xb47d,0x11d2,{0x9f,0x3b,0x00,0xc0,0x4f,0x8e,0xd1,0xd7}};
  1227. extern "C" const GUID __declspec(selectany) IID_IMathOp =
  1228.     {0xe4df28f0,0xd978,0x11d1,{0x8d,0x1b,0x00,0x00,0xf8,0x78,0x05,0x35}};
  1229. extern "C" const GUID __declspec(selectany) IID_ITrigOp =
  1230.     {0x1ae2e8b5,0xec8c,0x11d3,{0x9f,0x63,0x00,0xc0,0x4f,0x8e,0xd1,0xd7}};
  1231. extern "C" const GUID __declspec(selectany) IID_IBitwiseOp =
  1232.     {0x1ae2e8b3,0xec8c,0x11d3,{0x9f,0x63,0x00,0xc0,0x4f,0x8e,0xd1,0xd7}};
  1233. extern "C" const GUID __declspec(selectany) IID_ILogicalOp =
  1234.     {0x1ae2e8b4,0xec8c,0x11d3,{0x9f,0x63,0x00,0xc0,0x4f,0x8e,0xd1,0xd7}};
  1235. extern "C" const GUID __declspec(selectany) IID_IGeneralizeOp =
  1236.     {0x273774e8,0xead9,0x11d3,{0x9f,0x93,0x00,0xc0,0x4f,0x8e,0xf0,0x0e}};
  1237. extern "C" const GUID __declspec(selectany) IID_IHydrologyOp =
  1238.     {0x768f40da,0xde80,0x11d3,{0x9f,0x8a,0x00,0xc0,0x4f,0x8e,0xf0,0x0e}};
  1239. extern "C" const GUID __declspec(selectany) IID_IConditionalOp =
  1240.     {0x09ff6571,0xf398,0x11d3,{0x9f,0x9b,0x00,0xc0,0x4f,0x8e,0xf0,0x0e}};
  1241. extern "C" const GUID __declspec(selectany) IID_IDensityOp =
  1242.     {0x09ff6572,0xf398,0x11d3,{0x9f,0x9b,0x00,0xc0,0x4f,0x8e,0xf0,0x0e}};
  1243. extern "C" const GUID __declspec(selectany) IID_ILocalOp =
  1244.     {0x640e4db5,0xf223,0x11d3,{0xa0,0x7f,0x00,0xc0,0x4f,0x68,0xe6,0x99}};
  1245. extern "C" const GUID __declspec(selectany) IID_IExtractionOp =
  1246.     {0x7ebb3cc7,0xfa0e,0x11d3,{0xa7,0x08,0x00,0x08,0xc7,0xd3,0xaf,0x6f}};
  1247. extern "C" const GUID __declspec(selectany) IID_IExtractionOp2 =
  1248.     {0x45d299a3,0x7103,0x4251,{0x8c,0xd9,0xc9,0x41,0x1a,0x1e,0xb7,0xa3}};
  1249. extern "C" const GUID __declspec(selectany) IID_IMultivariateOp =
  1250.     {0xec146a20,0x91c6,0x11d5,{0xb7,0xed,0x00,0xd0,0x59,0x1a,0x86,0x28}};
  1251. extern "C" const GUID __declspec(selectany) IID_IGroundwaterOp =
  1252.     {0x3c0ed7fb,0xb5c6,0x47cc,{0xb7,0x08,0x08,0x1a,0x5a,0xa7,0xa7,0x42}};
  1253. extern "C" const GUID __declspec(selectany) IID_IPathDistanceHorizontalFactor =
  1254.     {0x6fd6f6e0,0xefb0,0x42bc,{0x8b,0xa2,0x84,0x3f,0xfd,0xfe,0x77,0xce}};
  1255. extern "C" const GUID __declspec(selectany) IID_IPathDistanceVerticalFactor =
  1256.     {0x42aa082b,0x2fc2,0x4939,{0xad,0x2e,0x92,0xf5,0x63,0xe4,0x35,0x6f}};
  1257. extern "C" const GUID __declspec(selectany) CLSID_RasterDistanceOp =
  1258.     {0xcd568b5b,0xca31,0x11d2,{0x9f,0x3c,0x00,0xc0,0x4f,0x8e,0xd1,0xd7}};
  1259. extern "C" const GUID __declspec(selectany) CLSID_RasterMapAlgebraOp =
  1260.     {0xd3ce7330,0x9546,0x11d2,{0x9f,0x34,0x00,0xc0,0x4f,0x8e,0xd1,0xd7}};
  1261. extern "C" const GUID __declspec(selectany) CLSID_RasterMathOps =
  1262.     {0xfe6ec113,0x1e85,0x11d3,{0x9f,0x45,0x00,0xc0,0x4f,0x8e,0xd1,0xd7}};
  1263. extern "C" const GUID __declspec(selectany) CLSID_RasterNeighborhoodOp =
  1264.     {0xfe6ec114,0x1e85,0x11d3,{0x9f,0x45,0x00,0xc0,0x4f,0x8e,0xd1,0xd7}};
  1265. extern "C" const GUID __declspec(selectany) CLSID_RasterZonalOp =
  1266.     {0x296e7f5e,0xd1c8,0x11d2,{0x9f,0x3c,0x00,0xc0,0x4f,0x8e,0xd1,0xd7}};
  1267. extern "C" const GUID __declspec(selectany) CLSID_RasterHydrologyOp =
  1268.     {0x4bf5ee22,0xdd91,0x11d3,{0x9f,0x8a,0x00,0xc0,0x4f,0x8e,0xf0,0x0e}};
  1269. extern "C" const GUID __declspec(selectany) CLSID_RasterGeneralizeOp =
  1270.     {0x273774ea,0xead9,0x11d3,{0x9f,0x93,0x00,0xc0,0x4f,0x8e,0xf0,0x0e}};
  1271. extern "C" const GUID __declspec(selectany) CLSID_RasterConditionalOp =
  1272.     {0x09ff6574,0xf398,0x11d3,{0x9f,0x9b,0x00,0xc0,0x4f,0x8e,0xf0,0x0e}};
  1273. extern "C" const GUID __declspec(selectany) CLSID_RasterDensityOp =
  1274.     {0x09ff6575,0xf398,0x11d3,{0x9f,0x9b,0x00,0xc0,0x4f,0x8e,0xf0,0x0e}};
  1275. extern "C" const GUID __declspec(selectany) CLSID_RasterLocalOp =
  1276.     {0x640e4db7,0xf223,0x11d3,{0xa0,0x7f,0x00,0xc0,0x4f,0x68,0xe6,0x99}};
  1277. extern "C" const GUID __declspec(selectany) CLSID_RasterExtractionOp =
  1278.     {0x7ebb3cc8,0xfa0e,0x11d3,{0xa7,0x08,0x00,0x08,0xc7,0xd3,0xaf,0x6f}};
  1279. extern "C" const GUID __declspec(selectany) CLSID_RasterMultivariateOp =
  1280.     {0x92480960,0x91c6,0x11d5,{0xb7,0xed,0x00,0xd0,0x59,0x1a,0x86,0x28}};
  1281. extern "C" const GUID __declspec(selectany) CLSID_RasterGroundwaterOp =
  1282.     {0x109fda5e,0x1554,0x40f6,{0x99,0xff,0xcb,0xff,0xff,0x12,0x26,0xab}};
  1283. extern "C" const GUID __declspec(selectany) CLSID_PathDistanceHorizontalFactor =
  1284.     {0x9fdafbbc,0xa491,0x43d7,{0x9d,0x41,0xd2,0x88,0xbb,0xa5,0x68,0xe1}};
  1285. extern "C" const GUID __declspec(selectany) CLSID_PathDistanceVerticalFactor =
  1286.     {0x1d4efecc,0xb85c,0x4eb9,{0xb0,0x9b,0xce,0xf8,0xc2,0x25,0xb5,0xa3}};
  1287. #pragma pack(pop)