Compare commits
2 Commits
fedde-patc
...
80f4397410
Author | SHA1 | Date | |
---|---|---|---|
80f4397410 | |||
b6764c5e1a |
@@ -44,14 +44,14 @@ namespace FarmMapsBlight
|
|||||||
await _farmmapsApiService.GetCurrentUserCodeAsync();
|
await _farmmapsApiService.GetCurrentUserCodeAsync();
|
||||||
var roots = await _farmmapsApiService.GetCurrentUserRootsAsync();
|
var roots = await _farmmapsApiService.GetCurrentUserRootsAsync();
|
||||||
|
|
||||||
var myDrive = roots.SingleOrDefault(r => r.Name == "USER_FILES");
|
var myDrive = roots.SingleOrDefault(r => r.Name == "My drive");
|
||||||
if (myDrive == null)
|
if (myDrive == null)
|
||||||
{
|
{
|
||||||
_logger.LogError("Could not find a needed root item");
|
_logger.LogError("Could not find a needed root item");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
var uploadedRoot = roots.SingleOrDefault(r => r.Name == "USER_IN");
|
var uploadedRoot = roots.SingleOrDefault(r => r.Name == "Uploaded");
|
||||||
if (uploadedRoot == null)
|
if (uploadedRoot == null)
|
||||||
{
|
{
|
||||||
_logger.LogError("Could not find a needed root item");
|
_logger.LogError("Could not find a needed root item");
|
||||||
|
@@ -19,7 +19,7 @@ namespace FarmmapsApiSamples
|
|||||||
public const string VRAHAULMKILLING_TASK = "vnd.farmmaps.task.vrahaulmkilling";
|
public const string VRAHAULMKILLING_TASK = "vnd.farmmaps.task.vrahaulmkilling";
|
||||||
public const string VRAPLANTING_TASK = "vnd.farmmaps.task.vrapoten";
|
public const string VRAPLANTING_TASK = "vnd.farmmaps.task.vrapoten";
|
||||||
public const string VRAZONERING_TASK = "vnd.farmmaps.task.vrazonering";
|
public const string VRAZONERING_TASK = "vnd.farmmaps.task.vrazonering";
|
||||||
public const string SATELLITE_TASK = "vnd.farmmaps.task.sentinelhub";
|
public const string SATELLITE_TASK = "vnd.farmmaps.task.satellite";
|
||||||
public const string VANDERSAT_TASK = "vnd.farmmaps.task.vandersat";
|
public const string VANDERSAT_TASK = "vnd.farmmaps.task.vandersat";
|
||||||
public const string TASKMAP_TASK = "vnd.farmmaps.task.taskmap";
|
public const string TASKMAP_TASK = "vnd.farmmaps.task.taskmap";
|
||||||
public const string WORKFLOW_TASK = "vnd.farmmaps.task.workflow";
|
public const string WORKFLOW_TASK = "vnd.farmmaps.task.workflow";
|
||||||
|
@@ -1,7 +1,6 @@
|
|||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.IO;
|
using System.IO;
|
||||||
using System.Linq;
|
|
||||||
using System.Net;
|
using System.Net;
|
||||||
using System.Net.Http;
|
using System.Net.Http;
|
||||||
using System.Net.Http.Headers;
|
using System.Net.Http.Headers;
|
||||||
@@ -96,19 +95,7 @@ namespace FarmmapsApi.Services
|
|||||||
|
|
||||||
var jsonString = await response.Content.ReadAsStringAsync();
|
var jsonString = await response.Content.ReadAsStringAsync();
|
||||||
|
|
||||||
var roots = JsonConvert.DeserializeObject<List<UserRoot>>(jsonString);
|
return JsonConvert.DeserializeObject<List<UserRoot>>(jsonString);
|
||||||
roots.ForEach(v =>
|
|
||||||
{
|
|
||||||
v.Name = GetSuffixFromSystemItemCode(v.Code);
|
|
||||||
});
|
|
||||||
|
|
||||||
return roots;
|
|
||||||
}
|
|
||||||
|
|
||||||
private static string GetSuffixFromSystemItemCode(string itemCode)
|
|
||||||
{
|
|
||||||
string[] strArray = itemCode.Split(":");
|
|
||||||
return strArray.Length == 2 ? strArray[1] : throw new ArgumentException("No system item code :" + itemCode);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public async Task<Item> GetItemAsync(string itemCode, string itemType = null, JObject dataFilter = null)
|
public async Task<Item> GetItemAsync(string itemCode, string itemType = null, JObject dataFilter = null)
|
||||||
|
@@ -225,14 +225,14 @@ LIMIT 5;", schemaname, parceltablename, groenmonitorlatestviewname); //LIMIT x
|
|||||||
|
|
||||||
LoadSettings(settingsfile);
|
LoadSettings(settingsfile);
|
||||||
|
|
||||||
var uploadedRoot = roots.SingleOrDefault(r => r.Name == "USER_IN");
|
var uploadedRoot = roots.SingleOrDefault(r => r.Name == "Uploaded");
|
||||||
if (uploadedRoot == null)
|
if (uploadedRoot == null)
|
||||||
{
|
{
|
||||||
_logger.LogError("Could not find a needed root item");
|
_logger.LogError("Could not find a needed root item");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
var myDriveRoot = roots.SingleOrDefault(r => r.Name == "USER_FILES");
|
var myDriveRoot = roots.SingleOrDefault(r => r.Name == "My drive");
|
||||||
if (myDriveRoot == null)
|
if (myDriveRoot == null)
|
||||||
{
|
{
|
||||||
_logger.LogError("Could not find a needed root item");
|
_logger.LogError("Could not find a needed root item");
|
||||||
|
@@ -82,14 +82,14 @@ namespace FarmmapsDataDownload
|
|||||||
|
|
||||||
LoadSettings(settingsfile);
|
LoadSettings(settingsfile);
|
||||||
|
|
||||||
var uploadedRoot = roots.SingleOrDefault(r => r.Name == "USER_IN");
|
var uploadedRoot = roots.SingleOrDefault(r => r.Name == "Uploaded");
|
||||||
if (uploadedRoot == null)
|
if (uploadedRoot == null)
|
||||||
{
|
{
|
||||||
_logger.LogError("Could not find a needed root item");
|
_logger.LogError("Could not find a needed root item");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
var myDriveRoot = roots.SingleOrDefault(r => r.Name == "USER_FILES");
|
var myDriveRoot = roots.SingleOrDefault(r => r.Name == "My drive");
|
||||||
if (myDriveRoot == null)
|
if (myDriveRoot == null)
|
||||||
{
|
{
|
||||||
_logger.LogError("Could not find a needed root item");
|
_logger.LogError("Could not find a needed root item");
|
||||||
@@ -116,6 +116,7 @@ namespace FarmmapsDataDownload
|
|||||||
if (input.GetCropRecordings)
|
if (input.GetCropRecordings)
|
||||||
{
|
{
|
||||||
var crprecItem = input.CrprecItem;
|
var crprecItem = input.CrprecItem;
|
||||||
|
//Item cropfieldItem = ;
|
||||||
_logger.LogInformation($"Trying to get crop recordings of croprecording: {crprecItem}");
|
_logger.LogInformation($"Trying to get crop recordings of croprecording: {crprecItem}");
|
||||||
|
|
||||||
var cropRec = await _farmmapsApiService.GetItemChildrenAsync(crprecItem, CROPREC_ITEMTYPE);
|
var cropRec = await _farmmapsApiService.GetItemChildrenAsync(crprecItem, CROPREC_ITEMTYPE);
|
||||||
@@ -128,7 +129,7 @@ namespace FarmmapsDataDownload
|
|||||||
var cropRecPath = Path.Combine(downloadFolder, $"croprecordings_{crprecItem}.json");
|
var cropRecPath = Path.Combine(downloadFolder, $"croprecordings_{crprecItem}.json");
|
||||||
_logger.LogInformation($"Found {cropRec.Count} crop recordings");
|
_logger.LogInformation($"Found {cropRec.Count} crop recordings");
|
||||||
var count = 0;
|
var count = 0;
|
||||||
await Task.Delay(500);
|
TimeSpan.FromSeconds(0.5);
|
||||||
foreach (var item in cropRec)
|
foreach (var item in cropRec)
|
||||||
{
|
{
|
||||||
Console.WriteLine($"Crop recording #{count}: {item.Name}");
|
Console.WriteLine($"Crop recording #{count}: {item.Name}");
|
||||||
|
@@ -45,14 +45,14 @@ namespace FarmmapsHaulmkilling
|
|||||||
await _farmmapsApiService.GetCurrentUserCodeAsync();
|
await _farmmapsApiService.GetCurrentUserCodeAsync();
|
||||||
var roots = await _farmmapsApiService.GetCurrentUserRootsAsync();
|
var roots = await _farmmapsApiService.GetCurrentUserRootsAsync();
|
||||||
|
|
||||||
var myDrive = roots.SingleOrDefault(r => r.Name == "USER_FILES");
|
var myDrive = roots.SingleOrDefault(r => r.Name == "My drive");
|
||||||
if (myDrive == null)
|
if (myDrive == null)
|
||||||
{
|
{
|
||||||
_logger.LogError("Could not find a needed root item");
|
_logger.LogError("Could not find a needed root item");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
var uploadedRoot = roots.SingleOrDefault(r => r.Name == "USER_IN");
|
var uploadedRoot = roots.SingleOrDefault(r => r.Name == "Uploaded");
|
||||||
if (uploadedRoot == null)
|
if (uploadedRoot == null)
|
||||||
{
|
{
|
||||||
_logger.LogError("Could not find a needed root item");
|
_logger.LogError("Could not find a needed root item");
|
||||||
|
@@ -50,14 +50,14 @@ namespace FarmmapsHerbicide
|
|||||||
|
|
||||||
private async Task SingleLutumTiffFlow(List<UserRoot> roots)
|
private async Task SingleLutumTiffFlow(List<UserRoot> roots)
|
||||||
{
|
{
|
||||||
var myDrive = roots.SingleOrDefault(r => r.Name == "USER_FILES");
|
var myDrive = roots.SingleOrDefault(r => r.Name == "My drive");
|
||||||
if (myDrive == null)
|
if (myDrive == null)
|
||||||
{
|
{
|
||||||
_logger.LogError("Could not find a needed root item");
|
_logger.LogError("Could not find a needed root item");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
var uploadedRoot = roots.SingleOrDefault(r => r.Name == "USER_IN");
|
var uploadedRoot = roots.SingleOrDefault(r => r.Name == "Uploaded");
|
||||||
if (uploadedRoot == null)
|
if (uploadedRoot == null)
|
||||||
{
|
{
|
||||||
_logger.LogError("Could not find a needed root item");
|
_logger.LogError("Could not find a needed root item");
|
||||||
@@ -91,14 +91,14 @@ namespace FarmmapsHerbicide
|
|||||||
|
|
||||||
private async Task MultiVanDenBorneShapeFlow(List<UserRoot> roots)
|
private async Task MultiVanDenBorneShapeFlow(List<UserRoot> roots)
|
||||||
{
|
{
|
||||||
var myDrive = roots.SingleOrDefault(r => r.Name == "USER_FILES");
|
var myDrive = roots.SingleOrDefault(r => r.Name == "My drive");
|
||||||
if (myDrive == null)
|
if (myDrive == null)
|
||||||
{
|
{
|
||||||
_logger.LogError("Could not find a needed root item");
|
_logger.LogError("Could not find a needed root item");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
var uploadedRoot = roots.SingleOrDefault(r => r.Name == "USER_IN");
|
var uploadedRoot = roots.SingleOrDefault(r => r.Name == "Uploaded");
|
||||||
if (uploadedRoot == null)
|
if (uploadedRoot == null)
|
||||||
{
|
{
|
||||||
_logger.LogError("Could not find a needed root item");
|
_logger.LogError("Could not find a needed root item");
|
||||||
|
@@ -64,13 +64,13 @@ namespace FarmmapsNbs {
|
|||||||
|
|
||||||
LoadSettings(settingsfile);
|
LoadSettings(settingsfile);
|
||||||
|
|
||||||
var uploadedRoot = roots.SingleOrDefault(r => r.Name == "USER_IN");
|
var uploadedRoot = roots.SingleOrDefault(r => r.Name == "Uploaded");
|
||||||
if (uploadedRoot == null) {
|
if (uploadedRoot == null) {
|
||||||
_logger.LogError("Could not find a needed root item");
|
_logger.LogError("Could not find a needed root item");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
var myDriveRoot = roots.SingleOrDefault(r => r.Name == "USER_FILES");
|
var myDriveRoot = roots.SingleOrDefault(r => r.Name == "My drive");
|
||||||
if (myDriveRoot == null) {
|
if (myDriveRoot == null) {
|
||||||
_logger.LogError("Could not find a needed root item");
|
_logger.LogError("Could not find a needed root item");
|
||||||
return;
|
return;
|
||||||
|
@@ -61,13 +61,13 @@ namespace FarmmapsVRApoten
|
|||||||
bool countPerArea = input.CountPerArea;
|
bool countPerArea = input.CountPerArea;
|
||||||
var inputLayerName = input.InputLayerName;
|
var inputLayerName = input.InputLayerName;
|
||||||
|
|
||||||
var myDrive = roots.SingleOrDefault(r => r.Name == "USER_FILES");
|
var myDrive = roots.SingleOrDefault(r => r.Name == "My drive");
|
||||||
if (myDrive == null) {
|
if (myDrive == null) {
|
||||||
_logger.LogError("Could not find a needed root item");
|
_logger.LogError("Could not find a needed root item");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
var uploadedRoot = roots.SingleOrDefault(r => r.Name == "USER_IN");
|
var uploadedRoot = roots.SingleOrDefault(r => r.Name == "Uploaded");
|
||||||
if (uploadedRoot == null) {
|
if (uploadedRoot == null) {
|
||||||
_logger.LogError("Could not find a needed root item");
|
_logger.LogError("Could not find a needed root item");
|
||||||
return;
|
return;
|
||||||
|
@@ -66,7 +66,7 @@ namespace FarmmapsZonering
|
|||||||
|
|
||||||
private async Task ZoningAsync(List<UserRoot> roots, ZoneringInput input)
|
private async Task ZoningAsync(List<UserRoot> roots, ZoneringInput input)
|
||||||
{
|
{
|
||||||
var myDrive = roots.SingleOrDefault(r => r.Name == "USER_FILES");
|
var myDrive = roots.SingleOrDefault(r => r.Name == "My drive");
|
||||||
if (myDrive == null)
|
if (myDrive == null)
|
||||||
{
|
{
|
||||||
_logger.LogError("Could not find a needed root item");
|
_logger.LogError("Could not find a needed root item");
|
||||||
@@ -83,7 +83,7 @@ namespace FarmmapsZonering
|
|||||||
// Load settings from previous cropfield
|
// Load settings from previous cropfield
|
||||||
LoadSettings(settingsfile);
|
LoadSettings(settingsfile);
|
||||||
|
|
||||||
var uploadedRoot = roots.SingleOrDefault(r => r.Name == "USER_IN");
|
var uploadedRoot = roots.SingleOrDefault(r => r.Name == "Uploaded");
|
||||||
if (uploadedRoot == null)
|
if (uploadedRoot == null)
|
||||||
{
|
{
|
||||||
_logger.LogError("Could not find a needed root item");
|
_logger.LogError("Could not find a needed root item");
|
||||||
|
14
README.MD
14
README.MD
@@ -1,27 +1,15 @@
|
|||||||
##### NOT PRODUCTION READY CODE, JUST AN EXAMPLE
|
##### NOT PRODUCTION READY CODE, JUST AN EXAMPLE
|
||||||
|
|
||||||
Put your clientId and clientSecret or your Farmmaps-account data (username and password) in a newly created appsettings.secrets.json file inside the root of the Secrets project.
|
Put your clientId and clientSecret in a newly created appsettings.secrets.json file inside the root of the Secrets project.
|
||||||
|
|
||||||
**appsettings.secrets.json**
|
**appsettings.secrets.json**
|
||||||
```
|
```
|
||||||
{
|
{
|
||||||
//API credential sign-in
|
|
||||||
"ClientId": "<clientId>",
|
"ClientId": "<clientId>",
|
||||||
"ClientSecret": "<clientSecret>"
|
"ClientSecret": "<clientSecret>"
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
Or when using a Farmmaps account to sign-in
|
|
||||||
|
|
||||||
**appsettings.secrets.json**
|
|
||||||
```
|
|
||||||
{
|
|
||||||
//Sign-in using farmmaps account
|
|
||||||
"Username": "",
|
|
||||||
"Password": ""
|
|
||||||
}
|
|
||||||
```
|
|
||||||
|
|
||||||
* Isn't 100% complete.
|
* Isn't 100% complete.
|
||||||
* Needs proper testing of all public api methods.
|
* Needs proper testing of all public api methods.
|
||||||
* Needs documentation of all public api methods.
|
* Needs documentation of all public api methods.
|
Reference in New Issue
Block a user