Exemplo n.º 1
0
        public static void ExtractDataExtension(SoapClient soapClient, string DataExtensionCustomerKey, string FileName)
        {
            ExtractRequest er = new ExtractRequest();

            er.ID = "bb94a04d-9632-4623-be47-daabc3f588a6";

            // Always set an StartDate to the value specified
            ExtractParameter epOne = new ExtractParameter();

            epOne.Name  = "StartDate";
            epOne.Value = "1/1/1900 1:00:00 AM";

            // Always set an StartDate to the value specified
            ExtractParameter epTwo = new ExtractParameter();

            epTwo.Name  = "EndDate";
            epTwo.Value = "1/1/1900 1:00:00 AM";

            // Always set an _Async to 0
            ExtractParameter epThree = new ExtractParameter();

            epThree.Name  = "_AsyncID";
            epThree.Value = "0";

            ExtractParameter epFour = new ExtractParameter();

            epFour.Name  = "OutputFileName";
            epFour.Value = FileName;

            ExtractParameter epFive = new ExtractParameter();

            epFive.Name  = "DECustomerKey";
            epFive.Value = DataExtensionCustomerKey;

            ExtractParameter epSix = new ExtractParameter();

            epSix.Name  = "HasColumnHeaders";
            epSix.Value = "true";

            er.Parameters = new ExtractParameter[] { epOne, epTwo, epThree, epFour, epFive, epSix };

            string sRequestId;
            string sStatus;

            ExtractResult[] results;
            sStatus = soapClient.Extract(new ExtractRequest[] { er }, out sRequestId, out results);

            Console.WriteLine("Status: " + sStatus);
            Console.WriteLine("Request ID: " + sRequestId);

            foreach (ExtractResult eresult in results)
            {
                Console.WriteLine("StatusCode: " + eresult.StatusCode);
                Console.WriteLine("ErrorCode: " + eresult.ErrorCode);
                Console.WriteLine("StatusMessage: " + eresult.StatusMessage);
            }
        }
        public static void ExtractDataExtension(SoapClient soapClient, string DataExtensionCustomerKey, string FileName)
        {
            ExtractRequest er = new ExtractRequest();

            er.ID = "bb94a04d-9632-4623-be47-daabc3f588a6";

            // Always set an StartDate to the value specified
            ExtractParameter epOne = new ExtractParameter();
            epOne.Name = "StartDate";
            epOne.Value = "1/1/1900 1:00:00 AM";

            // Always set an StartDate to the value specified
            ExtractParameter epTwo = new ExtractParameter();
            epTwo.Name = "EndDate";
            epTwo.Value = "1/1/1900 1:00:00 AM";

            // Always set an _Async to 0
            ExtractParameter epThree = new ExtractParameter();
            epThree.Name = "_AsyncID";
            epThree.Value = "0";

            ExtractParameter epFour = new ExtractParameter();
            epFour.Name = "OutputFileName";
            epFour.Value = FileName;

            ExtractParameter epFive = new ExtractParameter();
            epFive.Name = "DECustomerKey";
            epFive.Value = DataExtensionCustomerKey;

            ExtractParameter epSix = new ExtractParameter();
            epSix.Name = "HasColumnHeaders";
            epSix.Value = "true";

            er.Parameters = new ExtractParameter[] {epOne, epTwo, epThree, epFour, epFive, epSix };

            string sRequestId;
            string sStatus;
            ExtractResult[] results;
            sStatus = soapClient.Extract(new ExtractRequest[] { er }, out sRequestId, out results);

            Console.WriteLine("Status: " + sStatus);
            Console.WriteLine("Request ID: " + sRequestId);

            foreach (ExtractResult eresult in results)
            {
                Console.WriteLine("StatusCode: " + eresult.StatusCode);
                Console.WriteLine("ErrorCode: " + eresult.ErrorCode);
                Console.WriteLine("StatusMessage: " + eresult.StatusMessage);
            }
        }
 /// <summary>
 /// 拷贝构造函数。
 /// </summary>
 /// <param name="extractParameter">等值线/面的提取参数对象。</param>
 /// <exception cref="ArgumentNullException">等值线/面的提取参数为 null 时抛出异常。</exception>
 public ExtractParameter(ExtractParameter extractParameter)
 {
     if (extractParameter == null) throw new ArgumentNullException();
     if (extractParameter.ClipRegion != null)
     {
         this.ClipRegion = new Geometry(extractParameter.ClipRegion);
     }
     this.DatumValue = extractParameter.DatumValue;
     this.Interval = extractParameter.Interval;
     this.ResampleTolerance = extractParameter.ResampleTolerance;
     this.Smoothness = extractParameter.Smoothness;
     if (extractParameter.ExpectedZValues != null)
     {
         int length = extractParameter.ExpectedZValues.Length;
         this.ExpectedZValues = new double[length];
         for (int i = 0; i < length; i++)
         {
             this.ExpectedZValues[i] = extractParameter.ExpectedZValues[i];
         }
     }
 }
        public void IsoLine_PointDatasetIsNull()
        {
            try
            {
                //string pointDataset = "SamplesP@Interpolation";
                QueryParameter filterQueryParameter = new QueryParameter() { AttributeFilter = "SmID>0" };
                string zValueField = "AVG_WTR";
                double resolution = 3000;
                ExtractParameter parameter = new ExtractParameter() { DatumValue = 0, Interval = 500, Smoothness = 3 };
                DataReturnOption resultSetting = new DataReturnOption();
                resultSetting.DataReturnMode = DataReturnMode.DATASET_AND_RECORDSET;
                resultSetting.DeleteExistResultDataset = true;
                resultSetting.Dataset = "isoLine@Interpolation";
                resultSetting.ExpectCount = 0;

                string serviceUrl = string.Format("http://{0}:8090/iserver/services/spatialanalyst-sample/restjsr", ip);
                SpatialAnalyst spatialAnalyst = new SpatialAnalyst(serviceUrl);
                DatasetSpatialAnalystResult actualResult = spatialAnalyst.IsoLine(null, filterQueryParameter, zValueField, resolution, parameter, resultSetting);
                Assert.IsNull(actualResult);
            }
            catch (Exception e)
            {
                Assert.AreEqual("参数不能为空。\r\n参数名: pointDataset", e.Message);
            }
        }
        public void IsoLine_PointDataset()
        {
            string pointDataset = "SamplesP@Interpolation";
            QueryParameter filterQueryParameter = new QueryParameter() { AttributeFilter = "SmID>0" };
            string zValueField = "AVG_WTR";
            double resolution = 3000;
            ExtractParameter parameter = new ExtractParameter() { DatumValue = 0, Interval = 500, Smoothness = 3 };
            DataReturnOption resultSetting = new DataReturnOption();
            resultSetting.DataReturnMode = DataReturnMode.DATASET_AND_RECORDSET;
            resultSetting.DeleteExistResultDataset = true;
            resultSetting.Dataset = "isoLine@Interpolation";
            resultSetting.ExpectCount = 0;

            string serviceUrl = string.Format("http://{0}:8090/iserver/services/spatialanalyst-sample/restjsr", ip);
            SpatialAnalyst spatialAnalyst = new SpatialAnalyst(serviceUrl);
            DatasetSpatialAnalystResult actualResult = spatialAnalyst.IsoLine(pointDataset, filterQueryParameter, zValueField, resolution, parameter, resultSetting);
            Assert.IsTrue(actualResult.Succeed);
            Assert.AreEqual(45, actualResult.Recordset.Features.Length);
            Assert.AreEqual(10, actualResult.Recordset.Fields.Length);
            Assert.AreEqual("DZVALUE", actualResult.Recordset.Features[6].FieldNames[9]);
            Assert.AreEqual("1000.0", actualResult.Recordset.Features[6].FieldValues[9]);
            Assert.AreEqual(resultSetting.Dataset, actualResult.Dataset);
        }
