public override RandomAccessFilter BuildRandomAccessFilter(string val, IDictionary <string, string> props)
        {
            GeoLatLonRange range = GeoLatLonRange.Parse(val);

            RandomAccessFilter latFilter  = _latFacetHandler.BuildRandomAccessFilter(range.latRange, props);
            RandomAccessFilter longFilter = _longFacetHandler.BuildRandomAccessFilter(range.lonRange, props);

            return(new RandomAccessAndFilter(new RandomAccessFilter[] { latFilter, longFilter }));
        }
        public override RandomAccessFilter BuildRandomAccessOrFilter(string[] vals, IDictionary <string, string> props, bool isNot)
        {
            List <string> latValList  = new List <string>(vals.Length);
            List <string> longValList = new List <string>(vals.Length);

            foreach (string val in vals)
            {
                GeoLatLonRange range = GeoLatLonRange.Parse(val);
                latValList.Add(range.latRange);
                longValList.Add(range.lonRange);
            }
            RandomAccessFilter latFilter  = _latFacetHandler.BuildRandomAccessOrFilter(latValList.ToArray(), props, isNot);
            RandomAccessFilter longFilter = _longFacetHandler.BuildRandomAccessOrFilter(longValList.ToArray(), props, isNot);

            return(new RandomAccessAndFilter(new RandomAccessFilter[] { latFilter, longFilter }));
        }