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 |