56 lines
2.3 KiB
JavaScript
56 lines
2.3 KiB
JavaScript
// Application-Detail: AppId, zoneName, latitude, longitude, spray(on/off), targetRate, AppRate, temperature, humidity, gpsdatetime
|
|
const mongoose = require('mongoose'),
|
|
Schema = mongoose.Schema;
|
|
|
|
const schema = new Schema({
|
|
appId: { type: Schema.Types.ObjectId, ref: 'Application', required: false }, // TODO: to be removed later
|
|
fileId: { type: Schema.Types.ObjectId, ref: 'AppFile', required: true },
|
|
|
|
// Data from 3rd-byte-header 08/05 records
|
|
gpsTime: { type: Number, default: 0.0 },
|
|
lat: { type: Number, required: true },
|
|
lon: { type: Number, required: true },
|
|
tslu: { type: Number, default: 0 },
|
|
llnum: { type: Number, default: 0 },
|
|
xTrack: { type: Number, default: 0 },
|
|
grSpeed: { type: Number, default: 0 },
|
|
alt: { type: Number, default: 0 },
|
|
timeAdv: { type: Number, default: 0 },
|
|
utmX: { type: Number, default: 0 },
|
|
utmY: { type: Number, default: 0 },
|
|
swath: { type: Number, default: 0 },
|
|
noAC: { type: Number, default: 0 },
|
|
sprayStat: { type: Number, alias: 'spray', default: 0 },
|
|
head: { type: Number, default: 0 },
|
|
stdHdop: { type: Number, default: 0 },
|
|
satsIn: { type: Number, default: 0 },
|
|
lminApp: { type: Number, default: 0 },
|
|
lminReq: { type: Number, default: 0 },
|
|
lhaReq: { type: Number, default: 0 },
|
|
sens: { type: Number, default: 0 }, // Flow sensor or Flow controller type. i.e.: 107 is AgFlow
|
|
calcodeFreq: { type: Number, default: 0 },
|
|
// fmId: { type: Number, default: 0 },
|
|
sprayHeight: { type: Number, default: 0 },
|
|
windSpd: { type: Number, default: 0 },
|
|
windDir: { type: Number, default: 0 },
|
|
temp: { type: Number, default: 0 },
|
|
humid: { type: Number, default: 0 },
|
|
driftX: { type: Number, default: 0 },
|
|
driftY: { type: Number, default: 0 },
|
|
depositX: { type: Number, default: 0 },
|
|
depositY: { type: Number, default: 0 },
|
|
|
|
// Data from RPM 3rd-byte-header 06 records
|
|
applicRate: { type: Number, default: 0 },
|
|
rpm: { type: [Number] }, // For RPM values from granular FC
|
|
psi: { type: Number, default: 0 }, // Booms pressure (psi) when using a pressure sensor
|
|
gpsAlt: { type: Number, default: 0 },
|
|
radarAlt: { type: Number, default: 0 },
|
|
raserAlt: { type: Number, default: 0 },
|
|
weight: { type: Number, default: 0 }, // Kg
|
|
|
|
createdDate: { type: Date, default: Date.now }
|
|
});
|
|
|
|
module.exports = mongoose.model('Application_Detail', schema);
|