public void Interpolate_UniversalKriging()
        {
            string pointDataset = "SamplesP@Interpolation";
            InterpolationKrigingParameter param = new InterpolationKrigingParameter();
            param.PixelFormat = PixelFormat.BIT16;
            param.ZValueFieldName = "AVG_TMP";
            param.ZValueScale = 1;
            param.Resolution = 3000;
            param.OutputDatasetName = "interpolateUniversalKriging";
            param.OutputDatasourceName = "Interpolation";
            param.SearchRadius = 0;
            param.Angle = 0;
            param.Nugget = 0;
            param.Range = 0;
            param.Sill = 0;
            param.VariogramMode = VariogramMode.SPHERICAL;
            param.SearchMode = SearchMode.KDTREE_FIXED_RADIUS;
            param.SearchRadius = 0;
            param.Exponent = Exponent.EXP1;//泛克吕金插值法参数
            param.Type = KrigingAlgorithmType.UniversalKriging;

            string serviceUrl = string.Format("http://{0}:8090/iserver/services/spatialanalyst-sample/restjsr", ip);
            SpatialAnalyst spatialAnalyst = new SpatialAnalyst(serviceUrl);
            DatasetSpatialAnalystResult actualResult = spatialAnalyst.Interpolate(pointDataset, param);
            Assert.IsTrue(actualResult.Succeed);

            //查询生成的栅格数据集信息
            string[] names = actualResult.Dataset.Split(new char[1] { '@' }, 3);
            string[] datasetNames = new string[1] { names[1] + ":" + names[0] };
            DatasetGridInfo datainfo = (DatasetGridInfo)spatialAnalyst.GetDatasetInfo(names[1], names[0]);
            Assert.AreEqual(DatasetType.GRID, datainfo.Type);
            Assert.AreEqual(PixelFormat.BIT16, datainfo.PixelFormat);
            //删除生成的栅格数据集
            string dataUrl = string.Format("http://{0}:8090/iserver/services/data-sample/rest", ip);
            Data data = new Data(dataUrl);
            bool deleteResult = data.DeleteDataset(names[1], names[0]);
            Assert.IsTrue(deleteResult);
        }
        public void Interpolate_PointDatasetError()
        {
            try
            {
                string pointDataset = "SamplesP99@Interpolation";
                InterpolationKrigingParameter param = new InterpolationKrigingParameter();
                param.PixelFormat = PixelFormat.BIT16;
                param.ZValueFieldName = "AVG_TMP";
                param.ZValueScale = 1;
                param.Resolution = 3000;
                param.OutputDatasetName = "interpolateUniversalKriging";
                param.OutputDatasourceName = "Interpolation";
                param.SearchRadius = 0;
                param.Angle = 0;
                param.Nugget = 0;
                param.Range = 0;
                param.Sill = 0;
                param.VariogramMode = VariogramMode.SPHERICAL;
                param.SearchMode = SearchMode.KDTREE_FIXED_RADIUS;
                param.SearchRadius = 0;
                param.Exponent = Exponent.EXP1;//泛克吕金插值法参数
                param.Type = KrigingAlgorithmType.UniversalKriging;

                string serviceUrl = string.Format("http://{0}:8090/iserver/services/spatialanalyst-sample/restjsr", ip);
                SpatialAnalyst spatialAnalyst = new SpatialAnalyst(serviceUrl);
                DatasetSpatialAnalystResult actualResult = spatialAnalyst.Interpolate(pointDataset, param);
                Assert.IsTrue(actualResult.Succeed);
            }
            catch (Exception e)
            {
                Assert.AreEqual("数据集SamplesP99@Interpolation不存在", e.Message);
            }
        }
 /// <summary>
 /// 拷贝构造函数。
 /// </summary>
 public InterpolationKrigingParameter(InterpolationKrigingParameter param)
     : base(param)
 {
     this.Angle = param.Angle;
     this.Nugget = param.Nugget;
     this.Range = param.Range;
     this.Sill = param.Sill;
     this.Mean = param.Mean;
     this.VariogramMode = param.VariogramMode;
     this.Exponent = param.Exponent;
 }