The general framework of the GTN-P DMS is based on open source technologies following an object-oriented data model implemented with CakePHP and the database PostGIS, the spatial version of PostgreSQL. Below, a visualisation of the software design architecture as well as the different methods and modules is shown.
Index
The function of the index is to account, sort and search for objects of the database through chosen attributes. Further development will expose the search result into a map.
Object | Plugin | Parameters | Fields |
Boreholes |
DataTables (Plugin for the jQuery JavaScript Library) |
- Responsiveness - Order by Name and Data [Yes/No] |
Name, Site, Country, GTN-P Code, Data [Yes/No] |
Active Layer Monitoring Sites |
- Responsiveness - Order by Name and Data [Yes/No] |
Name, Site, Country, CALM Code, Data [Yes/No] | |
Countries |
- Responsiveness - Order by Name and Data [Yes/No] |
Name, Code, Permafrost, Created, Modified | |
Sites |
- Responsiveness - Order by Name and Data [Yes/No] |
Name, Observation, Country | |
Contacts |
- Responsiveness - Order by Name and Data [Yes/No] |
Name, Email, Organization, Country | |
Citations |
- Responsiveness - Order by Name and Data [Yes/No] |
Title, Version, Language | |
Organizations |
- Responsiveness - Order by Name and Data [Yes/No] |
Name, Acronym, Website | |
Datasets |
- Responsiveness - Order by variable, frequency and datatype |
Data, Variable, Frequency, Data Type, Method, Resolution, Start, End, Policy |
Mapping
This method enables the display of all the objects on a map next to the indexes.
Method | Objects | Plugins | Parameters |
Index | Boreholes | GoogleMaps API |
Geometry: points Marker: GoogleMaps default. Colour: red. Zoom: 1 |
Active Layer Monitoring Sites | Geometry: points
Marker: GoogleMaps default. Colour: green. Zoom: 1 |
||
Sites | Geometry: polygon (BBox).
Transparency: 50%. Stroke Width: 1 pt. Colour: red. Zoom: 2 |
||
Create/Edit | Boreholes |
Geometry: point Marker: GoogleMaps default. Colour: red. Zoom: 10 Method: - Drag the marker on the map -> retrieve longitude, latitude, and elevation. - Enter longitude, latitude -> retrieve position of the marker on the map by pressing the button "Update coordinates" - Overwrite elevation given by GoogleMaps. Edit of the borehole: will not change the inserted elevation value. |
|
Active Layer Monitoring Sites |
Geometry: point Marker: GoogleMaps default. Colour: green. Zoom: 10 Method: - Drag the marker on the map -> retrieve longitude, latitude, and elevation. - Enter longitude, latitude -> retrieve position of the marker on the map by pressing the button "Update coordinates" - Overwrite elevation given by GoogleMaps. Edit of the CALM site: will not change the inserted elevation value. |
||
Sites |
Not active until an object has been inserted within the site. |
||
View | Boreholes |
Geometry: point Marker: GoogleMaps default. Colour: red. Zoom: 10 |
|
Active Layer Monitoring Sites |
Geometry: point Marker: GoogleMaps default. Colour: green. Zoom: 10 |
||
Sites |
Geometry: - red polygon of the site; transparency: 50%; stroke: 1 pt. - red points of the boreholes - green points of the CALM sites - yellow points of the ancillary measurements. Marker: GoogleMaps default. Zoom: 6 |
||
Global Map | GoogleMap Gadget |
Create
Enables the creation of new objects into the database.
Template | Parameters |
Borehole |
- Name must be unique - Requirement: site, citation and responsible contact must be entered before creating a borehole |
Active Layer Monitoring Site |
- Name must be unique - Requirement: site, citation and responsible contact must be entered before creating an active layer monitoring site |
Site |
- Name must be unique - Requirement: Country must be existing in database - One site cannot belong to many countries |
Contact | |
Organization | |
Citation |
Requirement: contact and organization must be entered before creating a citation |
Dataset |
AJAX dependent menu between the attributes variables, units, and methods |
Data Collection | Requirement: dataset must be created before inserting data collection(s) |
Edit
Enables editing of objects in the database.
Template | Parameters | Fields |
Borehole | ||
Active Layer Monitoring Site | ||
Site | ||
Contact | ||
Organization | ||
Citation | ||
Dataset | ||
Data Collection |
Delete
Enables deleting objects in the database.
Template | Parameters | Fields |
Borehole | Prevention of deleting borehole if it contains dataset | |
Active Layer Monitoring Site | Prevention of deleting active layer monitoring site if it contains dataset | |
Site | Prevention of deleting site if it contains borehole, active layer monitoring site or ancillary measurement | |
Contact | ||
Organization | ||
Citation | ||
Dataset | ||
Data Collection |
Data Visualisation
On-the-fly creation of charts to visualize datasets.
Template | Variable | Frequency | Plugins | Parameters | |
Boreholes Annual Data | Soil Temperature | Annual |
jqPlot (jQuery JavaScript Library) |
Legend: One colour by year; X axis=temperature; Y axis=depth. Depth values are multiplied by -1 to reverse the graph. |
|
Boreholes Different from Annual | Air Temperature | Other than annual | jqPlot (jQuery JavaScript Library) |
Legend: One colour by depth. X axis=time; Y axis=temperature. |
|
Surface Temperature | |||||
Soil Temperature | |||||
Snow Depth | |||||
Snow Density | |||||
Soil Moisture | |||||
Surface Soil Moisture (satellite) | |||||
Surface Temperature | |||||
Surface Temperature (Satellite) | |||||
Active Layer Grids | Thawing Depth over a Grid | Irrevelant |
CanvasXpress type: Scatter 3D (HTML 5 JavaScript Graphing Library) |
Legend: Colour range according to active layer thawing depth [cm]. X=offset(x) from referential point. Y=offset(y) from referential point. Z=active layer thawing[cm]. | |
Soil Moisture over a Grid |
CSV reader
The CSV reader parses the CSV file input by the user in order to retrieve its structure and its content.
Template | Parameters |
Active Layer Thickness |
- Retrieve min./max./average values, date of first/last measurement, data count, null value count, percentage of null values - Input those values into the database |
Active Layer Soil Moisture |
- Retrieve min./max./average values, date of first/last measurement, data count, null value count, percentage of null values - Input those values into the database |
Boreholes Soil Temperature |
- Retrieve min./max./average values, date of first/last measurement, data count, null value count, percentage of null values - Input those values into the database |
Surface Soil Moisture (Satellite) |
- Retrieve min./max./average values, date of first/last measurement, data count, null value count, percentage of null values - Input those values into the database |
Surface Temperature (Satellite) |
- Retrieve min./max./average values, date of first/last measurement, data count, null value count, percentage of null values - Input those values into the database |
CSV uploader
The CSV uploader input the values from the uploaded CSV file into the database as a data collection.
Template | Parameters |
Active Layer Thickness | |
Active Layer Soil Moisture | |
Boreholes Soil Temperature | |
Surface Soil Moisture (Satellite) | |
Surface Temperature (Satellite) |
CSV downloader
The CSV downloader processes all the data collections from a dataset into one downloadable CSV file.
Template | Information compilation | Parameters | Algorithm |
Active Layer Thickness |
Compiles attributes related to the object and input them as comment lines (##) into the header of the CSV file. Attributes: ##Name ##Publication date ## ##Variable Name ##Unit ##Datatype ##Frequency ##Method ##Medium ##Resolution ##Policy ##Quality Check ## ##Longitude ##Latitude ##Start Date ##End Date ## ##Data count ##Null values ##Minimum value ##Maximum value ##Average value ##Warning ## ##Responsible person ##Name ##Address ##Telephone ##Fax ##Organization |
||
Active Layer Soil Moisture | |||
Boreholes Soil Temperature | gathering all depths that exist over all collections and puts them into a single array and fills the gaps with null values (-999) | ||
Surface Soil Moisture (Satellite) | Information on responsible person are systematically obtained from DUE Permafrost Citation | ||
Surface Temperature (Satellite) |
System Privileges
Template | Plugins | Parameters | Fields |
ISSN 2410-2385
Key title: GTN-P database