Exemplo n.º 6
0
 /// <summary>
 /// <para>用于从一个点集合中提取等值线,方法的实现原理是先利用点集合中存储的第三维信息(高程或者温度等),也就是除了点的坐标信息的数据,对点数据进行插值分析,得到栅格数据集(中间结果数据集),接着从栅格数据集中提取等值线。</para>
 /// </summary>
 /// <param name="points">进行分析的点数组。</param>
 /// <param name="zValues">各点的高程值数组,该数组长度必须与points相同。</param>
 /// <param name="resolution">中间结果(栅格数据集)的分辨率。</param>
 /// <param name="parameter">提取等值线的参数,必设参数。设置光滑度、重采样距离等,请参见 <see cref="ExtractParameter"/> 类。</param>
 /// <param name="resultSetting">返回值设置参数,设置是否返回记录、是否创建结果数据集等。</param>
 /// <returns>根据返回值设置参数返回相应的信息。</returns>
 /// <exception cref="ArgumentNullException">参数 parameter 为空时抛出异常。</exception>
 /// <exception cref="SuperMap.Connector.Utility.ServiceException">服务端处理错误时抛出异常。</exception>
 /// <example>请参见 <see cref="IsoLine(string, QueryParameter, string, double, ExtractParameter, DataReturnOption)"/></example>
 public DatasetSpatialAnalystResult IsoLine(Point2D[] points, double[] zValues, double resolution, ExtractParameter parameter, DataReturnOption resultSetting)
 {
     if (parameter == null)
     {
         throw new ArgumentNullException("parameter", Resources.ArgumentIsNotNull);
     }
     return _spatialAnalystProvier.IsoLine(points, zValues, resolution, parameter, resultSetting);
 }
