Пример #1
0
        public List <GeographyPlace> GetNearestPlacesUsingGeography(double latitude, double longitude, double radius = 10, int limit = 10)
        {
            var         point                = DbGeography.FromText("POINT(" + longitude + " " + latitude + ")", 4326);
            var         topLeftLatitude      = 23.783726;
            var         topLeftLongitude     = 90.344245;
            var         bottomRightLatitude  = 23.685148;
            var         bottomRightLongitude = 90.492713;
            MapsContext context              = new MapsContext();
            var         datas                =
                context.GeographyPlaces.Where(x => x.Location.Distance(point) <= radius * 1000)
                .Take(limit)
                .OrderBy(x => x.Location.Distance(point));

            System.Data.Spatial.DbGeography polygon;
            try
            {
                polygon =
                    System.Data.Spatial.DbGeography.PolygonFromText(
                        "POLYGON((127.652 -26.244,127.652 -26.194,90.344245 23.783726,127.652 -26.244))",
                        4326);
            }
            catch (System.Exception ex)
            {
                throw;
            }
            //polygon.
            var result = datas.ToList();

            return(result);
        }
Пример #2
0
        public void Public_members_check_for_null_arguments()
        {
            TestNullArgument("wellKnownBinary", () => DbGeography.FromBinary(null));
            TestNullArgument("wellKnownBinary", () => DbGeography.FromBinary(null, 1));
            TestNullArgument("lineWellKnownBinary", () => DbGeography.LineFromBinary(null, 1));
            TestNullArgument("pointWellKnownBinary", () => DbGeography.PointFromBinary(null, 1));
            TestNullArgument("polygonWellKnownBinary", () => DbGeography.PolygonFromBinary(null, 1));
            TestNullArgument("multiLineWellKnownBinary", () => DbGeography.MultiLineFromBinary(null, 1));
            TestNullArgument("multiPointWellKnownBinary", () => DbGeography.MultiPointFromBinary(null, 1));
            TestNullArgument("multiPolygonWellKnownBinary", () => DbGeography.MultiPolygonFromBinary(null, 1));
            TestNullArgument("geographyCollectionWellKnownBinary", () => DbGeography.GeographyCollectionFromBinary(null, 1));

            TestNullArgument("geographyMarkup", () => DbGeography.FromGml(null));
            TestNullArgument("geographyMarkup", () => DbGeography.FromGml(null, 1));

            TestNullArgument("wellKnownText", () => DbGeography.FromText(null));
            TestNullArgument("wellKnownText", () => DbGeography.FromText(null, 1));
            TestNullArgument("lineWellKnownText", () => DbGeography.LineFromText(null, 1));
            TestNullArgument("pointWellKnownText", () => DbGeography.PointFromText(null, 1));
            TestNullArgument("polygonWellKnownText", () => DbGeography.PolygonFromText(null, 1));
            TestNullArgument("multiLineWellKnownText", () => DbGeography.MultiLineFromText(null, 1));
            TestNullArgument("multiPointWellKnownText", () => DbGeography.MultiPointFromText(null, 1));
            TestNullArgument("multiPolygonWellKnownText", () => DbGeography.MultiPolygonFromText(null, 1));
            TestNullArgument("geographyCollectionWellKnownText", () => DbGeography.GeographyCollectionFromText(null, 1));

            TestNullArgument("other", s => s.SpatialEquals(null));
            TestNullArgument("other", s => s.Disjoint(null));
            TestNullArgument("other", s => s.Intersects(null));

            TestNullArgument("distance", s => s.Buffer(null));
            TestNullArgument("other", s => s.Distance(null));
            TestNullArgument("other", s => s.Intersection(null));
            TestNullArgument("other", s => s.Union(null));
            TestNullArgument("other", s => s.Difference(null));
            TestNullArgument("other", s => s.SymmetricDifference(null));
        }