FarmMapsLib/projects/common/src/fm/services/senml-service.ts

31 lines
1.0 KiB
TypeScript
Raw Normal View History

2020-06-29 13:44:23 +00:00
import { Injectable } from '@angular/core';
import { IJsonline } from '../models/json-line';
import { ISenMLItem } from '../models/senml-item';
2020-06-29 13:51:08 +00:00
import { IDataLayer } from '../models/data.layer';
2020-06-29 14:09:19 +00:00
import { IItem } from '../models/item';
2020-06-29 13:44:23 +00:00
@Injectable({
providedIn: 'root',
})
export class SenmlService {
constructor() {
}
2020-06-29 14:09:19 +00:00
getSenMLItem(layer:IDataLayer,jsonLine:IJsonline): ISenMLItem {
2020-06-29 13:44:23 +00:00
if (jsonLine) {
2023-03-06 13:04:14 +00:00
const senmlPack = jsonLine.data as ISenMLItem[];
const temp = senmlPack.filter((i) => i.u == layer.indexKey);
2020-06-29 13:44:23 +00:00
if (temp.length == 1) return temp[0];
return null;
}
2020-06-29 13:51:08 +00:00
}
2020-06-29 13:44:23 +00:00
2020-06-29 14:09:19 +00:00
getFirstLayer(item:IItem):IDataLayer {
if(item && item.data && item.data["layers"] && item.data["layers"].length > 0 ) {
return item.data["layers"][0] as IDataLayer;
} else {
2023-03-06 13:04:14 +00:00
const retVal:IDataLayer = { name:"Soil moisture",index:0,scale:1,unit:"%",indexKey:"%vol" };
2020-06-29 14:09:19 +00:00
return retVal;
}
}
2020-06-29 13:44:23 +00:00
}