7. GEONODE DEVELOPMENT FOR QUALITY ASSESSMENT RESULTS
7.6 Selection of the best quality dataset
It has been previously said that the applications described in this chapter are aimed at providing support to users who want to choose geospatial datasets using quality as criterion. In case the hypothetic user needs a dataset with a certain content, the best option at this point is investigating the results of the data quality assessment for the available datasets that belong to the correspondent data category, a sub-topic in the GMES terminology. A comparison of the mentioned results amongst the available datasets is needed in order to determine the best quality one: potentially only part of the results can be considered, for instance the ones related to some quality indicators of greater interest.
Although this approach is simple and direct, it requires the user to open a data page for each layer and either perform a visual and mental comparison amongst the layers or copy the quality results on another support in order to simplify the process. An application with the task of performing this process was developed on top of the GeoNode: it allows the extraction of the best quality dataset from the server, when the user provides the name of the sub-topic of interest and a series of weights for the quality indicators, as it was described in section 4.4.2.
The entire application was developed in Python, on top of the Django component of GeoNode;
it is composed by two HTML templates and three methods in the views of the MCV pattern. It is available to be launched by the user from the main toolbar, either by clicking the link placed on the tab Quality or by typing the following URL after having replaced the word sitename with the actual name of the website:
http://sitename/quality/subtopics
In details the Django application intercepts the URL because it is defined in the variable urlpatterns and executes the method listSubtopic: the core of the method is a query over the database on the table Subtopic in order to get the list of sub-topics available on the server, filtered by checking for each one if at least one layer on the server is assigned to it. An HttpResponse is then returned by generating a web page from the template subtopic.html.
102
Consequently the user is going to see a Web page with a list of the subtopic retrieved by the query; next to each element of the list is a radio button. The user can select the subtopic of interest by clicking on the correspondent radio button and then submit the choice by clicking the appropriate button placed at the end of the page. A screenshot of the mentioned Web page is contained in Figure 7.4.
As a consequence this action is translated into a URL that contains a GET request with the identification code of the selected sub-topic. The application intercepts this new URL and executes the method called ask4weights. This method substantially performs a check on the nature, either Core or Thematic (see section 3.1.1), of the selected sub-topic, in relation to which it generates a web page respectively with 12 or 8 text boxes, referencing the Quality Indicators, on the basis of the template called ask4weights.html.
In this new page, an example of which is reported in refxyz, the user is asked to fill in the text boxes next to the Quality Indicators that he considers interesting for the dataset choice, with a weight value included in the range 1 to 10. By clicking on the button placed at the bottom of the page, the user can submit the weights for the Quality Indicators; the submission is translated into a URL that contains a GET request with all the numeric values.
Figure 7.4 Screenshot of the Web page that is showed to the user when the “Quality” application is launched. The user can select here the sub-topic of interest and submit his choice back to the server
Once again the application intercepts this last URL and executes the method calculateBest, that is the core of the application. In details a query is performed over the database in order to get all the available datasets belonging to the subtopic of interest of the user. The system then calculates, in loop over the selected datasets, the total quality score in the way described in section 4.4; the GeoNode data page of the layer correspondent to the highest quality score is then returned to the
103 user, who can either use it in the GeoNode itself or download it for using it in another application.
Resuming, with the application described above, a hypothetic user can extract the dataset with best quality by submitting his needs in terms of numeric weights of the Quality Indicators and a category in terms of data content. The efforts required on user side is selecting a subtopic by mean of a radio button on a web page and filling the text boxes with the weights for the indicators of interest in the web page displayed afterwards.
This application is clearly related to the one of section 7.5 because at the end of the process the data page is shown, that contains the results of the data quality assessment. Moreover the Django views access the same database table.
Figure 7.5 Screenshot from an example GeoNode page that allows the user to insert his needs as weights for each Quality Indicator. The weights submission results in the calculation of the best quality data in the chosen data
category and the re-direction to the respective data page
104