public IQueryable <RainfallStation> GetByCircle(double x, double y, double radius)
        {
            var q = from r in this._repository.Table
                    where LonLatHelper.GetLonLatIsInCircle(x, y, radius, r.Lon, r.Lat)
                    select r;

            return(q);
        }
        public IQueryable <RainfallStation> GetByRect(double x1, double x2, double y1, double y2)
        {
            var func = LonLatHelper.GetExpressionLonLatInRect(x1, x2, y1, y2);
            var q    = from r in this._repository.Table
                       where LonLatHelper.GetLonLatIsInRect(x1, x2, y1, y2, r.Lon, r.Lat)
                       select r;

            return(q);
        }
        public Expression <Func <Comprehensive, Boolean> > GetExpressionByCircle(double x, double y, double radius)
        {
            var eps = DynamicLinqExpressions.True <Comprehensive>();

            eps = eps.And(a =>
                          LonLatHelper.DistanceBetTwoPoints(
                              x, y,
                              a.经度,
                              a.纬度
                              )
                          <= radius);
            return(eps);
        }
        public Expression <Func <Comprehensive, Boolean> > GetExpressionByRect(
            double x1, double x2, double y1, double y2)
        {
            //var eps = DynamicLinqExpressions.True<Comprehensive>();
            //eps = eps.And(a =>
            //                          LonLatHelper.ConvertToDegreeStyleFromString(a.经度) > y1 &&
            //                          LonLatHelper.ConvertToDegreeStyleFromString(a.经度) < y2 &&
            //                          LonLatHelper.ConvertToDegreeStyleFromString(a.纬度) > x1 &&
            //                          LonLatHelper.ConvertToDegreeStyleFromString(a.纬度) < x2);
            //return eps;
            var eps = DynamicLinqExpressions.True <Comprehensive>();

            eps = eps.And(
                c => LonLatHelper.GetLonLatIsInRect(
                    x1, x2, y1, y2
                    , c.经度
                    , c.纬度
                    )
                );
            return(eps);
        }