Working with the database » History » Revision 4
Revision 3 (Rafael Bailon-Ruiz, 2020-12-04 10:50) → Revision 4/14 (Rafael Bailon-Ruiz, 2020-12-04 11:31)
h1. Working with the database 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. 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. {{toc}} h2. Data model The CAMS database model is takes inspiration from the _OGR data model_ and the _OGC OpenPackage specification_. h3. Dataset A dataset is encompasses a set of feature collections stored in the same database or file. h3. Collection 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. A collection is defined by the following parameters: # A computer id (name_id), # A human-readable name, # An coordinate reference system as an "EPSG code":https://en.wikipedia.org/wiki/EPSG_Geodetic_Parameter_Dataset, # A geometry type (As of 12/2020 only the "point" geometry is supported), # A ordered set of attributes and corresponding types. Attributes can be of type _int_, _str_, _float_, or _datetime_. # And, optionally, a long description. h3. Feature !vector_feature.png! The collection field is used to identify the collection to with a particular field belongs; thus determining the geometry and attribute set. 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. 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. h2. Code architecture Using the database within CAMS h3. Class diagram !db%20diagram.png! Architecture h3. DataServer h3. FeatureDatabase h3. StorageBackends h2. Code examples h3. Initialization h3. Inserting feature h3. Querying the database h2. Post-mission analysis