public MapServerHelper(string url)
        {
            MapServerUrl = url;
            string  result = ZWebClient.DownloadString($"{MapServerUrl}?f=pjson");
            JObject info   = JObject.Parse(result);
            JArray  layers = info.GetValue("layers") as JArray;

            LayerLst = layers.Select(obj => new MapServerLayer(MapServerUrl, (JObject)obj)).ToList();
        }
        /// <summary>
        /// 获取features
        /// </summary>
        /// <returns></returns>
        public JArray GetFeatures(string where, string outFields = "*")
        {
            string  queryStr = $"query?where={where}&time=&returnCountOnly=false&returnIdsOnly=false&returnGeometry=true&outFields={outFields}&f=pjson";
            string  result   = ZWebClient.DownloadString($"{url}/{id}/{queryStr}");
            JObject obj      = JObject.Parse(result);
            JArray  features = obj.Value <JArray>("features");

            return(features);
        }
        /// <summary>
        /// 获取Feature的总数
        /// </summary>
        /// <param name="where"></param>
        /// <returns></returns>
        public int GetFeautreNum(string where = "1=1")
        {
            string  queryStr = $"query?where={where}&time=&returnCountOnly=true&returnIdsOnly=true&returnGeometry=false&outFields=*&f=pjson";
            string  result   = ZWebClient.DownloadString($"{url}/{id}/{queryStr}");
            JObject obj      = JObject.Parse(result);
            JToken  token    = null;

            if (obj.TryGetValue("objectIds", out token))
            {
                return(((JArray)token).Count());
            }
            else if (obj.TryGetValue("count", out token))
            {
                return(Convert.ToInt32(token.ToString()));
            }
            else
            {
                return(0);
            }
        }