${iServerJava6R_DatasetOverlayAnalystParms_Title}

${iServerJava6R_DatasetOverlayAnalystParms_Description}

상속: OverlayAnalystParameters
        private void GenerateAbsoluteUrl(DatasetOverlayAnalystParameters Overlayparams)
        {
            if (Overlayparams == null)
            {
                throw new ArgumentNullException("请求服务参数为空!");
            }

            if (string.IsNullOrEmpty(((DatasetOverlayAnalystParameters)Overlayparams).SourceDataset) || string.IsNullOrEmpty(((DatasetOverlayAnalystParameters)Overlayparams).SourceDataset))
            {
                throw new ArgumentNullException("数据集参数为空");
            }

            if (this.Url == null)
            {
                throw new InvalidOperationException(ExceptionStrings.InvalidUrl);
            }

            //http://192.168.11.154:8090/iserver/services/spatialanalyst-sample/restjsr/spatialanalyst/datasets/SamplesP@Interpolation/overlay
            if (this.Url.EndsWith("/"))
            {
                this.Url += "datasets/" + ((DatasetOverlayAnalystParameters)Overlayparams).SourceDataset + "/overlay.json?returnContent=true&debug=true";
            }
            else
            {
                this.Url += "/datasets/" + ((DatasetOverlayAnalystParameters)Overlayparams).SourceDataset + "/overlay.json?returnContent=true&debug=true";
            }
        }
        private void DatasetOverlayAnalyst_Click(object sender, RoutedEventArgs e)
        {
            DatasetOverlayAnalystParameters param = new DatasetOverlayAnalystParameters
            {
                Operation = OverlayOperationType.CLIP ,
                OperateDataset = "Lake_R@Jingjin" ,
                SourceDataset = "Landuse_R@Jingjin" ,

            };
            DatasetOverlayAnalystService datasetOverlayAnalystService = new DatasetOverlayAnalystService(url2);
            datasetOverlayAnalystService.ProcessAsync(param);
            datasetOverlayAnalystService.ProcessCompleted += new EventHandler<DatasetOverlayAnalystArgs>(datasetOverlayAnalystService_ProcessCompleted);
            datasetOverlayAnalystService.Failed += new EventHandler<ServiceFailedEventArgs>(datasetOverlayAnalystService_Failed);
        }
 /// <summary>${iServerJava6R_DatasetOverlayAnalystService_method_ProcessAsync_D}</summary>
 /// <param name="Overlayparams">${iServerJava6R_DatasetOverlayAnalystService_method_ProcessAsync_param_Parameters}</param>
 /// <param name="state">${iServerJava6R_DatasetOverlayAnalystService_method_ProcessAsync_param_state}</param>
 public void ProcessAsync(DatasetOverlayAnalystParameters Overlayparams, object state)
 {
     GenerateAbsoluteUrl(Overlayparams);
     base.SubmitRequest(this.Url, GetDictionaryParameters(Overlayparams), new EventHandler<RequestEventArgs>(OverlayAnalystService_Complated), state, true, false, false);
 }
 /// <summary>${iServerJava6R_DatasetOverlayAnalystService_method_ProcessAsync_D}</summary>
 /// <overloads>${iServerJava6R_DatasetOverlayAnalystService_method_ProcessAsync_overloads_D}</overloads>
 public void ProcessAsync(DatasetOverlayAnalystParameters OverlayParams)
 {
     ProcessAsync(OverlayParams, null);
 }
 private System.Collections.Generic.Dictionary<string, string> GetDictionaryParameters(DatasetOverlayAnalystParameters parameters)
 {
     return DatasetOverlayAnalystParameters.ToDictionary((DatasetOverlayAnalystParameters)parameters);
 }
        //数据集叠加
        private void datasetOverlay_Click(object sender, RoutedEventArgs e)
        {
            var datasetOverlayParams = new DatasetOverlayAnalystParameters
            {
                Operation = OverlayOperationType.CLIP,
                //IsReturnRecordset = true,
                //IsOverwrite = true,
                SourceDataset = "SamplesP@Interpolation",
                MaxReturnRecordCount = 100,
                OperateDataset = "BoundsR@Interpolation",
                //ResultDatasetName = "aw@Interpolation",
            };

            var datasetOverlayAnalystService = new DatasetOverlayAnalystService(url);
            datasetOverlayAnalystService.ProcessAsync(datasetOverlayParams);
            datasetOverlayAnalystService.ProcessCompleted += new EventHandler<DatasetOverlayAnalystArgs>(datasetOverlayAnalystService_ProcessCompleted);
            datasetOverlayAnalystService.Failed += new EventHandler<SuperMap.Web.Service.ServiceFailedEventArgs>(datasetOverlayAnalystService_Failed);
        }
        internal static System.Collections.Generic.Dictionary<string, string> ToDictionary(DatasetOverlayAnalystParameters datasetOverlayParams)
        {
            System.Collections.Generic.Dictionary<string, string> dict = new System.Collections.Generic.Dictionary<string, string>();

            if (!string.IsNullOrEmpty(datasetOverlayParams.OperateDataset) && !string.IsNullOrWhiteSpace(datasetOverlayParams.OperateDataset))
            {
                dict.Add("operateDataset", "\"" + datasetOverlayParams.OperateDataset + "\"");
            }
            else
            {
                dict.Add("operateDataset", "\"\"");
            }

            dict.Add("operation", "\"" + datasetOverlayParams.Operation.ToString() + "\"");

            string dataReturnOption = "{\"dataReturnMode\": \"RECORDSET_ONLY\",\"deleteExistResultDataset\": true,";
            dataReturnOption += string.Format(System.Globalization.CultureInfo.InvariantCulture, "\"expectCount\":{0}", datasetOverlayParams.MaxReturnRecordCount);
            dataReturnOption += "}";
            dict.Add("dataReturnOption", dataReturnOption);

            if (datasetOverlayParams.SourceDatasetFilter != null)
            {
                dict.Add("sourceDatasetFilter", FilterParameter.ToJson(datasetOverlayParams.SourceDatasetFilter));
            }
            else
            {
                dict.Add("sourceDatasetFilter", FilterParameter.ToJson(new FilterParameter()));
            }

            if (datasetOverlayParams.OperateDatasetFilter != null)
            {
                dict.Add("operateDatasetFilter", FilterParameter.ToJson(datasetOverlayParams.OperateDatasetFilter));
            }
            else
            {
                dict.Add("operateDatasetFilter", FilterParameter.ToJson(new FilterParameter()));
            }

            if (datasetOverlayParams.OperateDatasetFields != null)
            {
                string operateFields = "[";
                System.Collections.Generic.List<string> list = new System.Collections.Generic.List<string>();
                foreach (var item in datasetOverlayParams.OperateDatasetFields)
                {
                    list.Add("\"" + item + "\"");
                }
                operateFields += string.Join(",", list.ToArray());
                operateFields += "]";

                dict.Add("operateDatasetFields", operateFields);
            }
            else
            {
                dict.Add("operateDatasetFields", "[]");
            }

            if (datasetOverlayParams.SourceDatasetFields != null)
            {
                string sourceFields = "[";
                System.Collections.Generic.List<string> list = new System.Collections.Generic.List<string>();
                foreach (var item in datasetOverlayParams.SourceDatasetFields)
                {
                    list.Add("\"" + item + "\"");
                }
                sourceFields += string.Join(",", list.ToArray());
                sourceFields += "]";

                dict.Add("sourceDatasetFields", sourceFields);
            }
            else
            {
                dict.Add("sourceDatasetFields", "[]");
            }

            if (datasetOverlayParams.OperateRegions != null)
            {
                string Regions = "[";
                System.Collections.Generic.List<string> list = new System.Collections.Generic.List<string>();
                foreach (var item in datasetOverlayParams.OperateRegions)
                {
                    list.Add(ServerGeometry.ToJson(item.ToServerGeometry()));
                }
                Regions += string.Join(",", list.ToArray());
                Regions += "]";

                dict.Add("operateRegions", Regions);
            }
            else
            {
                dict.Add("operateRegions", "[]");
            }

            dict.Add("tolerance", datasetOverlayParams.Tolerance.ToString(System.Globalization.CultureInfo.InvariantCulture));
            return dict;
        }