-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathModel
331 lines (276 loc) · 6.92 KB
/
Model
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
// Creating tables
Table Users as U {
id int [pk, increment] // auto-increment
username varchar
password varchar
last_login timestampt
first_name varchar
last_name varchar
email varchar
is_active boolean
institution_id int
updatedAt timestamp
createdAt timestamp
}
Table Role_to_User {
user_id int
role_id int
updatedAt timestamp
createdAt timestamp
}
Table Nodes as N {
id int [pk, increment] // auto-increment
//ID humano que Pedro usa para identificar 2_14_0_683
nomenclatura varchar
con_socio int
fid int
location point
cat_itegr varchar // Es una integridad para modulo
cumulus_id int
ecosystem_id int
updatedAt timestamp
createdAt timestamp
}
Table Institutions as I {
id int [pk, increment] // auto-increment
name varchar
address varchar
phone_number int
updatedAt timestamp
createdAt timestamp
}
Table Ecosystems as E {
id int [pk, increment] // auto-increment
name varchar [not null, unique]
updatedAt timestamp
createdAt timestamp
}
Table Cumulus as C {
id int [pk, increment] // auto-increment
name varchar
geometry polygon
ecosystem_id int
con_socio int
criteria_id id
updatedAt timestamp
createdAt timestamp
}
Table Cumulus_criteria as CC {
id int [pk, increment] // auto-increment
name varchar
updatedAt timestamp
createdAt timestamp
}
Table Visits as V {
id int [pk, increment] // auto-increment
user_id int
calendar_id int
comments varchar
date_sipecam_first_season Date
date_sipecam_second_season Date
date_first_season Date
date_second_season Date
report_first_season varchar
report_second_season varchar
cumulus_id int
pristine_id int
disturbed_id int
monitor_ids [int]
updatedAt timestamp
createdAt timestamp
}
// Posibles Roles
// Socio
// Admin
//
Table Roles as R {
id int [pk, increment] // auto-increment
name varchar
description varchar
updatedAt timestamp
createdAt timestamp
}
Table Physical_Devices as D {
id int [pk, increment] // auto-increment
serial_number varchar
comments varchar
device_id int
cumulus_id int
updatedAt timestamp
createdAt timestamp
}
Table Devices_Catalog as DC {
id int [pk, increment] // auto-
brand varchar
type varchar
}
Table Calendar as Cal {
id int [pk, increment] // auto-increment
date_started date
date_finished date
sipecam_year varchar
order int
updatedAt timestamp
createdAt timestamp
}
Table Deployments as Dep {
id int [pk, increment] // auto-increment
date_deployment date
latitude float8
longitude float8
altitude float8
comments varchar
metadata json
kobo_url varchar
device_id int
node_id int
cumulus_id int
updatedAt timestamp
createdAt timestamp
}
Table Files {
id int
mime_type varchar // mime type
url varchar //s3 o glacier url
id_alfresco varchar
storage varchar //s3 or glacier
deployment_id int
updatedAt timestamp
createdAt timestamp
}
Table Annotations_Geom_Obs_Type{
id int
classified_by varchar //megaD, Rekog, yuntu
classification_method varchar // human o machine
observation_type varchar //vehicle, animal, human, empty, no clasified
confidence float8 //resultado de modelo
pipeline_id int //relación con tabla Pipeline_Info
file_id int
geometry GeometryCollection
video_frame_num int // para ubicar dentro del video la anotación
frequency_min float8
frequency_max float8
time_min float8
time_max float8
updatedAt timestamp
createdAt timestamp
}
// Relaciones Uno a Muchos
Ref: "Files"."id" < "Annotations_Geom_Obs_Type"."file_id"
Table Pipeline_Info{
id int
version varchar //model version name
commit_dvc_of_data_ref varchar //id commit in dvc for data referen
url_repo_model varchar //descripción del modelo usado y código
createdAt timestamp
updatedAt timestamp
comments varchar //clasification description: better for humans, animals, empty ?
}
// Relaciones Muchos a uno
Ref: "Annotations_Geom_Obs_Type"."pipeline_id" > "Pipeline_Info"."id"
Table Products{
id int [pk, increment]
file_id int
type varchar //video, audio, image, spectrogram, image_without_bboxes_from_video
url varchar //Unique, ruta en s3
pipeline_id int
observation_type varchar //animal, empty, person
producer varchar //CONABIO
project varchar //SiPeCaM
metadata json // bboxes list of every animal in image, simex_metadata
createdAt timestamp
updatedAt timestamp
comments varchar //methodology, how to cite, clasification description: better for humans, animals, empty ?
}
// Relaciones Uno a Muchos
Ref: "Files"."id" < "Products"."file_id"
// Relaciones Muchos a uno
Ref: "Products"."pipeline_id" > "Pipeline_Info"."id"
Table Individual as Ind {
id int [pk, increment] // auto-increment
date_trap date
latitude float8
longitude float8
altitude float8
comments varchar
metadata json //morfometría de roedor
kobo_url varchar
clave_posicion_malla varchar
arete int
node_id int
cumulus_id int
updatedAt timestamp
createdAt timestamp
}
Table PartnersCumulus as Pacu {
id int [pk, increment] // auto-increment
user_id int
cumulus_id int
updatedAt timestamp
createdAt timestamp
}
// Establecer Relaciones
// Un cumuluo muchos monitores
Table Monitors as Mon {
id int [pk, increment] // auto-increment
deployments_id int
cumulus_id int
first_name varchar
last_name varchar
second_last_name varchar
contact varchar
visit_ids [int]
updatedAt timestamp
createdAt timestamp
}
Table Transecto{
id int [pk, increment]
number int //número del Transecto
sum_vegetation_structure float8
sum_indicator_species float8
sum_impact float8
date_transecto timestamp
latitude float8 //of node
longitude float8 //of node
percentage float8
node_id int
}
Table delivered_files {
id int [pk,increment]
who_delivers varchar
reception_date date
total_files int
audio_files int
image_files int
node_id int
}
// Relaciones uno a uno
Ref: V.(calendar_id) - Cal.(id)
// Relaciones Muchos a Uno
Ref: N.(cumulus_id) > C.(id)
Ref: D.(device_id) > DC.id
Ref: N.(ecosystem_id) > E.(id)
Ref: C.(criteria_id) > CC.(id)
// Relaciones Uno a Muchos
Ref: Pacu.(user_id) < U.(id)
Ref: Pacu.(cumulus_id) < C.(id)
Ref: V.(user_id) < U.(id)
Ref: I.(id) < U.(institution_id)
Ref: C.(id) < Mon.(cumulus_id)
Ref: C.(id) < V.(cumulus_id)
Ref: C.(id) < D.(cumulus_id)
Ref: "Physical_Devices"."id" < "Deployments"."device_id"
Ref: "Role_to_User"."user_id" < "Users"."id"
Ref: "Role_to_User"."role_id" < "Roles"."id"
Ref: "Nodes"."id" < "Visits"."pristine_id"
Ref: "Nodes"."id" < "Visits"."disturbed_id"
Ref: "Ecosystems"."id" < "Cumulus"."ecosystem_id"
Ref: "Files"."deployment_id" < "Deployments"."id"
Ref: "Cumulus"."id" < "Deployments"."cumulus_id"
Ref: "Nodes"."id" < "Deployments"."node_id"
Ref: "Nodes"."id" < "Ind"."node_id"
Ref: "Cumulus"."id" < "Ind"."cumulus_id"
Ref: "Transecto"."node_id" < "Nodes"."id"
Ref: "Visits"."monitor_ids" < "Monitors"."id"
Ref: "Monitors"."visit_ids" < "Visits"."id"
Ref: "Nodes"."id" < "delivered_files"."node_id"