private List <MountainPoint> GetData(HeightRequestDbData requestData)
        {
            var elevationService = new ElevationService();

            var request = new ElevationRequest();

            request.Samples = requestData.ResolutionX;

            var latStep = (requestData.NeLat - requestData.SwLat) / requestData.ResolutionY;
            var lat     = requestData.SwLat + latStep * requestData.RequestNumber;

            request.Path.Add(new LatLng(lat, requestData.SwLng));
            request.Path.Add(new LatLng(lat, requestData.NeLng));

            var response = elevationService.GetResponse(request);

            if (response.Status == ServiceResponseStatus.Ok)
            {
                return(response.Results.Select(i => new MountainPoint
                {
                    height = i.Elevation,
                    lat = (decimal)i.Location.Latitude,
                    lng = (decimal)i.Location.Longitude
                }).ToList());
            }
            throw new Exception("Not supported status: " + response.Status + ". " + response.ErrorMessage);
        }
Example #2
0
        private void RequestHeight(MountainDbData mountain, MountainDbContext context)
        {
            var request = new HeightRequestDbData
            {
                MountainId    = mountain.Id,
                NeLat         = mountain.NeLat,
                NeLng         = mountain.NeLng,
                SwLat         = mountain.SwLat,
                SwLng         = mountain.SwLng,
                RequestNumber = 0,
                ResolutionX   = 100,
                ResolutionY   = 100
            };

            context.HeightRequests.Add(request);
            context.SaveChanges();
        }