Project

General

Profile

Working with the database » History » Version 4

Rafael Bailon-Ruiz, 2020-12-04 11:31

1 1 Rafael Bailon-Ruiz
h1. Working with the database
2
3
The feature database is CAMS managing the storage and access of vector data, pieces of information like sensor measurements that can be described in space with a geometric figure such as a points, lines or polygons. See http://wiki.gis.com/wiki/index.php/Vector_data_modelto read more about vector data models.
4
5 2 Rafael Bailon-Ruiz
The basic piece of information of this data model is the _feature_, defined by a _geometry_ that indicates unequivocally its position and shape in the world, and a set of _attributes_ which are the characteristics associated to that location. Related features sharing a common geometry definition and attribute set are usually grouped together.
6 1 Rafael Bailon-Ruiz
7 3 Rafael Bailon-Ruiz
{{toc}}
8 2 Rafael Bailon-Ruiz
9 1 Rafael Bailon-Ruiz
h2. Data model
10
11
The CAMS database model is takes inspiration from the _OGR data model_ and the _OGC OpenPackage specification_.
12
13
h3. Dataset
14
15
A dataset is encompasses a set of feature collections stored in the same database or file.
16
17
18
h3. Collection
19
20
A collection describes the characteristics of features of the same kind or category. I.e.: "Wind", "UAV state", "Liquid water content", etc. It corresponds roughly to a table in a relational database or a layer in many geographic information models.
21
22
A collection is defined by the following parameters:
23
# A computer id (name_id),
24
# A human-readable name,
25 2 Rafael Bailon-Ruiz
# An coordinate reference system as an "EPSG code":https://en.wikipedia.org/wiki/EPSG_Geodetic_Parameter_Dataset,
26 1 Rafael Bailon-Ruiz
# A geometry type (As of 12/2020 only the "point" geometry is supported),
27 3 Rafael Bailon-Ruiz
# A ordered set of attributes and corresponding types. Attributes can be of type _int_, _str_, _float_, or _datetime_.
28 1 Rafael Bailon-Ruiz
# And, optionally, a long description.
29
30
31
h3. Feature
32
33
!vector_feature.png!
34
35 3 Rafael Bailon-Ruiz
The collection field is used to identify the collection to with a particular field belongs; thus determining the geometry and attribute set. 
36 1 Rafael Bailon-Ruiz
37 3 Rafael Bailon-Ruiz
General attributes, *t* (time) and *producer* , are mandatory for features generated repeatedly by UAV sensors. The time attribute is represented by a date and time (datetime.datetime in python) in Coordinated Universal Time (UTC). The producer attribute is a string.
38 1 Rafael Bailon-Ruiz
39 3 Rafael Bailon-Ruiz
Specific attributes are unique to a particular collection. All features of the same collection must have the same attributes, but features of different collections do not need to share specific attributes unlike general ones. For instance, a _"wind"_ collection can have the _"east"_ and _"west"_ attributes to describe the wind vector components.
40 1 Rafael Bailon-Ruiz
41 4 Rafael Bailon-Ruiz
h2. Code architecture
42 1 Rafael Bailon-Ruiz
43 4 Rafael Bailon-Ruiz
h3. Class diagram
44
!db%20diagram.png!
45 1 Rafael Bailon-Ruiz
46 4 Rafael Bailon-Ruiz
h3. DataServer
47
48
h3. FeatureDatabase
49
50
h3. StorageBackends
51
52
h2. Code examples
53
54
h3. Initialization
55
56
h3. Inserting feature
57
58
h3. Querying the database
59 3 Rafael Bailon-Ruiz
60
61
h2. Post-mission analysis
62
63
64
65