forked from FarmMaps/FarmMapsApiClient
		
	fixed to store statistics of satellite images
This commit is contained in:
		@@ -345,7 +345,7 @@ namespace FarmmapsApi.Services
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
        public async Task<Item> FindSatelliteItem(Item cropfieldItem, string satelliteTaskCode, string FieldName, bool StoreStatistics) {
 | 
			
		||||
        public async Task<Item> FindSatelliteItem(Item cropfieldItem, string satelliteTaskCode) {
 | 
			
		||||
 | 
			
		||||
            var taskStatus = await _farmmapsApiService.GetTaskStatusAsync(cropfieldItem.Code, satelliteTaskCode);
 | 
			
		||||
 | 
			
		||||
@@ -384,11 +384,6 @@ namespace FarmmapsApi.Services
 | 
			
		||||
            }
 | 
			
		||||
 | 
			
		||||
            return selectedSatelliteItem;
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        //VanDerSat
 | 
			
		||||
@@ -416,32 +411,6 @@ namespace FarmmapsApi.Services
 | 
			
		||||
 | 
			
		||||
            return itemTask.Code;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        public async Task<string> RunWatBalTask(Item cropfieldItem) {
 | 
			
		||||
 | 
			
		||||
            _logger.LogInformation("Gathering WatBal information for cropfield, this might take a while!");
 | 
			
		||||
 | 
			
		||||
            var taskmapRequest = new TaskRequest { TaskType = WATBAL_TASK };
 | 
			
		||||
            string itemTaskCode = await _farmmapsApiService.QueueTaskAsync(cropfieldItem.Code, taskmapRequest);
 | 
			
		||||
 | 
			
		||||
            await PollTask(TimeSpan.FromSeconds(5), async (tokenSource) => {
 | 
			
		||||
                var itemTaskStatus = await _farmmapsApiService.GetTaskStatusAsync(cropfieldItem.Code, itemTaskCode);
 | 
			
		||||
                _logger.LogInformation($"Waiting on VanDerSat data; status: {itemTaskStatus.State}");
 | 
			
		||||
                if (itemTaskStatus.IsFinished)
 | 
			
		||||
                    tokenSource.Cancel();
 | 
			
		||||
 | 
			
		||||
            });
 | 
			
		||||
 | 
			
		||||
            var itemTask = await _farmmapsApiService.GetTaskStatusAsync(cropfieldItem.Code, itemTaskCode);
 | 
			
		||||
 | 
			
		||||
            if (itemTask.State == ItemTaskState.Error) {
 | 
			
		||||
                _logger.LogError($"Something went wrong when trying to process WatBal data; {itemTask.Message}");
 | 
			
		||||
 | 
			
		||||
            }
 | 
			
		||||
 | 
			
		||||
            return itemTask.Code;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        public async Task<Item> FindVanDerSatItem(Item cropfieldItem, string VanDerSatTaskCode, string FieldName, bool StoreStatistics) {
 | 
			
		||||
 | 
			
		||||
            var taskStatus = await _farmmapsApiService.GetTaskStatusAsync(cropfieldItem.Code, VanDerSatTaskCode);
 | 
			
		||||
@@ -478,7 +447,6 @@ namespace FarmmapsApi.Services
 | 
			
		||||
                        Console.WriteLine($"{numbervandersat} Van der Sat images found");
 | 
			
		||||
                    }
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
                    var VanderSatStatistics = item.Data["layers"][0]["renderer"]["band"]["statistics"];
 | 
			
		||||
                    var VanDerSatImageDate = (DateTime)item.DataDate;
 | 
			
		||||
                    var VanderSatDate = VanDerSatImageDate.ToString("yyyy-MM-dd");
 | 
			
		||||
@@ -512,6 +480,32 @@ namespace FarmmapsApi.Services
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
        }
 | 
			
		||||
        public async Task<string> RunWatBalTask(Item cropfieldItem) {
 | 
			
		||||
 | 
			
		||||
            _logger.LogInformation("Gathering WatBal information for cropfield, this might take a while!");
 | 
			
		||||
 | 
			
		||||
            var taskmapRequest = new TaskRequest { TaskType = WATBAL_TASK };
 | 
			
		||||
            string itemTaskCode = await _farmmapsApiService.QueueTaskAsync(cropfieldItem.Code, taskmapRequest);
 | 
			
		||||
 | 
			
		||||
            await PollTask(TimeSpan.FromSeconds(5), async (tokenSource) => {
 | 
			
		||||
                var itemTaskStatus = await _farmmapsApiService.GetTaskStatusAsync(cropfieldItem.Code, itemTaskCode);
 | 
			
		||||
                _logger.LogInformation($"Waiting on VanDerSat data; status: {itemTaskStatus.State}");
 | 
			
		||||
                if (itemTaskStatus.IsFinished)
 | 
			
		||||
                    tokenSource.Cancel();
 | 
			
		||||
 | 
			
		||||
            });
 | 
			
		||||
 | 
			
		||||
            var itemTask = await _farmmapsApiService.GetTaskStatusAsync(cropfieldItem.Code, itemTaskCode);
 | 
			
		||||
 | 
			
		||||
            if (itemTask.State == ItemTaskState.Error) {
 | 
			
		||||
                _logger.LogError($"Something went wrong when trying to process WatBal data; {itemTask.Message}");
 | 
			
		||||
 | 
			
		||||
            }
 | 
			
		||||
 | 
			
		||||
            return itemTask.Code;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        
 | 
			
		||||
 | 
			
		||||
        public async Task<Item> FindWatBalItem(Item cropfieldItem, string WatBalTaskCode, string FieldName, bool StoreStatistics) {
 | 
			
		||||
 | 
			
		||||
@@ -519,10 +513,8 @@ namespace FarmmapsApi.Services
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
            // find WatBal data temporal 
 | 
			
		||||
            var temporalItem = await FindChildItemAsync(cropfieldItem.Code, TEMPORAL_ITEMTYPE, "WatBal");//, item => item.SourceTask == VANDERSAT_TASK &&
 | 
			
		||||
                                                                                                         //                                           taskStatus.Finished >= item.Created &&
 | 
			
		||||
                                                                                                         //                                         taskStatus.Finished <= item.Created.Value.AddHours(1));
 | 
			
		||||
 | 
			
		||||
            var temporalItem = await FindChildItemAsync(cropfieldItem.Code, TEMPORAL_ITEMTYPE, "Watbal",
 | 
			
		||||
                item => item.SourceTask == WATBAL_TASK && taskStatus.Finished >= item.Created && taskStatus.Finished <= item.Created.Value.AddHours(1));
 | 
			
		||||
 | 
			
		||||
            if (temporalItem == null) {
 | 
			
		||||
                _logger.LogError("Temporal item not found");
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user