Exemplo n.º 7
0
 /// <summary>
 /// 用于从栅格数据集中提取等值线。
 /// </summary>
 /// <param name="gridDataset">需分析的栅格数据集标识。</param>
 /// <param name="parameter">提取等值线的参数,必设参数。设置光滑度、重采样距离等,请参见 <see cref="ExtractParameter"/> 类。</param>
 /// <param name="resultSetting">返回值设置参数,设置是否返回记录、是否创建结果数据集等。</param>
 /// <returns>根据返回值设置参数返回相应的信息。</returns>
 /// <exception cref="ArgumentNullException">参数 gridDataset,parameter 为空时抛出异常。</exception>
 /// <exception cref="SuperMap.Connector.Utility.ServiceException">服务端处理错误时抛出异常。</exception>
 /// <example>请参见 <see cref="IsoLine(string, QueryParameter, string, double, ExtractParameter, DataReturnOption)"/></example>
 public DatasetSpatialAnalystResult IsoLine(string gridDataset, ExtractParameter parameter, DataReturnOption resultSetting)
 {
     if (string.IsNullOrEmpty(gridDataset))
     {
         throw new ArgumentNullException("gridDataset", Resources.ArgumentIsNotNull);
     }
     if (parameter == null)
     {
         throw new ArgumentNullException("parameter", Resources.ArgumentIsNotNull);
     }
     return _spatialAnalystProvier.IsoLine(gridDataset, parameter, resultSetting);
 }
