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);
            }
        }
        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_InterpoParamIsNull()
 {
     try
     {
         string pointDataset = "SamplesP@Interpolation";
         string serviceUrl = string.Format("http://{0}:8090/iserver/services/spatialanalyst-sample/restjsr", ip);
         SpatialAnalyst spatialAnalyst = new SpatialAnalyst(serviceUrl);
         DatasetSpatialAnalystResult actualResult = spatialAnalyst.Interpolate(pointDataset, null);
         Assert.IsTrue(actualResult.Succeed);
     }
     catch (Exception e)
     {
         Assert.AreEqual("参数不能为空。\r\n参数名: parameter", e.Message);
     }
 }
        public void Interpolate_RBF()
        {
            string pointDataset = "SamplesP@Interpolation";
            InterpolationRBFParameter param = new InterpolationRBFParameter();
            param.PixelFormat = PixelFormat.BIT16;
            param.ZValueFieldName = "AVG_TMP";
            param.ZValueScale = 1;
            param.Resolution = 3000;
            param.OutputDatasetName = "interpolateRbf";
            param.OutputDatasourceName = "Interpolation";
            param.SearchRadius = 0;
            param.Smooth = 0.1;
            param.Tension = 40;
            param.SearchMode = SearchMode.QUADTREE;
            param.MaxPointCountForInterpolation = 20;
            param.MaxPointCountInNode = 5;

            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);
        }