${REST_Query_queryParamerters_Title}

${REST_Query_queryParamerters_Description}

 /// <summary>${REST_Query_QueryByDistanceService_method_GetParameters_D}</summary>
 /// <param name="parameters">${REST_Query_QueryByDistanceService_method_GetParameters_parameters}</param>
 protected override Dictionary<string, string> GetParameters(QueryParameters parameters)
 {
     Dictionary<string, string> dictionary = new Dictionary<string, string>();
     dictionary.Add("queryMode", "\"SqlQuery\"");
     dictionary.Add("queryParameters", QueryParameters.ToJson(parameters));
     return dictionary;
 }
        /// <summary>${REST_Query_QueryByDistanceService_method_GetParameters_D}</summary>
        /// <param name="parameters">${REST_Query_QueryByDistanceService_method_GetParameters_parameters}</param>
        protected override Dictionary<string, string> GetParameters(QueryParameters parameters)
        {
            Dictionary<string, string> dictionary = new Dictionary<string, string>();

            dictionary.Add("queryMode", "\"SpatialQuery\"");
            dictionary.Add("queryParameters", QueryParameters.ToJson(parameters));
            dictionary.Add("geometry", ServerGeometry.ToJson(((QueryByGeometryParameters)parameters).Geometry.ToServerGeometry()));
            dictionary.Add("spatialQueryMode", string.Format("\"{0}\"", ((QueryByGeometryParameters)parameters).SpatialQueryMode));

            return dictionary;
        }
        /// <summary>${REST_Query_QueryByBoundsService_method_GetParameters}</summary>
        /// <param name="parameters">${REST_Query_QueryByBoundsService_method_GetParameters_parameters}</param>
        protected override Dictionary<string, string> GetParameters(QueryParameters parameters)
        {
            Dictionary<string, string> dictionary = new Dictionary<string, string>();

            dictionary.Add("queryMode", "\"BoundsQuery\"");
            dictionary.Add("queryParameters", QueryParameters.ToJson(parameters));
            if (!Rectangle2D.IsNullOrEmpty(((QueryByBoundsParameters)parameters).Bounds))
            {
                dictionary.Add("bounds", JsonHelper.FromRectangle2D(((QueryByBoundsParameters)parameters).Bounds));
            }
            return dictionary;
        }
Пример #4
0
        //
        internal static string ToJson(QueryParameters param)
        {
            if (param == null)
            {
                return null;
            }

            string json = "{";
            List<string> list = new List<string>();

            if (!string.IsNullOrEmpty(param.CustomParams))
            {
                list.Add(string.Format("\"customParams\":\"{0}\"", param.CustomParams));
            }
            else
            {
                list.Add("\"customParams\":null");
            }

            if (param.HoldTime != int.MinValue)
            {
                list.Add(string.Format("\"holdTime\":{0}", param.HoldTime));
            }

            list.Add(string.Format("\"expectCount\":{0}", param.ExpectCount));
            list.Add(string.Format("\"startRecord\":{0}", param.StartRecord));
            list.Add(string.Format("\"networkType\":\"{0}\"", param.NetworkType.ToString()));
            list.Add(string.Format("\"queryOption\":\"{0}\"", param.QueryOption.ToString()));


            IList<FilterParameter> queryParams = param.FilterParameters;
            if (queryParams != null && queryParams.Count > 0)
            {
                List<string> layerParams = new List<string>();

                for (int i = 0; i < queryParams.Count; i++)
                {
                    layerParams.Add(FilterParameter.ToJson(param.FilterParameters[i]));
                }
                string temp = "[" + string.Join(",", layerParams.ToArray()) + "]";
                list.Add(string.Format("\"queryParams\":{0}", temp));
            }


            json += string.Join(",", list.ToArray());
            json += "}";
            return json;
        }
        /// <summary>${REST_Query_QueryByDistanceService_method_GetParameters_D}</summary>
        /// <param name="parameters">${REST_Query_QueryByDistanceService_method_GetParameters_parameters}</param>
        protected override Dictionary<string, string> GetParameters(QueryParameters parameters)
        {

            Dictionary<string, string> dictionary = new Dictionary<string, string>();

            if (((QueryByDistanceParameters)parameters).IsNearest)
            {
                dictionary.Add("queryMode", "\"FindNearest\"");
            }
            else
            {
                dictionary.Add("queryMode", "\"DistanceQuery\"");
            }
            dictionary.Add("queryParameters", QueryParameters.ToJson(parameters));
            dictionary.Add("geometry", ServerGeometry.ToJson(((QueryByDistanceParameters)parameters).Geometry.ToServerGeometry()));
            dictionary.Add("distance", ((QueryByDistanceParameters)parameters).Distance.ToString());

            return dictionary;
        }
Пример #6
0
        /// <summary>${REST_Query_QueryService_method_ProcessAsync_D}</summary>
        /// <param name="parameters">${REST_Query_QueryService_ProcessAsync_param_parameters}</param>
        /// <param name="state">${REST_Query_QueryService_ProcessAsync_param_state}</param>
        public async Task<QueryResult> ProcessAsync(QueryParameters parameters)
        {
            if (parameters == null)
            {
                throw new ArgumentNullException(ExceptionStrings.ArgumentIsNull);
            }
            if (string.IsNullOrEmpty(this.Url))
            {
                throw new InvalidOperationException(ExceptionStrings.InvalidUrl);
            }

            if (!this.Url.EndsWith("/"))
            {
                this.Url += '/';
            }
            //参数必须放在 URI 中
            this.Url += string.Format("queryResults.json?returnContent={0}&debug=true", parameters.ReturnContent.ToString().ToLower());

            var result = await base.SubmitRequest(base.Url, GetParameters(parameters), true);
            JsonObject jsonObject = JsonObject.Parse(result);
            return QueryResult.FromJson(jsonObject);
        }
Пример #7
0
 /// <summary>${REST_Query_QueryService_method_GetParameters_D}</summary>
 /// <param name="parameters">${REST_Query_QueryService_method_GetParameters_parameters}</param>
 protected abstract Dictionary<string, string> GetParameters(QueryParameters parameters);