Exemplo n.º 8
0
 /// <summary>
 /// 用于从点数据集中提取等值线,该方法的实现原理是先对点数据集进行插值分析, 得到栅格数据集(方法实现的中间结果),接着从栅格数据集中提取等值线。
 /// </summary>
 /// <param name="pointDataset">进行分析的点数据集标识(datasetName@datasourceName)。</param>
 /// <param name="filterQueryParameter">对点数据集中的点对象进行过滤的 属性过滤条件。只有满足过滤条件的点才参与分析。</param>
 /// <param name="zValueField">高程字段名。</param>
 /// <param name="resolution">中间结果(栅格数据集)的分辨率。</param>
 /// <param name="parameter">提取等值线的参数,必设参数。设置光滑度、重采样距离等,请参见 <see cref="ExtractParameter"/> 类。</param>
 /// <param name="resultSetting">返回值设置参数,设置是否返回记录、是否创建结果数据集等。</param>
 /// <returns>根据返回值设置参数返回相应的信息。</returns>
 /// <exception cref="ArgumentNullException">参数 pointDataset,parameter 为空时抛出异常。</exception>
 /// <exception cref="SuperMap.Connector.Utility.ServiceException">服务端处理错误时抛出异常。</exception>
 /// 以下示范代码演示如何对一个点数据集进行提取等值线操作。 
 /// <example>
 /// <code>
 /// class Program
 /// {
 ///     static void Main(string[] args)
 ///     {
 ///         //根据服务组件地址初始化一个SpatialAnalyst对象
 ///         SpatialAnalyst spatialAnalyst = new SpatialAnalyst("http://*****:*****@Interpolation";   //进行分析的点数据集标识
 ///         string zValueField = "AVG_WTR";  //高程字段名
 ///         double resolution = 3000;   //中间结果(栅格数据集)的分辨率
 ///         
 ///         //对点数据集中的点对象进行过滤的过滤条件
 ///         QueryParameter filterQueryParameter = new QueryParameter()
 ///         {
 ///             AttributeFilter = "SmID>0"
 ///          };
 ///          
 ///          //等值线的提取参数设置类
 ///          ExtractParameter parameter = new ExtractParameter()
 ///          {
 ///             DatumValue = 0,
 ///             Interval = 500,
 ///             Smoothness = 3
 ///           };
 ///           
 ///           //返回值设置参数
 ///           DataReturnOption resultSetting = new DataReturnOption()
 ///           {
 ///             DataReturnMode = DataReturnMode.DATASET_AND_RECORDSET,
 ///             DeleteExistResultDataset = true,
 ///             Dataset = "isoLine@Interpolation"
 ///           };
 ///            
 ///            //执行提取等值线操作
 ///            DatasetSpatialAnalystResult actualResult = spatialAnalyst.IsoLine(pointDataset, filterQueryParameter, zValueField, resolution, parameter, resultSetting);
 ///            Console.WriteLine("提取的等值线个数为:{0}", actualResult.Recordset.Features.Length);
 ///            Console.ReadLine();
 ///       }
 /// }
 /// </code>
 /// </example>
 public DatasetSpatialAnalystResult IsoLine(string pointDataset, QueryParameter filterQueryParameter, string zValueField, double resolution, ExtractParameter parameter, DataReturnOption resultSetting)
 {
     if (string.IsNullOrEmpty(pointDataset))
     {
         throw new ArgumentNullException("pointDataset", Resources.ArgumentIsNotNull);
     }
     if (parameter == null)
     {
         throw new ArgumentNullException("parameter", Resources.ArgumentIsNotNull);
     }
     return _spatialAnalystProvier.IsoLine(pointDataset, filterQueryParameter, zValueField, resolution, parameter, resultSetting);
 }
        public void IsoLine_PointsIsNull()
        {
            #region zValues定义
            double[] zValues = new double[37];
            zValues[0] = 52.98;
            zValues[1] = 25.74;
            zValues[2] = 62.94;
            zValues[3] = 50.82;
            zValues[4] = 41.36;
            zValues[5] = 41.66;
            zValues[6] = 64.66;
            zValues[7] = 23.7;
            zValues[8] = 40.74;
            zValues[9] = 3.12;
            zValues[10] = 139.32;
            zValues[11] = 41.48;
            zValues[12] = 28.48;
            zValues[13] = 61.92;
            zValues[14] = 52.22;
            zValues[15] = 44.54;
            zValues[16] = 56.54;
            zValues[17] = 85.22;
            zValues[18] = 48.94;
            zValues[19] = 55.2;
            zValues[20] = 52.8;
            zValues[21] = 27.5;
            zValues[22] = 39.34;
            zValues[23] = 56.22;
            zValues[24] = 39.12;
            zValues[25] = 27.72;
            zValues[26] = 34.84;
            zValues[27] = 49.26;
            zValues[28] = 55.14;
            zValues[29] = 333.26;
            zValues[30] = 42.76;
            zValues[31] = 26.42;
            zValues[32] = 54.32;
            zValues[33] = 50.88;
            zValues[34] = 56.96;
            zValues[35] = 35.2;
            zValues[36] = 49.14;
            #endregion

            try
            {
                double resolution = 3000;
                ExtractParameter parameter = new ExtractParameter() { DatumValue = 0, Interval = 5, Smoothness = 3 };
                DataReturnOption resultSetting = new DataReturnOption();
                resultSetting.DataReturnMode = DataReturnMode.DATASET_AND_RECORDSET;
                resultSetting.DeleteExistResultDataset = true;
                resultSetting.Dataset = "isoLine@Interpolation";
                resultSetting.ExpectCount = 0;
                string serviceUrl = string.Format("http://{0}:8090/iserver/services/spatialanalyst-sample/restjsr", ip);
                SpatialAnalyst spatialAnalyst = new SpatialAnalyst(serviceUrl);
                DatasetSpatialAnalystResult actualResult = spatialAnalyst.IsoLine(null, zValues, resolution, parameter, resultSetting);
                Assert.IsTrue(actualResult.Succeed);
            }
            catch (Exception e)
            {
                Assert.AreEqual("点数组为null。", e.Message);
            }
        }
 public DatasetSpatialAnalystResult IsoLineInternal(string DatasetName, QueryParameter filterQueryParameter, string zValueField, double? resolution, ExtractParameter parameter, DataReturnOption resultSetting)
 {
     string baseUrl = string.Format("{0}/spatialanalyst/datasets/{1}/isoline.json?returnContent=true", this._serviceUrl, DatasetName);
     ExtractRequestParameter isoLineParameter = new ExtractRequestParameter(filterQueryParameter, zValueField, resolution, parameter, resultSetting);
     string strIsoLineResult = SynchHttpRequest.GetRequestString(baseUrl, HttpRequestMethod.POST, JsonConvert.SerializeObject(isoLineParameter));
     return JsonConvert.DeserializeObject<DatasetSpatialAnalystResult>(strIsoLineResult);
 }
 public DatasetSpatialAnalystResult IsoLine(string gridDataset, ExtractParameter parameter, DataReturnOption resultSetting)
 {
     return IsoLineInternal(gridDataset, null, null, null, parameter, resultSetting);
 }
 public DatasetSpatialAnalystResult IsoLine(string pointDataset, QueryParameter filterQueryParameter, string zValueField, double resolution, ExtractParameter parameter, DataReturnOption resultSetting)
 {
     return IsoLineInternal(pointDataset, filterQueryParameter, zValueField, resolution, parameter, resultSetting);
 }
