${REST_GeometryOverlayAnalystParams_Title}

${REST_GeometryOverlayAnalystParams_Description}

Inheritance: OverlayAnalystParameters
        /// <summary>${REST_GeometryOverlayAnalystService_method_ProcessAsync_D}</summary>
        /// <param name="Overlayparams">${REST_GeometryOverlayAnalystService_method_ProcessAsync_param_Parameters}</param>
        /// <param name="state">${REST_GeometryOverlayAnalystService_method_ProcessAsync_param_state}</param>
        public async Task<GeometryOverlayAnalystResult> ProcessAsync(GeometryOverlayAnalystParameters Overlayparams)
        {
            GenerateAbsoluteUrl(Overlayparams);
            var result = await base.SubmitRequest(this.Url, GetDictionaryParameters(Overlayparams), true, false, false);
            JsonObject json = JsonObject.Parse(result);

            return GeometryOverlayAnalystResult.FromJson(json["resultGeometry"].GetObjectEx());
        }
        private void GenerateAbsoluteUrl(GeometryOverlayAnalystParameters Overlayparams)
        {
            if (Overlayparams == null)
            {
                throw new ArgumentNullException("请求服务参数为空!");
            }

            //http://192.168.11.154:8090/iserver/services/spatialanalyst-sample/restjsr/spatialanalyst/geometry/overlay
            if (this.Url.EndsWith("/"))
            {
                this.Url += "geometry/overlay.json?debug=true&returnContent=true";
            }
            else
            {
                this.Url += "/geometry/overlay.json?debug=true&returnContent=true";
            }
        }
        internal static System.Collections.Generic.Dictionary<string, string> ToDictionary(GeometryOverlayAnalystParameters geometryOverlayParams)
        {
            var dict = new System.Collections.Generic.Dictionary<string, string>();
            if (geometryOverlayParams.SourceGeometry != null)
            {
                dict.Add("sourceGeometry", ServerGeometry.ToJson(geometryOverlayParams.SourceGeometry.ToServerGeometry()));
            }
            else
            {
                dict.Add("sourceGeometry", ServerGeometry.ToJson(new ServerGeometry()));
            }

            if (geometryOverlayParams.OperateGeometry != null)
            {
                dict.Add("operateGeometry", ServerGeometry.ToJson(geometryOverlayParams.OperateGeometry.ToServerGeometry()));
            }
            else
            {
                dict.Add("operateGeometry", ServerGeometry.ToJson(new ServerGeometry()));
            }

            dict.Add("operation", "\"" + geometryOverlayParams.Operation.ToString() + "\"");
            return dict;
        }
 private System.Collections.Generic.Dictionary<string, string> GetDictionaryParameters(GeometryOverlayAnalystParameters parameters)
 {
     return GeometryOverlayAnalystParameters.ToDictionary((GeometryOverlayAnalystParameters)parameters);
 }