//Note when you run the FarmmapsKPI project, somewhere to your C:\git\FarmMapsApiClient_KB34_MAST\FarmmapsKPI\bin\Debug\netcoreapp3.1\ directory, files named like this are written:
//'Settings_aardappelveld_test_Potato_ZeroFertilizer.json', where 'aardappelveld_test_Potato_ZeroFertilizer.json' is your fieldName (see below)
//1 useExistingCropfieldWithChildren = false -> create new
//2 useExistingCropfieldWithChildren = true && CropfieldItemCode = "" or absent -> read fieldName (see below) -> read all codes from settings json file
//3 useExistingCropfieldWithChildren = true && CropfieldItemCode like "deb48a74c5b54299bb852f17288010e9" in KPIinput -> if you have in your account already an existing cropfield then use that
"CropfieldItemCode":"",// could contain for example this: "abae97f89f3c4ac08953b1b8bea9f076" if this is an exisiting CropfieldItemCode in your account.
"CropRecordingItemCode":"",// could contain for example this: "314aa1b6480b493ba28a5f55039a01d4" if this is the CropRecordingItemCode of the provided CropfieldItemCode. And then if useExistingCropfieldWithChildren = true, this would be used
"OperationItemCodes":[],// could contain for example this: ["4d1a6f28ea3f414180663baa4b08c60f"] or ["4d1a6f28ea3f414180663baa4b08c60f","21e08386f0454ad79acfebf78649d59b"] if these are the operations of the provided CropRecordingItemCode. And then if useExistingCropfieldWithChildren = true, these would be used
"dataOperations":[],//leaving the operations empty means no fertilizer is applied
"CropfieldCharacteristicItemCode":"",
"DataCropfieldCharacteristic":{
//PO20231029: not different yields from different parts of fields?
"code":"860619",//PO20231004: so what does this code mean? Can we see the code list somewhere?
"label":"cropyield",
"value":"48.01"
},
//"DownloadFolder": "Downloads", //"C:\\hugoschrererdir\\kpidir\\", // "Downloads", -> if you just put "Downloads" the program will download to somewhere in ..\FarmMapsApiClient_KB34_MAST\FarmmapsKPI\bin\Debug\netcoreapp3.1\Downloads\
"CropYear":2022,
//geometryJson = polygon of location of the cropfield, coordinates in LON,LAT (LON: decimal degrees East, LAT: decimal degrees North)
//Note when you run the FarmmapsKPI project, somewhere to your C:\git\FarmMapsApiClient_KB34_MAST\FarmmapsKPI\bin\Debug\netcoreapp3.1\ directory, files named like this are written:
//'Settings_aardappelveld_test_Potato_ZeroFertilizer.json', where 'aardappelveld_test_Potato_ZeroFertilizer.json' is your fieldName (see below)
//1 useExistingCropfieldWithChildren = false -> create new
//2 useExistingCropfieldWithChildren = true && CropfieldItemCode = "" or absent -> read fieldName (see below) -> read all codes from settings json file
//3 useExistingCropfieldWithChildren = true && CropfieldItemCode like "deb48a74c5b54299bb852f17288010e9" in KPIinput -> if you have in your account already an existing cropfield then use that
"CropfieldItemCode":"",// could contain for example this: "abae97f89f3c4ac08953b1b8bea9f076" if this is an exisiting CropfieldItemCode in your account.
//And then if useExistingCropfieldWithChildren = true, this would be used.
"dataCropfield":{
//"area": 4.22, //Leave empty, KPI app will calculate it from geometry
"final":true,//always true
"soilCode":"7",//From codelist CL405. Can be omitted if unknown
"soilName":"Clay",//From codelist CL405
"cropTypeCode":"1010101",//From codelist CL263
"cropTypeName":"Potato",//From codelist CL263
"productionPurposeCode":"003",//From codelist CL251. For testing, see case with consumption & starch potato
"CropRecordingItemCode":"",// could contain for example this: "314aa1b6480b493ba28a5f55039a01d4" if this is the CropRecordingItemCode of the provided CropfieldItemCode. And then if useExistingCropfieldWithChildren = true, this would be used
"OperationItemCodes":[],// could contain for example this: ["4d1a6f28ea3f414180663baa4b08c60f"] or ["4d1a6f28ea3f414180663baa4b08c60f","21e08386f0454ad79acfebf78649d59b"] if these are the operations of the provided CropRecordingItemCode. And then if useExistingCropfieldWithChildren = true, these would be used
"dataOperations":[],//leaving the operations empty means no fertilizer is applied
"CropfieldCharacteristicItemCode":"",
"DataCropfieldCharacteristic":{
//PO20231029: not different yields from different parts of fields?
"code":"860619",//PO20231004: so what does this code mean? Can we see the code list somewhere?
"label":"cropyield",
"value":"48.01"
},
//"DownloadFolder": "Downloads", //"C:\\hugoschrererdir\\kpidir\\", // "Downloads", -> if you just put "Downloads" the program will download to somewhere in ..\FarmMapsApiClient_KB34_MAST\FarmmapsKPI\bin\Debug\netcoreapp3.1\Downloads\
"CropYear":2022,
//geometryJson = polygon of location of the cropfield, coordinates in LON,LAT (LON: decimal degrees East, LAT: decimal degrees North)
//Note when you run the FarmmapsKPI project, somewhere to your C:\git\FarmMapsApiClient_KB34_MAST\FarmmapsKPI\bin\Debug\netcoreapp3.1\ directory, files named like this are written:
//'Settings_aardappelveld_test_Potato_ZeroFertilizer.json', where 'aardappelveld_test_Potato_ZeroFertilizer.json' is your fieldName (see below)
//1 useExistingCropfieldWithChildren = false -> create new
//2 useExistingCropfieldWithChildren = true && CropfieldItemCode = "" or absent -> read fieldName (see below) -> read all codes from settings json file
//3 useExistingCropfieldWithChildren = true && CropfieldItemCode like "deb48a74c5b54299bb852f17288010e9" in KPIinput -> if you have in your account already an existing cropfield then use that
"CropfieldItemCode":"",// could contain for example this: "abae97f89f3c4ac08953b1b8bea9f076" if this is an exisiting CropfieldItemCode in your account.
//And then if useExistingCropfieldWithChildren = true, this would be used.
"dataCropfield":{
//"area": 4.22, //Leave empty, KPI app will calculate it from geometry
"final":true,//always true
"soilCode":"1",//From codelist CL405. Can be omitted if unknown
"soilName":"Sand",
"cropTypeCode":"1010101",//From codelist CL263
"cropTypeName":"Potato",//From codelist CL263
"productionPurposeCode":"003",//From codelist CL251. For testing, see case with consumption & starch potato
"CropRecordingItemCode":"",// could contain for example this: "314aa1b6480b493ba28a5f55039a01d4" if this is the CropRecordingItemCode of the provided CropfieldItemCode. And then if useExistingCropfieldWithChildren = true, this would be used
"OperationItemCodes":[],// could contain for example this: ["4d1a6f28ea3f414180663baa4b08c60f"] or ["4d1a6f28ea3f414180663baa4b08c60f","21e08386f0454ad79acfebf78649d59b"] if these are the operations of the provided CropRecordingItemCode. And then if useExistingCropfieldWithChildren = true, these would be used
"dataOperations":[],//leaving the operations empty means no fertilizer is applied
"code":"860619",//PO20231004: so what does this code mean? Can we see the code list somewhere?
"label":"cropyield",
"value":"48.01"
},
//"DownloadFolder": "Downloads", //"C:\\hugoschrererdir\\kpidir\\", // "Downloads", -> if you just put "Downloads" the program will download to somewhere in ..\FarmMapsApiClient_KB34_MAST\FarmmapsKPI\bin\Debug\netcoreapp3.1\Downloads\
"CropYear":2022,
//geometryJson = polygon of location of the cropfield, coordinates in LON,LAT (LON: decimal degrees East, LAT: decimal degrees North)
//"area": "0.08", //if leave empty then write code to fill in value from geometry (operation applied to whole field). Fill in different value if operation applied to part of the field (e.g. in case of variable rate application, VRA)
//"area": "0.08", //if leave empty then write code to fill in value from geometry (operation applied to whole field). Fill in different value if operation applied to part of the field (e.g. in case of variable rate application, VRA)
//"DownloadFolder": "Downloads", //"C:\\hugoschrererdir\\kpidir\\", // "Downloads", -> if you just put "Downloads" the program will download to somewhere in ..\FarmMapsApiClient_WURtest\FarmmapsDataDownload\bin\Debug\netcoreapp3.1\Downloads\
//"area": "0.08", //if leave empty then write code to fill in value from geometry (operation applied to whole field). Fill in different value if operation applied to part of the field (e.g. in case of variable rate application, VRA)
"code":"860619",//PO20231004: so what does this code mean? Can we see the code list somewhere?
"label":"cropyield",
"value":"48.01"
},
//"DownloadFolder": "Downloads", //"C:\\hugoschrererdir\\kpidir\\", // "Downloads", -> if you just put "Downloads" the program will download to somewhere in ..\FarmMapsApiClient_WURtest\FarmmapsDataDownload\bin\Debug\netcoreapp3.1\Downloads\
//"area": 4.22, //Leave empty, KPI app will calculate it from geometry
"final":true,//always true
//"soilCode": "5", //From codelist CL405. Can be omitted if unknown
//"soilName": "Loam", //From codelist CL405.
"cropTypeCode":"1010101",//From codelist CL263
"cropTypeName":"Potato",//From codelist CL263
//"rootDepthMax": 45, //not needed for KPI calculation, but shown here to know this is a possible property
//"emergenceDate": "2022-05-16T00:00:00", //not needed for KPI calculation, but shown here to know this is a possible property
"productionPurposeCode":"003",//From codelist CL251. Can be omitted if unknown
"productionPurposeName":"consumption"//From codelist CL251. Can be omitted if unknown
},
"CropRecordingItemCode":"",
"OperationItemCodes":[],
"dataOperations":[
{
//"area": "0.08", //if leave empty then write code to fill in value from geometry (operation applied to whole field). Fill in different value if operation applied to part of the field (e.g. in case of variable rate application, VRA)
"contractor":false,
"designator":"Kunstmest strooien",//refers to codelist CL127 with operation methods
"from":"2022-05-23T11:34:00",
"method":"70400",//refers to codelist CL127 with operation methods
"n":"92",
"name":"Kunstmest strooien",//refers to codelist CL127 with operation methods
"status":"3",// Which code list? What does it mean? Is it needed? In any case works if set to 3
"operationCode":"7",// Which code list? What does it mean? Is it needed? In any case works if set to 7
"product":"7360",//refers to codelist CL022 with fertilizer types
"quantity":"200",
"to":"2022-05-23T12:34:00",
"unit":"kg/ha",
"unitCode":"KGMHAR"
}
],
"CropfieldCharacteristicItemCode":"",
"DataCropfieldCharacteristic":{
"code":"860619",//PO20231004: so what does this code mean? Can we see the code list somewhere?
"label":"cropyield",
"value":"48.01"
},
//"DownloadFolder": "Downloads", //"C:\\hugoschrererdir\\kpidir\\", // "Downloads", -> if you just put "Downloads" the program will download to somewhere in ..\FarmMapsApiClient_WURtest\FarmmapsDataDownload\bin\Debug\netcoreapp3.1\Downloads\
//"area": "0.08", //if leave empty then write code to fill in value from geometry (operation applied to whole field). Fill in different value if operation applied to part of the field (e.g. in case of variable rate application, VRA)
"code":"860619",//PO20231004: so what does this code mean? Can we see the code list somewhere?
"label":"cropyield",
"value":"48.01"
},
//"DownloadFolder": "Downloads", //"C:\\hugoschrererdir\\kpidir\\", // "Downloads", -> if you just put "Downloads" the program will download to somewhere in ..\FarmMapsApiClient_WURtest\FarmmapsDataDownload\bin\Debug\netcoreapp3.1\Downloads\
"CropfieldItemCode":"",// could contain for example this: "abae97f89f3c4ac08953b1b8bea9f076" if this is an exisiting CropfieldItemCode in your account.
"dataCropfield":{
"final":true,//always true
"cropTypeCode":"1010101",//From codelist CL263
"cropTypeName":"Potato",//From codelist CL263
"productionPurposeCode":"003",//From codelist CL251. Can be omitted if unknown
"productionPurposeName":"consumption"//From codelist CL251. Can be omitted if unknown
},
"CropRecordingItemCode":"",// could contain for example this: "314aa1b6480b493ba28a5f55039a01d4" if this is the CropRecordingItemCode of the provided CropfieldItemCode. And then if useExistingCropfieldWithChildren = true, this would be used
"OperationItemCodes":[],// could contain for example this: ["4d1a6f28ea3f414180663baa4b08c60f"] or ["4d1a6f28ea3f414180663baa4b08c60f","21e08386f0454ad79acfebf78649d59b"] if these are the operations of the provided CropRecordingItemCode. And then if useExistingCropfieldWithChildren = true, these would be used
"dataOperations":[
{
"to":"2022-07-13T17:27:00",
"from":"2022-07-13T16:27:00",
"name":"Volveld spuiten (3/3)",//refers to codelist CL127 with operation methods
"method":"80200",//refers to codelist CL127 with operation methods
"status":"3",// Which code list? What does it mean? Is it needed? In any case works if set to 3
"operationCode":"8",// Which code list? What does it mean? Is it needed? In any case works if set to 8
"products":[
{
"product":"11767 N",//CTBG code, lookup via CTBG API. Important: with space N",
"quantity":"1.25",
"unitCode":"LTRHAR"
//"designator": "Amistar"
}
]
}
],
"CropfieldCharacteristicItemCode":"",
"DataCropfieldCharacteristic":{
"code":"860619",
"label":"cropyield",
"value":"48.01"
},
//"DownloadFolder": "Downloads", //"C:\\hugoschrererdir\\kpidir\\", // "Downloads", -> if you just put "Downloads" the program will download to somewhere in ..\FarmMapsApiClient_KB34_MAST\FarmmapsKPI\bin\Debug\netcoreapp3.1\Downloads\
"CropYear":2022,
//geometryJson = polygon of location of the cropfield, coordinates in LON,LAT (LON: decimal degrees East, LAT: decimal degrees North)
//"DownloadFolder": "Downloads", //"C:\\hugoschrererdir\\kpidir\\", // "Downloads", -> if you just put "Downloads" the program will download to somewhere in ..\FarmMapsApiClient_WURtest\FarmmapsDataDownload\bin\Debug\netcoreapp3.1\Downloads\
"CropYear":2022,
//"StartDate": "2022-04-15", //PO20231108: StartDate & EndDate important for legumes, where Nitrogen fixation depends on number of days from start to end. More days = more N fixation
//"EndDate": "2022-07-30", // if StartDate & EndDate left empty then whole year from cropYear
"geometryJson":{
"type":"Polygon",
"coordinates":[
[
[
5.5945257993548765,
52.57080744107003
],
[
5.598645994070678,
52.571540800206236
],
[
5.599381743127071,
52.57012773140724
],
[
5.595408698222548,
52.56968054825188
],
[
5.5945257993548765,
52.57080744107003
]
]
]
}
},
{
"useExistingCropfieldWithChildren":false,
"deleteNewlyCreatedAfterCalc":true,
"fieldName":"doperwt_groeiperiode",
"CropfieldItemCode":"",
"dataCropfield":{
"final":true,//always true
"cropTypeCode":"1030101",//From codelist CL263
"cropTypeName":"Garden pea"//From codelist CL263
},
"CropRecordingItemCode":"",
"OperationItemCodes":[],
"dataOperations":[],
"CropfieldCharacteristicItemCode":"",
"DataCropfieldCharacteristic":{
"code":"860619",//PO20231004: so what does this code mean? Can we see the code list somewhere?
//"DownloadFolder": "Downloads", //"C:\\hugoschrererdir\\kpidir\\", // "Downloads", -> if you just put "Downloads" the program will download to somewhere in ..\FarmMapsApiClient_WURtest\FarmmapsDataDownload\bin\Debug\netcoreapp3.1\Downloads\
"CropYear":2022,
"StartDate":"2022-04-15",//PO20231108: StartDate & EndDate important for legumes, where Nitrogen fixation depends on number of days from start to end. More days = more N fixation
"EndDate":"2022-07-30",// if StartDate & EndDate left empty then whole year from cropYear