Exemplo n.º 13
0
 /// <summary>
 /// Constructor
 /// </summary>
 /// <param name="extract">The method for extracting our parameter</param>
 public ACMeasurement(ExtractData extractsim, ExtractParameter <ACMeasurement> extractparam)
 {
     this.extractsim   = extractsim ?? throw new ArgumentNullException(nameof(extractsim));
     this.extractparam = extractparam ?? throw new ArgumentNullException(nameof(extractparam));
     Analysis          = new AC("ACMeasurement");
 }
Exemplo n.º 14
0
 /// <summary>
 /// Constructor
 /// </summary>
 /// <param name="extractsim">Method for getting a data point</param>
 /// <param name="extractparam">Method for extracting the parameter from the data</param>
 public DCMeasurement(ExtractData extractsim, ExtractParameter <DCMeasurement> extractparam)
 {
     this.extractsim   = extractsim;
     this.extractparam = extractparam;
 }
        public void IsoLine_gridDataset()
        {
            string gridDataset = "JingjinTerrain@Jingjin";
            ExtractParameter parameter = new ExtractParameter() { DatumValue = 0, Interval = 1000, Smoothness = 3 };
            DataReturnOption resultSetting = new DataReturnOption();
            resultSetting.DataReturnMode = DataReturnMode.DATASET_AND_RECORDSET;
            resultSetting.DeleteExistResultDataset = true;
            resultSetting.Dataset = "isoLine@Jingjin";
            resultSetting.ExpectCount = 0;

            string serviceUrl = string.Format("http://{0}:8090/iserver/services/spatialanalyst-sample/restjsr", ip);
            SpatialAnalyst spatialAnalyst = new SpatialAnalyst(serviceUrl);
            DatasetSpatialAnalystResult actualResult = spatialAnalyst.IsoLine(gridDataset, parameter, resultSetting);
            Assert.IsTrue(actualResult.Succeed);
            Assert.AreEqual(229, actualResult.Recordset.Features.Length);
            Assert.AreEqual(10, actualResult.Recordset.Fields.Length);
            Assert.AreEqual(resultSetting.Dataset, actualResult.Dataset);
        }
        public void IsoLine_gridDatasetIsNull()
        {
            try
            {
                //string gridDataset = "JingjinTerrain@Jingjin";
                ExtractParameter parameter = new ExtractParameter() { DatumValue = 0, Interval = 1000, Smoothness = 3 };
                DataReturnOption resultSetting = new DataReturnOption();
                resultSetting.DataReturnMode = DataReturnMode.DATASET_AND_RECORDSET;
                resultSetting.DeleteExistResultDataset = true;
                resultSetting.Dataset = "isoLine@Jingjin";
                resultSetting.ExpectCount = 0;

                string serviceUrl = string.Format("http://{0}:8090/iserver/services/spatialanalyst-sample/restjsr", ip);
                SpatialAnalyst spatialAnalyst = new SpatialAnalyst(serviceUrl);
                DatasetSpatialAnalystResult actualResult = spatialAnalyst.IsoLine(null, parameter, resultSetting);
                Assert.IsNull(actualResult);
            }
            catch (Exception e)
            {
                Assert.AreEqual("参数不能为空。\r\n参数名: gridDataset", e.Message);
            }
        }
        public DatasetSpatialAnalystResult IsoLine(Point2D[] points, double[] zValues, double resolution, ExtractParameter parameter, DataReturnOption resultSetting)
        {
            string baseUrl = string.Format("{0}/spatialanalyst/geometry/isoline.json?returnContent=true", this._serviceUrl);
            ExtractRequestParameter isoLineParameter = new ExtractRequestParameter(points, zValues, resolution, parameter, resultSetting);
            string strIsoLineResult = SynchHttpRequest.GetRequestString(baseUrl, HttpRequestMethod.POST, JsonConvert.SerializeObject(isoLineParameter));

            return JsonConvert.DeserializeObject<DatasetSpatialAnalystResult>(strIsoLineResult);
        }
        public void IsoLine_ZValuesIsNull()
        {
            #region points定义
            Point2D[] points = new Point2D[37];
            points[0] = new Point2D() { X = 603598.5523083061, Y = 4479242.9705482665 };
            points[1] = new Point2D() { X = 604604.99079498206, Y = 4475916.8166897586 };
            points[2] = new Point2D() { X = 605069.2609360615, Y = 4473869.0317084016 };
            points[3] = new Point2D() { X = 597849.28197854816, Y = 4473651.4819765529 };
            points[4] = new Point2D() { X = 603468.453516089, Y = 4470350.5931883259 };
            points[5] = new Point2D() { X = 602541.93949575315, Y = 4469362.1116667259 };
            points[6] = new Point2D() { X = 596899.866483911, Y = 4468956.9705482665 };
            points[7] = new Point2D() { X = 611758.72419415938, Y = 4476101.0380845685 };
            points[8] = new Point2D() { X = 617993.01585132082, Y = 4476567.4355759053 };
            points[9] = new Point2D() { X = 613072.97264934448, Y = 4472425.6988057708 };
            points[10] = new Point2D() { X = 627141.18584939465, Y = 4457193.8117718957 };
            points[11] = new Point2D() { X = 625007.69450436556, Y = 4475141.6919775512 };
            points[12] = new Point2D() { X = 614985.55448035314, Y = 4470280.1570427939 };
            points[13] = new Point2D() { X = 623901.71600422217, Y = 4466666.2160042226 };
            points[14] = new Point2D() { X = 629656.95681366918, Y = 4463716.8953833878 };
            points[15] = new Point2D() { X = 630173.95911998034, Y = 4457012.0457131462 };
            points[16] = new Point2D() { X = 633914.753754354, Y = 4455004.6871154737 };
            points[17] = new Point2D() { X = 621395.54110947042, Y = 4453979.7040218329 };
            points[18] = new Point2D() { X = 611692.43432728737, Y = 4436168.7267506663 };
            points[19] = new Point2D() { X = 616883.140989274, Y = 4429417.4819765529 };
            points[20] = new Point2D() { X = 622919.669528409, Y = 4462913.665593328 };
            points[21] = new Point2D() { X = 601313.33628629846, Y = 4455293.7974051712 };
            points[22] = new Point2D() { X = 612859.7380792771, Y = 4469688.8599254563 };
            points[23] = new Point2D() { X = 619859.663734605, Y = 4437419.6528260121 };
            points[24] = new Point2D() { X = 619986.40953671513, Y = 4446273.7524305694 };
            points[25] = new Point2D() { X = 602602.790723978, Y = 4467207.2437627846 };
            points[26] = new Point2D() { X = 601017.54226018267, Y = 4466159.2634545071 };
            points[27] = new Point2D() { X = 624837.92738216463, Y = 4470922.0728896968 };
            points[28] = new Point2D() { X = 627808.4361812321, Y = 4462623.96090279 };
            points[29] = new Point2D() { X = 601553.40045858407, Y = 4460450.558360938 };
            points[30] = new Point2D() { X = 604564.45904654567, Y = 4462898.198077416 };
            points[31] = new Point2D() { X = 617863.82231001207, Y = 4457545.3749187626 };
            points[32] = new Point2D() { X = 614289.80053016217, Y = 4449796.8294377672 };
            points[33] = new Point2D() { X = 604825.97279867844, Y = 4462217.1334855324 };
            points[34] = new Point2D() { X = 629571.82174916321, Y = 4472069.90070569 };
            points[35] = new Point2D() { X = 612746.39144627, Y = 4443343.5426283237 };
            points[36] = new Point2D() { X = 626928.06164879026, Y = 4469283.120878025 };

            #endregion

            try
            {
                double resolution = 3000;
                ExtractParameter parameter = new ExtractParameter() { DatumValue = 0, Interval = 5, Smoothness = 3 };
                DataReturnOption resultSetting = new DataReturnOption();
                resultSetting.DataReturnMode = DataReturnMode.DATASET_AND_RECORDSET;
                resultSetting.DeleteExistResultDataset = true;
                resultSetting.Dataset = "isoLine@Interpolation";
                resultSetting.ExpectCount = 0;
                string serviceUrl = string.Format("http://{0}:8090/iserver/services/spatialanalyst-sample/restjsr", ip);
                SpatialAnalyst spatialAnalyst = new SpatialAnalyst(serviceUrl);
                DatasetSpatialAnalystResult actualResult = spatialAnalyst.IsoLine(points, null, resolution, parameter, resultSetting);
                Assert.IsTrue(actualResult.Succeed);
            }
            catch (Exception e)
            {
                Assert.AreEqual("第三维值数组为null。", e.Message);
            }
        }
