示例#1
0
        public void TestSqlServer2008Distance()
        {
            GeometryServices services = new GeometryServices();

            MsSqlServer2008Provider <long> search = new MsSqlServer2008Provider <long>(services.DefaultGeometryFactory,
                                                                                       ConfigurationManager.
                                                                                       ConnectionStrings["sql2008"].
                                                                                       ConnectionString,
                                                                                       "dbo",
                                                                                       "GeoPlaces", "OId", "Geom")
            {
                DefaultProviderProperties
                    = new ProviderPropertiesExpression(
                          new ProviderPropertyExpression[]
                {
                    new WithNoLockExpression(true),
                    new ForceIndexExpression(true)
                })
            };

            IGeometry point = services["EPSG:27700"].CreatePoint2D(500000, 180000);

            SpatialAnalysisExpression analysisExpresssion =
                new SpatialAnalysisDistanceExpression(new GeometryExpression(null),
                                                      new GeometryExpression(point));


            BinaryExpression expression = new BinaryExpression(analysisExpresssion, BinaryOperator.LessThanOrEqualTo,
                                                               new LiteralExpression <double>(2000.00));
            ProviderPropertiesExpression providerProps =
                new ProviderPropertiesExpression(
                    new ProviderPropertyExpression[]
            {
                new WithNoLockExpression(true),
                new ForceIndexExpression(true)
            });


            ProviderQueryExpression prov = new ProviderQueryExpression(providerProps, new AllAttributesExpression(),
                                                                       expression);

            object obj = search.ExecuteQuery(prov);

            Assert.IsNotNull(obj);
        }
示例#2
0
        public void TestSqlServer2008Distance()
        {
            GeometryServices services = new GeometryServices();

            MsSqlServer2008Provider<long> search = new MsSqlServer2008Provider<long>(services.DefaultGeometryFactory,
                                                                                     ConfigurationManager.
                                                                                         ConnectionStrings["sql2008"].
                                                                                         ConnectionString,
                                                                                     "dbo",
                                                                                     "GeoPlaces", "OId", "Geom")
                                                       {
                                                           DefaultProviderProperties
                                                               = new ProviderPropertiesExpression(
                                                               new ProviderPropertyExpression[]
                                                                   {
                                                                       new WithNoLockExpression(true),
                                                                       new ForceIndexExpression(true)
                                                                   })
                                                       };

            IGeometry point = services["EPSG:27700"].CreatePoint2D(500000, 180000);

            SpatialAnalysisExpression analysisExpresssion =
                new SpatialAnalysisDistanceExpression(new GeometryExpression(null),
                                                      new GeometryExpression(point));


            BinaryExpression expression = new BinaryExpression(analysisExpresssion, BinaryOperator.LessThanOrEqualTo,
                                                               new LiteralExpression<double>(2000.00));
            ProviderPropertiesExpression providerProps =
                new ProviderPropertiesExpression(
                    new ProviderPropertyExpression[]
                        {
                            new WithNoLockExpression(true),
                            new ForceIndexExpression(true)
                        });


            ProviderQueryExpression prov = new ProviderQueryExpression(providerProps, new AllAttributesExpression(),
                                                                       expression);

            object obj = search.ExecuteQuery(prov);

            Assert.IsNotNull(obj);
        }