wiki:Clients

Version 48 (modified by Bang Pham Huu, 6 years ago) ( diff )

Clients

It is important for data users to get convenient access to rasdaman functionality, for manifold reasons: users want to stay in their well-known environments (such as QGIS, ESRI, or R); users have additional functionality in their tools which they want to apply on data retrieved from rasdaman; users do not want to learn yet another data language. To this end, a large and increasing number of tools can access rasdaman today, thereby enabling these with flexible, scalable server-side processing of n-D "Big Array Data". They largely fall into two categories, rasdaman-provided and "external" third-party tools. Below they are listed and explained.

rasdaman can interface with a large and increasing number of tools. Some clients allow direct query submission, such as rasql and directql. For rapid development of browser clients the raswct toolkit is provided.

Geo tools supported include OpenLayers, QGIS, ncWMS, THREDDS, GDAL, MapServer, !ArcGIS; soon: GeoServer. Geo standards supported are OGC WMS, WCS, WCPS, and WPS; hence, all clients conforming to these standards can additionally be used for interfacing. All geo semantics is implemented through the petascope component (source) which is implemented as a Java application layer offering OGC Web services.

Clients coming with rasdaman

Rasql query language access

The following clients allow to submit rasql queries:

  • rasql is a command-line utility for sending queries and saving results in local files. Invocation example (see rasql --help for details):
    rasql -q 'select encode( mr, "png" ) from mr' --out file
    
    • To see a list of all collections with arrays in the database:
      rasql -q 'select c from RAS_COLLECTIONNAMES as c' --out string
      
  • rasql queries can also be submitted via a Web service, by default listening at localhost:8080/rasdaman/rasql. To this end, the corresponding servlet needs to be started (see the Installation Guide).
    • Syntax:
      http://{service}/{path}/rasdaman/rasql?params
      
      Example: 
      http://www.acme.com/rasdaman?query=select%20rgb.red+rgb.green%20from%20rgb&username=rasguest&password=rasguest
      
    • This servlet endpoint accepts KVP requests with the following parameters:
      • query=q where q is a valid rasql query, appropriately escaped as per http pecification.
      • username=u where u is the user name for logging into rasdaman (current: rasguest for retrieval query (select) and rasadmin for the editable query (insert, update, delete,…).
      • password=p where p is the password for logging into rasdaman (current: rasguest for username: rasguest and rasadmin for username: rasadmin).
    • To upload data to server, it is needed to attach the data in HTTP message's body and send the POST request to the Servlet endpoint with user have the write permission (e.g: rasadmin). In Linux, one tool can support this feature is cURL. Syntax:
      curl -F 'image=@{/Path_To_Image}' '{http://Rasql_Servlet_Endpoint?username=rasadmin&password=rasadmin&query={insert/update query}'
      
      • Here is an example:
        Collection: test_mr_test1
        
        Insert file to collection:
        curl -F 'image=@/home/rasdaman/rasdaman/systemtest/testcases_services/test_all_wcst_import/test_data/wcps_mr/mr_1.png' 'http://localhost:8080/rasdaman/rasql?username=rasadmin&password=rasadmin&query=insert%20into%20test_mr_test1%20values%20decode(%241)' 
        
        Update file to collection:
        curl -F 'image=@/home/rasdaman/rasdaman/systemtest/testcases_services/test_all_wcst_import/test_data/wcps_mr/mr_1.png' 'http://localhost:8080/rasdaman/rasql?username=rasadmin&password=rasadmin&query=update%20test_mr_test1%20set%20test_mr_test1%20assign%20decode(%241)'
        
        
  • directql is not strictly a client, but a rasdaman server linked directly with the rasql utility (see above), rather than following the client/server architecture. Main purpose is for simplified debugging of the server by allowing command-line invocation of the server engine. (source )

python

Geo clients

raswct (rasdaman Web Client Toolkit)

This JavaScript library allows, by way of input and output widgets, to easily compose a Web client. Simple versions need only HTML, but advanced interfaces can be created. One example for the use of raswct is standards.rasdaman.org. See documentation for details.

Third-party clients

R (data analysis)

RRasdaman is an R package providing a database interface for rasdaman, i.e.: for submitting rasdaman queries from within R. It is submitted to R and part of this toolset. See installation/setup guide and tutorial for more information.

NASA WebWorldWind (Web-based virtual globe)

Rasdaman has a built-in geo-web-application Petascope supports OGC standards: WMS 1.3, WCPS 2.0.1, WCPS can provide the 2D image results which can be displayed on WebWorldWind 3D globe via WebWorldWind's Javascript library. A demonstrate example using WCPS query to display the average chlorophyll along time series over oceans from rasdaman Earthlook. See more about WebWorldWind tutorials.

OpenLayers and Leaflet (Web-based map navigation)

documentation tbd

ncWMS (Web-based climate data navigation)

documentation tbd

QGIS (Web GIS)

This plugin enables the direct download, processing, integration and usage of Coverages from an OGC compliant WCPS 1.0 enabled servers within the QGIS software (tested with QGIS v2.14). The plugin has been submitted to the official QGIS plugin repository named QgsWcpsClient1.

  • The source code of the plugin could be found at http://rasdaman.org/browser/applications/qgis-wcps.
  • To install this plugin in QGIS, select QGIS menu PluginsManage and Install Plugins → Search: wcps (it returns the plugin QgsWcpsClient1) → click on install button).
  • Now you can access the QgsWcpsClient1 plug-in via the Qgis Menu → Plugins → WcpsClient1 → WCPS 1.0 Client.
  • Select Help tab from QgsWcpsClient1 plug-in's window and read to have some information about how to connect to a running WCPS endpoint from Petascope.

MapServer (Web GIS server)

documentation tbd

GeoServer (Web GIS server)

documentation tbd

GDAL (image processing library)

Rasdaman uses GDAL underneath to encode/decode raster data. The library can be installed manually if install from source or automatically if install rasdaman via rasdaman installer.

THREDDS (scientific data catalog)

documentation tbd

ESRI ArcGIS (GIS tool)

Starting version 10.3, ESRI ArcGIS supports WCS 2. Hence, access from ArcGIS to rasdaman via WCS 2 is expected to be possible (in lack of an ArcGIS license we cannot verify).

Note: See TracWiki for help on using the wiki.