Exemplo n.º 19
0
        private ExtractResponse PerformDataExtract(string extractType, string[] paramNames)
        {
            //Check AuthStub is not null before performing any operation.
            if (AuthStub == null)
            {
                throw new ApplicationException("Auth Stub not initialized. Initialize AuthStub before performing extract operation.");
            }
            AuthStub.RefreshToken();
            if (extractTypes == null)
            {
                PopulateExtractTypes();
            }
            var eparams = new List <ExtractParameter>();
            var type    = this.GetType();
            var flags   = BindingFlags.Public | BindingFlags.Instance | BindingFlags.DeclaredOnly;
            var props   = type.GetProperties(flags);

            foreach (var pname in paramNames)
            {
                var prop = type.GetProperty(pname);
                if (prop == null)
                {
                    throw new ApplicationException(string.Format("Invalid property name passed : {0}", pname));
                }
                if (pname == "OutputFileName" && string.IsNullOrWhiteSpace(prop.GetValue(this, null).ToString()))
                {
                    throw new ApplicationException("Output file name not initialized. Initialize Output file name before performing extract operation.");
                }
                var val = prop.GetValue(this, null).ToString();
                if (prop.PropertyType == typeof(DateTime))
                {
                    val = ((DateTime)prop.GetValue(this, null)).ToString("MM/dd/yyyy hh:mm tt");
                }
                var eparam = new ExtractParameter
                {
                    Name  = prop.Name,
                    Value = val
                };
                eparams.Add(eparam);
            }

            using (var scope = new OperationContextScope(AuthStub.SoapClient.InnerChannel))
            {
                ExtractRequest1 er  = new ExtractRequest1();
                var             req = new ExtractRequest
                {
                    ID         = extractTypes[extractType],
                    Parameters = eparams.ToArray(),
                    Options    = new ExtractOptions()
                };
                er.Requests = new[] { req };

                // Add oAuth token to SOAP header.
                XNamespace ns           = "http://exacttarget.com";
                var        oauthElement = new XElement(ns + "oAuthToken", AuthStub.InternalAuthToken);
                var        xmlHeader    = MessageHeader.CreateHeader("oAuth", "http://exacttarget.com", oauthElement);
                OperationContext.Current.OutgoingMessageHeaders.Add(xmlHeader);

                var httpRequest = new HttpRequestMessageProperty();
                OperationContext.Current.OutgoingMessageProperties.Add(HttpRequestMessageProperty.Name, httpRequest);
                httpRequest.Headers.Add(HttpRequestHeader.UserAgent, ETClient.SDKVersion);

                var response = AuthStub.SoapClient.ExtractAsync(er).Result;

                return(new ExtractResponse
                {
                    Results = response.Results,
                    OverallStatus = response.OverallStatus,
                    RequestID = response.RequestID
                });
            }
        }