24 | | == Web interface for loading geo-spatial data == |
25 | | * __Mentors__: abeccati |
26 | | * __Languages__: Java, possibly some C/C++ |
27 | | * __Overview__: |
28 | | |
29 | | rasdaman is a domain-independed array DBMS, but via it's [wiki:PetascopeUserGuide petascope] component it becomes a geo-spatial server with support for various OGC standards -- WCS, WCPS, WCS-T. Currently data can be loaded into rasdaman in two ways: |
30 | | 1. By using the rasql language, e.g. via the rasql client tool. This does not provide support for inserting geo-spatial information, which needs to be done manually with SQL scripts. |
31 | | 2. By using [source:applications/rasgeo/README rasimport], a client tool based on GDAL which can extract geo-information from the input files and automatically insert it into petascope, along with the data into rasdaman. |
32 | | |
33 | | WCS-T (an OGC standard for updating coverages) is on the agenda for implementation in petascope. A prerequisite for WCS-T implementation is enabling petascope (a Java servlet) to insert coverages itself. There are two possibilities for achieving this: |
34 | | 1. Use native system calls to the rasimport command-line tool, which would be very hackish and potentially dangerous. |
35 | | 2. Implement it directly in petascope by using the Java bindings for GDAL, and provide a generic interface that can be used by WCS-T implementation or further clients. |
36 | | |
37 | | Further work would then include |
38 | | * Implementing WCS-T |
39 | | * Implementing a web application (an admin page in petascope), that allows to easily load data by selecting files and filling in metadata details (in case it's missing from the files themselves and GDAL can't figure it out). |
40 | | |
41 | | |
42 | | __Ticket__: #312, related ticket #292 |
78 | | == R and Rasdaman Integration == |
79 | | * __Mentors__: pcampalani |
80 | | * __Languages__: Java |
81 | | * __Overview__: |
82 | | |
83 | | Establish prototype to demonstrate that R can exploit Rasdaman as a native raster data source. |
84 | | |
85 | | == Refactor and complete regression tests == |
86 | | * __Mentors__: abeccati, dmisev, jyu |
87 | | * __Languages__: Bash, possibly Python. Some C/C++ and Java for the unit tests. |
88 | | * __Overview__: |
89 | | |
90 | | A robust and extensive regression test suite is essential for building and maintaining stable software. Rasdaman has an [source:systemtest integration test framework] as well as various unit tests. Unfortunately they are rather incomplete and outdated, and should be improved in several aspects: |
91 | | * ''Usability'' - tests should be easy to run by both developers and users, with zero or minimal configuration required. Furthermore, test results should be easy to read and provide as much information as possible about the failing cases. |
92 | | * ''Portability'' - different platforms and systems must not affect the results of the tests. |
93 | | * ''Extensibility'' - adding new tests should be simple and straightforward, so that developers are not turned off from the idea of adding new tests. |
94 | | * ''Coverage'' - tests should cover as much functionality as possible. E.g. the tiling and indexes options are not tested at all. Many "unit" tests are legacy code and not regression tests. |
95 | | * ''Modularity'' - rasdaman is comprised of many different components: database server, web servers, clients (command-line, GUI, !JavaScript, ...), resolvers, etc. The test suite should therefore be modular and adaptive to the current environment setup. |
96 | | * ''Documentation'' - on how to run the tests and add new tests. |
97 | | |
98 | | Tickets: #363 |