sarapy 0.1.2__tar.gz → 0.1.4__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {sarapy-0.1.2 → sarapy-0.1.4}/PKG-INFO +9 -5
- sarapy-0.1.4/README.md +19 -0
- {sarapy-0.1.2 → sarapy-0.1.4}/pyproject.toml +1 -1
- sarapy-0.1.4/sarapy/dataProcessing/TLMSensorDataExtractor.py +663 -0
- sarapy-0.1.4/sarapy/dataProcessing/__init__.py +1 -0
- {sarapy-0.1.2 → sarapy-0.1.4}/sarapy/version.py +1 -1
- {sarapy-0.1.2 → sarapy-0.1.4}/sarapy.egg-info/PKG-INFO +9 -5
- {sarapy-0.1.2 → sarapy-0.1.4}/sarapy.egg-info/SOURCES.txt +3 -1
- sarapy-0.1.2/README.md +0 -15
- {sarapy-0.1.2 → sarapy-0.1.4}/sarapy/__init__.py +0 -0
- {sarapy-0.1.2 → sarapy-0.1.4}/sarapy.egg-info/dependency_links.txt +0 -0
- {sarapy-0.1.2 → sarapy-0.1.4}/sarapy.egg-info/requires.txt +0 -0
- {sarapy-0.1.2 → sarapy-0.1.4}/sarapy.egg-info/top_level.txt +0 -0
- {sarapy-0.1.2 → sarapy-0.1.4}/setup.cfg +0 -0
- {sarapy-0.1.2 → sarapy-0.1.4}/setup.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: sarapy
|
|
3
|
-
Version: 0.1.
|
|
3
|
+
Version: 0.1.4
|
|
4
4
|
Summary: Library for Sarapico Metadata processing
|
|
5
5
|
Home-page: https://github.com/lucasbaldezzari/sarapy
|
|
6
6
|
Author: Lucas Baldezzari
|
|
@@ -24,13 +24,17 @@ Requires-Dist: geopy
|
|
|
24
24
|
|
|
25
25
|
Library for processing SARAPICO project metadata of _AMG_.
|
|
26
26
|
|
|
27
|
-
#### Version 0.1.
|
|
27
|
+
#### Version 0.1.4
|
|
28
28
|
|
|
29
|
-
Setting
|
|
29
|
+
Setting an **init**.py file for TLMSensorDataExtractor module.
|
|
30
30
|
|
|
31
|
-
#### Version 0.1.
|
|
31
|
+
#### Version 0.1.3
|
|
32
32
|
|
|
33
|
-
|
|
33
|
+
Setting version.py file.
|
|
34
|
+
|
|
35
|
+
#### Version 0.1.1 and Version 0.1.0
|
|
36
|
+
|
|
37
|
+
Just for testing.
|
|
34
38
|
|
|
35
39
|
### Docs
|
|
36
40
|
|
sarapy-0.1.4/README.md
ADDED
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
# SARAPY
|
|
2
|
+
|
|
3
|
+
Library for processing SARAPICO project metadata of _AMG_.
|
|
4
|
+
|
|
5
|
+
#### Version 0.1.4
|
|
6
|
+
|
|
7
|
+
Setting an **init**.py file for TLMSensorDataExtractor module.
|
|
8
|
+
|
|
9
|
+
#### Version 0.1.3
|
|
10
|
+
|
|
11
|
+
Setting version.py file.
|
|
12
|
+
|
|
13
|
+
#### Version 0.1.1 and Version 0.1.0
|
|
14
|
+
|
|
15
|
+
Just for testing.
|
|
16
|
+
|
|
17
|
+
### Docs
|
|
18
|
+
|
|
19
|
+
Documentation [here](https://github.com/lucasbaldezzari/sarapy/blob/main/docs/docs.md).
|
|
@@ -0,0 +1,663 @@
|
|
|
1
|
+
"""
|
|
2
|
+
La clase MetadataManager se encarga de gestionar los metadatos obtenidos de la base de datos. Estos metadatos se corresponden con los datos registrados en los sarapicos.
|
|
3
|
+
|
|
4
|
+
- Versión de metadatos utilizada: Revision 9
|
|
5
|
+
- Apuntes de identificiación: https://docs.google.com/document/d/1E-TvkMWqeL9d57FOeRH7Zk_Fr5SdmknnmuQ7n7uwUVg/edit#heading=h.3dy6vkm
|
|
6
|
+
- Apuntes de
|
|
7
|
+
- Apuntes de Desarrollo:
|
|
8
|
+
|
|
9
|
+
- Autor: BALDEZZARI Lucas
|
|
10
|
+
"""
|
|
11
|
+
|
|
12
|
+
##importamos numpy
|
|
13
|
+
import numpy as np
|
|
14
|
+
# from geopy.distance import geodesic
|
|
15
|
+
|
|
16
|
+
from sklearn.base import BaseEstimator, TransformerMixin
|
|
17
|
+
|
|
18
|
+
class TLMSensorDataExtractor(BaseEstimator, TransformerMixin):
|
|
19
|
+
"""
|
|
20
|
+
Clase que se encarga de procesar los metadatos obtenidos de la base de datos histórica.
|
|
21
|
+
|
|
22
|
+
- Versión de metadatos utilizada: Revision 9
|
|
23
|
+
- Link documento metadato: https://trello.com/c/M6DWjpwr/70-definici%C3%B3n-metadatos-a-relevar
|
|
24
|
+
- Los metadatos de DATA_TLM en la Revisión 9 vienen en un string de 0 y 1. Estos valores indican, lo siguiente:
|
|
25
|
+
|RF(1bit)|GNSS(1bit)|RFID(1bit)|FLASH(1bit)|RTCS(1bit)|MODE(1bit)|NBAT(2bits)|TIMEAC(8bits)|ESTAC(1bit)|DSTR PT(4bits)|INEST PT(1bit)|OFFS PT(2bits)|X(1bit)|DSTR FT(4bits)|INEST FT(1bit)|OFFS FT(2bits)|X(1bit)|GYRO_X(3bits)|GYRO_Y(3bits)|GYRO_Z(2bits)|ACEL_X(2bits)|ACEL_Y(2bits)|ACEL_Z(2bits)|EST MO(1bit)|EST OR(1bit)|SBAT(2bits)|VBAT(3bits)|CBAT(2bits)|EST BMS(1bit)
|
|
26
|
+
|
|
27
|
+
Los valores X indican bit sin uso.
|
|
28
|
+
|
|
29
|
+
- Versión 1.0.0.RevA
|
|
30
|
+
- Autor: BALDEZZARI Lucas
|
|
31
|
+
"""
|
|
32
|
+
|
|
33
|
+
__metadataVersion = "Revision 9" #Versión de metadatos utilizada
|
|
34
|
+
|
|
35
|
+
def __init__(self, *args, **kwargs):
|
|
36
|
+
"""
|
|
37
|
+
Constructor de la clase MetadataManager.
|
|
38
|
+
|
|
39
|
+
:param metadata: Diccionario con los metadatos obtenidos de la base de datos.
|
|
40
|
+
:type metadata: strg
|
|
41
|
+
"""
|
|
42
|
+
|
|
43
|
+
### Creamos constantes que sirven para buscar los datos en el string de telemetría
|
|
44
|
+
### Cada constante es una tupla con la posición del bit menos significativo y la posición del bit más significativo
|
|
45
|
+
self.__RFflag_pos = (0,0) #RF(1bit)
|
|
46
|
+
self.__GNSSflag_pos = (1,1) #GNSS(1bit)
|
|
47
|
+
self.__RFIDflag_pos = (2,2) #RFID(1bit)
|
|
48
|
+
self.__FLASHflag_pos = (3,3) #FLASH(1bit)
|
|
49
|
+
self.__RTCSflag_pos = (4,4) #RTCS(1bit)
|
|
50
|
+
self.__MODEflag_pos = (5,5) #MODE(1bit)
|
|
51
|
+
self.__NBAT_pos = (6,7) #NBAT(2bits)
|
|
52
|
+
self.__TIMEAC_pos = (8,14) #TIMEAC(8bits)
|
|
53
|
+
self.__ESTACflag_pos = (15,15) #ESTAC(1bit)
|
|
54
|
+
self.__DSTRPT_pos = (16,19) #DSTR PT(4bits)
|
|
55
|
+
self.__INESTPTflag_pos = (20,20) #INEST PT(1bit) Inestabilidad de plantín
|
|
56
|
+
self.__OFFSPT_pos = (21,22) #OFFS PT(2bits)
|
|
57
|
+
self.__DSTRFT_pos = (24,27) #DSTR FT(4bits)
|
|
58
|
+
self.__INESTFTflag_pos = (28,28) #INEST FT(1bit)
|
|
59
|
+
self.__OFFSFT_pos = (29,30) #OFFS FT(2bits)
|
|
60
|
+
self.__PMSTFlag = (31,31) #PMST(1bit)
|
|
61
|
+
self.__GYROX_pos = (32,34) #GYRO_X(3bits)
|
|
62
|
+
self.__GYROY_pos = (35,37) #GYRO_Y(3bits)
|
|
63
|
+
self.__GYROZf_pos = (38,39) #GYRO_Z(2bits)
|
|
64
|
+
self.__ACELX_pos = (40,41) #ACEL_X(2bits)
|
|
65
|
+
self.__ACELY_pos = (42,43) #ACEL_Y(2bits)
|
|
66
|
+
self.__ACELZ_pos = (44,45) #ACEL_Z(2bits)
|
|
67
|
+
self.__ESTMOflag_pos = (46,46) #EST MO(1bit)
|
|
68
|
+
self.__ESTORflag_pos = (47,47) #EST OR(1bit)
|
|
69
|
+
self.__SBAT_pos = (48,49) #SBAT(2bits) salud de la batería
|
|
70
|
+
self.__VBAT_pos = (50,52) #VBAT(3bits) voltaje de la batería
|
|
71
|
+
self.__CBAT_pos = (53,54) #CBAT(2bits) consumo de la batería
|
|
72
|
+
self.__ESTBMSflag_pos = (55,55) #EST BMS(1bit)
|
|
73
|
+
|
|
74
|
+
# self.kilometers = kwargs.pop('kilometers', 0)
|
|
75
|
+
self.is_fitted = False
|
|
76
|
+
|
|
77
|
+
def fit(self, X, y=None):
|
|
78
|
+
"""
|
|
79
|
+
Método para generar datos a partir de la metadata.
|
|
80
|
+
|
|
81
|
+
X es un array de strings. Cada string es un dato de la metadata.
|
|
82
|
+
|
|
83
|
+
Extraigo información de cada fila de X. Genero numpys array de cada dato extraido de la metadata.
|
|
84
|
+
|
|
85
|
+
Parametros
|
|
86
|
+
----------
|
|
87
|
+
X: Array de strings.
|
|
88
|
+
y: None
|
|
89
|
+
No se utiliza.
|
|
90
|
+
"""
|
|
91
|
+
|
|
92
|
+
##chequeamos si todos los strings de X tienen la misma longitud, sino arrojamos un assert
|
|
93
|
+
assert all(len(x) == len(X[0]) for x in X), "Todos los strings de X deben tener la misma longitud"
|
|
94
|
+
|
|
95
|
+
self.RFFlag = np.vectorize(self.getRFFlag)(X)
|
|
96
|
+
self.GNSSFlag = np.vectorize(self.getGNSSFlag)(X)
|
|
97
|
+
self.RFIDFlag = np.vectorize(self.getRFIDFlag)(X)
|
|
98
|
+
self.FLASHFlag = np.vectorize(self.getFLASHFlag)(X)
|
|
99
|
+
self.RTCSFlag = np.vectorize(self.getRTCSFlag)(X)
|
|
100
|
+
self.MODEFlag = np.vectorize(self.getMODEFlag)(X)
|
|
101
|
+
self.NBAT = np.vectorize(self.getNBAT)(X)
|
|
102
|
+
self.TIMEAC = np.vectorize(self.getTIMEAC)(X)
|
|
103
|
+
self.ESTAC = np.vectorize(self.getESTAC)(X)
|
|
104
|
+
self.DSTRPT = np.vectorize(self.getDSTRPT)(X)
|
|
105
|
+
self.INESTPT = np.vectorize(self.getINESTPTFlag)(X)
|
|
106
|
+
self.OFFSPT = np.vectorize(self.getOFFSPT)(X)
|
|
107
|
+
self.DSTRFT = np.vectorize(self.getDSTRFT)(X)
|
|
108
|
+
self.INESTFT = np.vectorize(self.getINESTFTFlag)(X)
|
|
109
|
+
self.OFFSFT = np.vectorize(self.getOFFSFT)(X)
|
|
110
|
+
self.PMSTFlag = np.vectorize(self.getPMSTFlag)(X)
|
|
111
|
+
self.GYROX = np.vectorize(self.getGYROX)(X)
|
|
112
|
+
self.GYROY = np.vectorize(self.getGYROY)(X)
|
|
113
|
+
self.GYROZ = np.vectorize(self.getGYROZ)(X)
|
|
114
|
+
self.ACELX = np.vectorize(self.getACELX)(X)
|
|
115
|
+
self.ACELY = np.vectorize(self.getACELY)(X)
|
|
116
|
+
self.ACELZ = np.vectorize(self.getACELZ)(X)
|
|
117
|
+
self.ESTMOFlag = np.vectorize(self.getESTMOFlag)(X)
|
|
118
|
+
self.ESTORFlag = np.vectorize(self.getESTORFlag)(X)
|
|
119
|
+
self.SBAT = np.vectorize(self.getSBAT)(X)
|
|
120
|
+
self.VBAT = np.vectorize(self.getVBAT)(X)
|
|
121
|
+
self.CBAT = np.vectorize(self.getCBAT)(X)
|
|
122
|
+
self.ESTBMSFlag = np.vectorize(self.getESTBMSFlag)(X)
|
|
123
|
+
|
|
124
|
+
self.is_fitted = True
|
|
125
|
+
|
|
126
|
+
|
|
127
|
+
def transform(self, X, y=None):
|
|
128
|
+
"""Genera un array de numpy con los datos extraidos de la metadata.
|
|
129
|
+
|
|
130
|
+
Forma una matriz de numpy.
|
|
131
|
+
|
|
132
|
+
Parametros
|
|
133
|
+
----------
|
|
134
|
+
X: X es un array de strings. Cada string es un dato de la metadata.
|
|
135
|
+
y: None
|
|
136
|
+
No se utiliza."""
|
|
137
|
+
|
|
138
|
+
##chequeamos si se ha llamado a fit(). Sino, se arroja un error
|
|
139
|
+
if not self.is_fitted:
|
|
140
|
+
raise ValueError("MetadataManager no ha sido fitteado. Llame a fit() previamente.")
|
|
141
|
+
|
|
142
|
+
return np.array([ self.RFFlag,
|
|
143
|
+
self.GNSSFlag,
|
|
144
|
+
self.RFIDFlag,
|
|
145
|
+
self.FLASHFlag,
|
|
146
|
+
self.RTCSFlag,
|
|
147
|
+
self.MODEFlag,
|
|
148
|
+
self.NBAT,
|
|
149
|
+
self.TIMEAC,
|
|
150
|
+
self.ESTAC,
|
|
151
|
+
self.DSTRPT,
|
|
152
|
+
self.INESTPT,
|
|
153
|
+
self.OFFSPT,
|
|
154
|
+
self.DSTRFT,
|
|
155
|
+
self.INESTFT,
|
|
156
|
+
self.OFFSFT,
|
|
157
|
+
self.PMSTFlag,
|
|
158
|
+
self.GYROX,
|
|
159
|
+
self.GYROY,
|
|
160
|
+
self.GYROZ,
|
|
161
|
+
self.ACELX,
|
|
162
|
+
self.ACELY,
|
|
163
|
+
self.ACELZ,
|
|
164
|
+
self.ESTMOFlag,
|
|
165
|
+
self.ESTORFlag,
|
|
166
|
+
self.SBAT,
|
|
167
|
+
self.VBAT,
|
|
168
|
+
self.CBAT,
|
|
169
|
+
self.ESTBMSFlag]).T
|
|
170
|
+
|
|
171
|
+
def fit_transform(self, X, y=None):
|
|
172
|
+
"""Combinamos fit() y transform() en un solo método.
|
|
173
|
+
|
|
174
|
+
Parametros
|
|
175
|
+
----------
|
|
176
|
+
X: X es un array de strings. Cada string es un dato de la metadata.
|
|
177
|
+
y: None
|
|
178
|
+
No se utiliza.
|
|
179
|
+
|
|
180
|
+
Return
|
|
181
|
+
------
|
|
182
|
+
numpy array:
|
|
183
|
+
Array de numpy con los datos extraidos de la metadata.
|
|
184
|
+
"""
|
|
185
|
+
self.fit(X)
|
|
186
|
+
return self.transform(X)
|
|
187
|
+
|
|
188
|
+
def getRFFlag(self, metadata):
|
|
189
|
+
"""
|
|
190
|
+
Devuelve el valor del flag RF.
|
|
191
|
+
|
|
192
|
+
Parametros
|
|
193
|
+
----------
|
|
194
|
+
metadata: str
|
|
195
|
+
String con los metadatos obtenidos de la base de datos.
|
|
196
|
+
Return
|
|
197
|
+
------
|
|
198
|
+
int
|
|
199
|
+
Valor del flag RF.
|
|
200
|
+
"""
|
|
201
|
+
|
|
202
|
+
return np.uint8(int(metadata[self.__RFflag_pos[0]:self.__RFflag_pos[1]+1],2))
|
|
203
|
+
|
|
204
|
+
def getGNSSFlag(self, metadata):
|
|
205
|
+
"""
|
|
206
|
+
Devuelve el valor del flag RF.
|
|
207
|
+
|
|
208
|
+
Parametros
|
|
209
|
+
----------
|
|
210
|
+
metadata: str
|
|
211
|
+
String con los metadatos obtenidos de la base de datos.
|
|
212
|
+
Return
|
|
213
|
+
------
|
|
214
|
+
int
|
|
215
|
+
Valor del flag GNSS.
|
|
216
|
+
"""
|
|
217
|
+
|
|
218
|
+
return np.uint8(int(metadata[self.__GNSSflag_pos[0]:self.__GNSSflag_pos[1]+1],2))
|
|
219
|
+
|
|
220
|
+
def getRFIDFlag(self, metadata):
|
|
221
|
+
"""
|
|
222
|
+
Devuelve el valor del flag RFID.
|
|
223
|
+
|
|
224
|
+
Parametros
|
|
225
|
+
----------
|
|
226
|
+
metadata: str
|
|
227
|
+
String con los metadatos obtenidos de la base de datos.
|
|
228
|
+
Return
|
|
229
|
+
------
|
|
230
|
+
int
|
|
231
|
+
Valor del flag RFID.
|
|
232
|
+
"""
|
|
233
|
+
|
|
234
|
+
return np.uint8(int(metadata[self.__RFIDflag_pos[0]:self.__RFIDflag_pos[1]+1],2))
|
|
235
|
+
|
|
236
|
+
def getFLASHFlag(self, metadata):
|
|
237
|
+
"""
|
|
238
|
+
Devuelve el valor del flag FLASH.
|
|
239
|
+
|
|
240
|
+
Parametros
|
|
241
|
+
----------
|
|
242
|
+
metadata: str
|
|
243
|
+
String con los metadatos obtenidos de la base de datos.
|
|
244
|
+
Return
|
|
245
|
+
------
|
|
246
|
+
int
|
|
247
|
+
Valor del flag FLASH.
|
|
248
|
+
"""
|
|
249
|
+
|
|
250
|
+
return np.uint8(int(metadata[self.__FLASHflag_pos[0]:self.__FLASHflag_pos[1]+1],2))
|
|
251
|
+
|
|
252
|
+
def getRTCSFlag(self, metadata):
|
|
253
|
+
"""
|
|
254
|
+
Devuelve el valor del flag RTCS.
|
|
255
|
+
|
|
256
|
+
Parametros
|
|
257
|
+
----------
|
|
258
|
+
metadata: str
|
|
259
|
+
String con los metadatos obtenidos de la base de datos.
|
|
260
|
+
Return
|
|
261
|
+
------
|
|
262
|
+
int
|
|
263
|
+
Valor del flag RTCS.
|
|
264
|
+
"""
|
|
265
|
+
|
|
266
|
+
return np.uint8(int(metadata[self.__RTCSflag_pos[0]:self.__RTCSflag_pos[1]+1],2))
|
|
267
|
+
|
|
268
|
+
def getMODEFlag(self, metadata):
|
|
269
|
+
"""
|
|
270
|
+
Devuelve el valor del flag MODE.
|
|
271
|
+
|
|
272
|
+
Parametros
|
|
273
|
+
----------
|
|
274
|
+
metadata: str
|
|
275
|
+
String con los metadatos obtenidos de la base de datos.
|
|
276
|
+
Return
|
|
277
|
+
------
|
|
278
|
+
|
|
279
|
+
int
|
|
280
|
+
Valor del flag MODE.
|
|
281
|
+
"""
|
|
282
|
+
|
|
283
|
+
return np.uint8(int(metadata[self.__MODEflag_pos[0]:self.__MODEflag_pos[1]+1],2))
|
|
284
|
+
|
|
285
|
+
def getNBAT(self, metadata):
|
|
286
|
+
"""
|
|
287
|
+
Devuelve el valor del flag NBAT.
|
|
288
|
+
|
|
289
|
+
Parametros
|
|
290
|
+
----------
|
|
291
|
+
metadata: str
|
|
292
|
+
String con los metadatos obtenidos de la base de datos.
|
|
293
|
+
Return
|
|
294
|
+
------
|
|
295
|
+
int
|
|
296
|
+
Valor del flag NBAT.
|
|
297
|
+
"""
|
|
298
|
+
|
|
299
|
+
return np.uint8(int(metadata[self.__NBAT_pos[0]:self.__NBAT_pos[1]+1],2))
|
|
300
|
+
|
|
301
|
+
def getTIMEAC(self, metadata):
|
|
302
|
+
"""
|
|
303
|
+
Devuelve el tiempo de accionamiento en segundos
|
|
304
|
+
|
|
305
|
+
Parametros
|
|
306
|
+
----------
|
|
307
|
+
metadata: str
|
|
308
|
+
String con los metadatos obtenidos de la base de datos.
|
|
309
|
+
Return
|
|
310
|
+
------
|
|
311
|
+
float
|
|
312
|
+
Tiempo de accionamiento en segundos.
|
|
313
|
+
"""
|
|
314
|
+
|
|
315
|
+
return np.float16(int(metadata[self.__TIMEAC_pos[0]:self.__TIMEAC_pos[1]+1],2)*0.1)
|
|
316
|
+
|
|
317
|
+
def getESTAC(self, metadata):
|
|
318
|
+
"""
|
|
319
|
+
Devuelve el valor del flag de ANOMALÍA OPERATIVA
|
|
320
|
+
|
|
321
|
+
Parametros
|
|
322
|
+
----------
|
|
323
|
+
metadata: str
|
|
324
|
+
String con los metadatos obtenidos de la base de datos.
|
|
325
|
+
Return
|
|
326
|
+
------
|
|
327
|
+
int
|
|
328
|
+
Valor del flag de ANOMALÍA OPERATIVA.
|
|
329
|
+
"""
|
|
330
|
+
|
|
331
|
+
return np.uint8(int(metadata[self.__ESTACflag_pos[0]:self.__ESTACflag_pos[1]+1],2))
|
|
332
|
+
|
|
333
|
+
def getDSTRPT(self, metadata):
|
|
334
|
+
"""
|
|
335
|
+
Devuelve el nivel de distorsión para plantín
|
|
336
|
+
|
|
337
|
+
Parametros
|
|
338
|
+
----------
|
|
339
|
+
metadata: str
|
|
340
|
+
String con los metadatos obtenidos de la base de datos.
|
|
341
|
+
Return
|
|
342
|
+
------
|
|
343
|
+
int:
|
|
344
|
+
Valor de distorsión para plantín.
|
|
345
|
+
"""
|
|
346
|
+
|
|
347
|
+
return np.uint8(int(metadata[self.__DSTRPT_pos[0]:self.__DSTRPT_pos[1]+1],2))
|
|
348
|
+
|
|
349
|
+
def getINESTPTFlag(self,metadata):
|
|
350
|
+
"""
|
|
351
|
+
Devuelve el valor del flag de INESTABILIDAD PARA PLANTÍN
|
|
352
|
+
|
|
353
|
+
Parametros
|
|
354
|
+
----------
|
|
355
|
+
metadata: str
|
|
356
|
+
String con los metadatos obtenidos de la base de datos.
|
|
357
|
+
Return
|
|
358
|
+
------
|
|
359
|
+
int:
|
|
360
|
+
Valor del flag de INESTABILIDAD PARA PLANTÍN.
|
|
361
|
+
"""
|
|
362
|
+
|
|
363
|
+
return np.uint8(int(metadata[self.__INESTPTflag_pos[0]:self.__INESTPTflag_pos[1]+1],2))
|
|
364
|
+
|
|
365
|
+
def getOFFSPT(self,metadata):
|
|
366
|
+
"""
|
|
367
|
+
Devuelve el valor del flag de OFFSET PARA PLANTÍN
|
|
368
|
+
|
|
369
|
+
Parametros
|
|
370
|
+
----------
|
|
371
|
+
metadata: str
|
|
372
|
+
String con los metadatos obtenidos de la base de datos.
|
|
373
|
+
Return
|
|
374
|
+
------
|
|
375
|
+
int:
|
|
376
|
+
Valor del flag de OFFSET PARA PLANTÍN.
|
|
377
|
+
"""
|
|
378
|
+
|
|
379
|
+
return np.uint8(int(metadata[self.__OFFSPT_pos[0]:self.__OFFSPT_pos[1]+1],2))
|
|
380
|
+
|
|
381
|
+
def getDSTRFT(self,metadata):
|
|
382
|
+
"""
|
|
383
|
+
Devuelve el nivel de distorsión para fertilizante
|
|
384
|
+
|
|
385
|
+
Parametros
|
|
386
|
+
----------
|
|
387
|
+
metadata: str
|
|
388
|
+
String con los metadatos obtenidos de la base de datos.
|
|
389
|
+
Return
|
|
390
|
+
------
|
|
391
|
+
int:
|
|
392
|
+
Valor de distorsión para fertilizante.
|
|
393
|
+
"""
|
|
394
|
+
|
|
395
|
+
return np.uint8(int(metadata[self.__DSTRFT_pos[0]:self.__DSTRFT_pos[1]+1],2))
|
|
396
|
+
|
|
397
|
+
def getINESTFTFlag(self,metadata):
|
|
398
|
+
"""
|
|
399
|
+
Devuelve el valor del flag de INESTABILIDAD PARA FERTILIZANTE
|
|
400
|
+
|
|
401
|
+
Parametros
|
|
402
|
+
----------
|
|
403
|
+
metadata: str
|
|
404
|
+
String con los metadatos obtenidos de la base de datos.
|
|
405
|
+
Return
|
|
406
|
+
------
|
|
407
|
+
int:
|
|
408
|
+
Valor del flag de INESTABILIDAD PARA FERTILIZANTE.
|
|
409
|
+
"""
|
|
410
|
+
|
|
411
|
+
return np.uint8(int(metadata[self.__INESTFTflag_pos[0]:self.__INESTFTflag_pos[1]+1],2))
|
|
412
|
+
|
|
413
|
+
def getOFFSFT(self,metadata):
|
|
414
|
+
"""
|
|
415
|
+
Devuelve el valor del flag de OFFSET PARA FERTILIZANTE
|
|
416
|
+
|
|
417
|
+
Parametros
|
|
418
|
+
----------
|
|
419
|
+
metadata: str
|
|
420
|
+
String con los metadatos obtenidos de la base de datos.
|
|
421
|
+
Return
|
|
422
|
+
------
|
|
423
|
+
int:
|
|
424
|
+
Valor del flag de OFFSET PARA FERTILIZANTE.
|
|
425
|
+
"""
|
|
426
|
+
|
|
427
|
+
return np.uint8(int(metadata[self.__OFFSFT_pos[0]:self.__OFFSFT_pos[1]+1],2))
|
|
428
|
+
|
|
429
|
+
def getPMSTFlag(self,metadata):
|
|
430
|
+
"""
|
|
431
|
+
Devuelve el valor del flag perdida de muestreo.
|
|
432
|
+
|
|
433
|
+
Parametros
|
|
434
|
+
----------
|
|
435
|
+
metadata: str
|
|
436
|
+
String con los metadatos obtenidos de la base de datos.
|
|
437
|
+
Return
|
|
438
|
+
------
|
|
439
|
+
int:
|
|
440
|
+
Valor de flag perdida de muestreo.
|
|
441
|
+
"""
|
|
442
|
+
|
|
443
|
+
return np.uint8(int(metadata[self.__PMSTFlag[0]:self.__PMSTFlag[1]+1],2))
|
|
444
|
+
|
|
445
|
+
def getGYROX(self,metadata):
|
|
446
|
+
"""
|
|
447
|
+
Devuelve el valor del giroscopio en X.
|
|
448
|
+
|
|
449
|
+
Parametros
|
|
450
|
+
----------
|
|
451
|
+
metadata: str
|
|
452
|
+
String con los metadatos obtenidos de la base de datos.
|
|
453
|
+
Return
|
|
454
|
+
------
|
|
455
|
+
int:
|
|
456
|
+
Valor del giroscopio en X.
|
|
457
|
+
"""
|
|
458
|
+
|
|
459
|
+
return np.uint8(int(metadata[self.__GYROX_pos[0]:self.__GYROX_pos[1]+1],2))
|
|
460
|
+
|
|
461
|
+
def getGYROY(self,metadata):
|
|
462
|
+
"""
|
|
463
|
+
Devuelve el valor del giroscopio en Y.
|
|
464
|
+
|
|
465
|
+
Parametros
|
|
466
|
+
----------
|
|
467
|
+
metadata: str
|
|
468
|
+
String con los metadatos obtenidos de la base de datos.
|
|
469
|
+
Return
|
|
470
|
+
------
|
|
471
|
+
int:
|
|
472
|
+
Valor del giroscopio en Y.
|
|
473
|
+
"""
|
|
474
|
+
|
|
475
|
+
return np.uint8(int(metadata[self.__GYROY_pos[0]:self.__GYROY_pos[1]+1],2))
|
|
476
|
+
|
|
477
|
+
def getGYROZ(self,metadata):
|
|
478
|
+
"""
|
|
479
|
+
Devuelve el valor del giroscopio en Z.
|
|
480
|
+
|
|
481
|
+
Parametros
|
|
482
|
+
----------
|
|
483
|
+
metadata: str
|
|
484
|
+
String con los metadatos obtenidos de la base de datos.
|
|
485
|
+
Return
|
|
486
|
+
------
|
|
487
|
+
int:
|
|
488
|
+
Valor del giroscopio en Z.
|
|
489
|
+
"""
|
|
490
|
+
|
|
491
|
+
return np.uint8(int(metadata[self.__GYROZf_pos[0]:self.__GYROZf_pos[1]+1],2))
|
|
492
|
+
|
|
493
|
+
def getACELX(self,metadata):
|
|
494
|
+
"""
|
|
495
|
+
Devuelve el valor del acelerómetro en X.
|
|
496
|
+
|
|
497
|
+
Parametros
|
|
498
|
+
----------
|
|
499
|
+
metadata: str
|
|
500
|
+
String con los metadatos obtenidos de la base de datos.
|
|
501
|
+
Return
|
|
502
|
+
------
|
|
503
|
+
int:
|
|
504
|
+
Valor del acelerómetro en X.
|
|
505
|
+
"""
|
|
506
|
+
|
|
507
|
+
return np.uint8(int(metadata[self.__ACELX_pos[0]:self.__ACELX_pos[1]+1],2))
|
|
508
|
+
|
|
509
|
+
def getACELY(self,metadata):
|
|
510
|
+
"""
|
|
511
|
+
Devuelve el valor del acelerómetro en Y.
|
|
512
|
+
|
|
513
|
+
Parametros
|
|
514
|
+
----------
|
|
515
|
+
metadata: str
|
|
516
|
+
String con los metadatos obtenidos de la base de datos.
|
|
517
|
+
Return
|
|
518
|
+
------
|
|
519
|
+
int:
|
|
520
|
+
Valor del acelerómetro en Y.
|
|
521
|
+
"""
|
|
522
|
+
|
|
523
|
+
return np.uint8(int(metadata[self.__ACELY_pos[0]:self.__ACELY_pos[1]+1],2))
|
|
524
|
+
|
|
525
|
+
def getACELZ(self,metadata):
|
|
526
|
+
"""
|
|
527
|
+
Devuelve el valor del acelerómetro en Z.
|
|
528
|
+
|
|
529
|
+
Parametros
|
|
530
|
+
----------
|
|
531
|
+
metadata: str
|
|
532
|
+
String con los metadatos obtenidos de la base de datos.
|
|
533
|
+
Return
|
|
534
|
+
------
|
|
535
|
+
int:
|
|
536
|
+
Valor del acelerómetro en Z.
|
|
537
|
+
"""
|
|
538
|
+
|
|
539
|
+
return np.uint8(int(metadata[self.__ACELZ_pos[0]:self.__ACELZ_pos[1]+1],2))
|
|
540
|
+
|
|
541
|
+
def getESTMOFlag(self, metadata):
|
|
542
|
+
"""
|
|
543
|
+
Devuelve el valor del flag de ESTMO
|
|
544
|
+
|
|
545
|
+
Parametros
|
|
546
|
+
----------
|
|
547
|
+
metadata: str
|
|
548
|
+
String con los metadatos obtenidos de la base de datos.
|
|
549
|
+
Return
|
|
550
|
+
------
|
|
551
|
+
int:
|
|
552
|
+
Valor del flag de ESTMO
|
|
553
|
+
"""
|
|
554
|
+
|
|
555
|
+
return np.uint8(int(metadata[self.__ESTMOflag_pos[0]:self.__ESTMOflag_pos[1]+1],2))
|
|
556
|
+
|
|
557
|
+
def getESTORFlag(self, metadata):
|
|
558
|
+
"""
|
|
559
|
+
Devuelve el valor del flag de ESTOR
|
|
560
|
+
|
|
561
|
+
Parametros
|
|
562
|
+
----------
|
|
563
|
+
metadata: str
|
|
564
|
+
String con los metadatos obtenidos de la base de datos.
|
|
565
|
+
Return
|
|
566
|
+
------
|
|
567
|
+
int:
|
|
568
|
+
Valor del flag de ESTOR
|
|
569
|
+
"""
|
|
570
|
+
|
|
571
|
+
return np.uint8(int(metadata[self.__ESTORflag_pos[0]:self.__ESTORflag_pos[1]+1],2))
|
|
572
|
+
|
|
573
|
+
def getSBAT(self, metadata):
|
|
574
|
+
"""
|
|
575
|
+
Devuelve el valor del estado de salud de la batería
|
|
576
|
+
|
|
577
|
+
Parametros
|
|
578
|
+
----------
|
|
579
|
+
metadata: str
|
|
580
|
+
String con los metadatos obtenidos de la base de datos.
|
|
581
|
+
Return
|
|
582
|
+
------
|
|
583
|
+
int:
|
|
584
|
+
Valor del flag de SBAT
|
|
585
|
+
"""
|
|
586
|
+
|
|
587
|
+
return np.uint8(int(metadata[self.__SBAT_pos[0]:self.__SBAT_pos[1]+1],2))
|
|
588
|
+
|
|
589
|
+
def getVBAT(self, metadata):
|
|
590
|
+
"""
|
|
591
|
+
Devuelve el valor del voltaje de la batería
|
|
592
|
+
|
|
593
|
+
Parametros
|
|
594
|
+
----------
|
|
595
|
+
metadata: str
|
|
596
|
+
String con los metadatos obtenidos de la base de datos.
|
|
597
|
+
Return
|
|
598
|
+
------
|
|
599
|
+
|
|
600
|
+
int:
|
|
601
|
+
Valor del flag de VBAT
|
|
602
|
+
"""
|
|
603
|
+
|
|
604
|
+
return np.uint8(int(metadata[self.__VBAT_pos[0]:self.__VBAT_pos[1]+1],2))
|
|
605
|
+
|
|
606
|
+
def getCBAT(self, metadata):
|
|
607
|
+
"""
|
|
608
|
+
Devuelve el valor del consumo de la batería
|
|
609
|
+
|
|
610
|
+
Parametros
|
|
611
|
+
----------
|
|
612
|
+
metadata: str
|
|
613
|
+
String con los metadatos obtenidos de la base de datos.
|
|
614
|
+
Return
|
|
615
|
+
------
|
|
616
|
+
|
|
617
|
+
int:
|
|
618
|
+
Valor del flag de CBAT
|
|
619
|
+
"""
|
|
620
|
+
|
|
621
|
+
return np.uint8(int(metadata[self.__CBAT_pos[0]:self.__CBAT_pos[1]+1],2))
|
|
622
|
+
|
|
623
|
+
def getESTBMSFlag(self, metadata):
|
|
624
|
+
"""
|
|
625
|
+
Devuelve el valor del flag de ESTBMS
|
|
626
|
+
|
|
627
|
+
Parametros
|
|
628
|
+
----------
|
|
629
|
+
metadata: str
|
|
630
|
+
String con los metadatos obtenidos de la base de datos.
|
|
631
|
+
Return
|
|
632
|
+
------
|
|
633
|
+
|
|
634
|
+
int:
|
|
635
|
+
Valor del flag de ESTBMS
|
|
636
|
+
"""
|
|
637
|
+
|
|
638
|
+
return np.uint8(int(metadata[self.__ESTBMSflag_pos[0]:self.__ESTBMSflag_pos[1]+1],2))
|
|
639
|
+
|
|
640
|
+
|
|
641
|
+
@classmethod
|
|
642
|
+
def getMetadataRevisionNumber(cls):
|
|
643
|
+
"""
|
|
644
|
+
Devuelve la versión de los metadatos utilizada.
|
|
645
|
+
|
|
646
|
+
Return
|
|
647
|
+
------
|
|
648
|
+
str:
|
|
649
|
+
Versión de los metadatos utilizada.
|
|
650
|
+
"""
|
|
651
|
+
return cls.__metadataVersion
|
|
652
|
+
|
|
653
|
+
if __name__ == "__main__":
|
|
654
|
+
tlmsde = TLMSensorDataExtractor()
|
|
655
|
+
print(tlmsde.getMetadataRevisionNumber())
|
|
656
|
+
|
|
657
|
+
sample = np.array(["1010001000010000110000001011000000000000000000001111011010001001",
|
|
658
|
+
"1010001000010000110000001011000000000000000000001111011010001001"])
|
|
659
|
+
|
|
660
|
+
tlmsde.getTIMEAC(sample[0])
|
|
661
|
+
|
|
662
|
+
# tlmsde.fit(sample)
|
|
663
|
+
print(tlmsde.fit_transform(sample))
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
from .TLMSensorDataExtractor import TLMSensorDataExtractor
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
## Version of the package
|
|
2
|
-
__version__ = "0.1.
|
|
2
|
+
__version__ = "0.1.4"
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: sarapy
|
|
3
|
-
Version: 0.1.
|
|
3
|
+
Version: 0.1.4
|
|
4
4
|
Summary: Library for Sarapico Metadata processing
|
|
5
5
|
Home-page: https://github.com/lucasbaldezzari/sarapy
|
|
6
6
|
Author: Lucas Baldezzari
|
|
@@ -24,13 +24,17 @@ Requires-Dist: geopy
|
|
|
24
24
|
|
|
25
25
|
Library for processing SARAPICO project metadata of _AMG_.
|
|
26
26
|
|
|
27
|
-
#### Version 0.1.
|
|
27
|
+
#### Version 0.1.4
|
|
28
28
|
|
|
29
|
-
Setting
|
|
29
|
+
Setting an **init**.py file for TLMSensorDataExtractor module.
|
|
30
30
|
|
|
31
|
-
#### Version 0.1.
|
|
31
|
+
#### Version 0.1.3
|
|
32
32
|
|
|
33
|
-
|
|
33
|
+
Setting version.py file.
|
|
34
|
+
|
|
35
|
+
#### Version 0.1.1 and Version 0.1.0
|
|
36
|
+
|
|
37
|
+
Just for testing.
|
|
34
38
|
|
|
35
39
|
### Docs
|
|
36
40
|
|
|
@@ -7,4 +7,6 @@ sarapy.egg-info/PKG-INFO
|
|
|
7
7
|
sarapy.egg-info/SOURCES.txt
|
|
8
8
|
sarapy.egg-info/dependency_links.txt
|
|
9
9
|
sarapy.egg-info/requires.txt
|
|
10
|
-
sarapy.egg-info/top_level.txt
|
|
10
|
+
sarapy.egg-info/top_level.txt
|
|
11
|
+
sarapy/dataProcessing/TLMSensorDataExtractor.py
|
|
12
|
+
sarapy/dataProcessing/__init__.py
|
sarapy-0.1.2/README.md
DELETED
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
# SARAPY
|
|
2
|
-
|
|
3
|
-
Library for processing SARAPICO project metadata of _AMG_.
|
|
4
|
-
|
|
5
|
-
#### Version 0.1.1
|
|
6
|
-
|
|
7
|
-
Setting new tests
|
|
8
|
-
|
|
9
|
-
#### Version 0.1.0
|
|
10
|
-
|
|
11
|
-
Just for testing
|
|
12
|
-
|
|
13
|
-
### Docs
|
|
14
|
-
|
|
15
|
-
Documentation [here](https://github.com/lucasbaldezzari/sarapy/blob/main/docs/docs.md).
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|