Project

General

Profile

Working with the database » History » Revision 6

Revision 5 (Rafael Bailon-Ruiz, 2020-12-04 11:41) → Revision 6/14 (Rafael Bailon-Ruiz, 2020-12-04 11:41)

!db%20diagram.png! 
 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 

 h3. Class diagram 
 !db%20diagram.png! 

 h3. DataServer 

 h3. FeatureDatabase 

 h3. StorageBackends 

 h2. Code examples 

 h3. Initialization 

 h3. Inserting feature 

 h3. Querying the database 


 h2. Post-mission analysis