Rasdaman Documentation Release 10.0.0
Total Page:16
File Type:pdf, Size:1020Kb
rasdaman documentation Release 10.0.0 rasdaman team Oct 01, 2021 CONTENTS 1 Introduction3 1.1 Features......................................4 1.2 Rasdaman Application Domains.........................6 1.3 OGC geo standards support...........................7 1.4 How to Contribute................................7 2 Installation and Administration Guide9 2.1 Preface......................................9 2.2 Getting Started..................................9 2.3 Directories and Configuration Files....................... 38 2.4 rasdaman Architecture.............................. 42 2.5 Access Interfaces................................. 47 2.6 Server Administration.............................. 49 2.7 Security...................................... 65 2.8 Backup...................................... 65 2.9 Example Database and Programs........................ 66 2.10 Uninstall rasdaman................................ 68 2.11 Troubleshooting................................. 68 3 Contributing to Rasdaman 71 3.1 Development Contributions........................... 72 3.2 Documentation.................................. 72 3.3 Git resources................................... 77 3.4 C++ Guidelines.................................. 80 3.5 Adding Tests................................... 83 3.6 rasdaman Code Guide.............................. 100 3.7 Geo services................................... 120 4 Query Language Guide 129 4.1 Preface...................................... 129 4.2 Introduction................................... 129 4.3 Terminology................................... 132 4.4 Sample Database................................. 133 4.5 Type Definition Using rasql........................... 134 4.6 Query Execution with rasql........................... 141 4.7 Overview: General Query Format........................ 143 i 4.8 Constants..................................... 146 4.9 Spatial Domain Operations............................ 150 4.10 Array Operations................................. 151 4.11 Data Format Conversion............................. 189 4.12 Object identifiers................................. 201 4.13 Null Values.................................... 203 4.14 Miscellaneous.................................. 206 4.15 Arithmetic Errors and Other Exception Situations................ 209 4.16 Database Retrieval and Manipulation...................... 211 4.17 Transaction Scheduling............................. 218 4.18 Linking MDD with Other Data......................... 220 4.19 Storage Layout Language............................ 221 4.20 Web Access to rasql............................... 229 4.21 Appendix A: rasql Grammar........................... 231 4.22 Appendix B: Reserved keywords........................ 235 5 Geo Services Guide 237 5.1 OGC Coverage Standards Overview....................... 237 5.2 OGC Web Services Endpoint.......................... 238 5.3 OGC Coverage Implementation Schema (CIS)................. 239 5.4 OGC Web Coverage Service........................... 242 5.5 OGC Web Coverage Processing Service (WCPS)................ 250 5.6 OGC Web Map Service (WMS)......................... 261 5.7 Data Import.................................... 268 5.8 Data export.................................... 312 5.9 rasdaman / petascope Geo Service Administration............... 313 5.10 Geo Service Standards Compliance....................... 316 6 CRS Management 319 6.1 Introduction................................... 319 6.2 Service...................................... 319 6.3 Concepts..................................... 321 7 RRasdaman Guide 327 7.1 Prerequisites................................... 327 7.2 Connect to rasdaman............................... 327 7.3 Handles...................................... 328 7.4 Arrays representation............................... 328 7.5 Displaying data.................................. 329 7.6 Writing data................................... 330 7.7 Transaction management............................. 332 7.8 Further reading.................................. 332 8 C++ Developers Guide 333 8.1 Preface...................................... 333 8.2 Introduction................................... 334 8.3 Terminology................................... 334 8.4 Application Examples.............................. 334 8.5 Raslib Classes.................................. 340 ii 8.6 Linking MDD with Other Data......................... 361 8.7 Compilation and Linkage of Client Programs.................. 363 8.8 HTML Documentation.............................. 366 9 Java Developers Guide 367 9.1 Preface...................................... 367 9.2 Introduction................................... 368 9.3 Terminology................................... 368 9.4 Application Examples.............................. 368 9.5 rasj........................................ 371 9.6 ODMG...................................... 373 9.7 Points and Intervals............................... 376 9.8 Multidimensional Arrays............................. 378 9.9 Storage Layout.................................. 382 9.10 Collections and Queries............................. 383 9.11 OIDs....................................... 385 9.12 Type Management................................ 386 9.13 Exceptions.................................... 387 9.14 Compilation and Execution of Client Programs................. 391 9.15 HTML Documentation.............................. 392 10 raswct Web Client Toolkit Developer Guide 393 10.1 Preface...................................... 393 10.2 Introduction................................... 394 10.3 Utility Namespace................................ 395 10.4 Query Namespace................................ 396 10.5 Widget Namespace................................ 399 11 Cheatsheets 413 11.1 WCS....................................... 413 11.2 WCPS...................................... 416 11.3 WMS....................................... 420 11.4 Clients...................................... 420 iii iv rasdaman documentation, Release 10.0.0 This is the documentation of rasdaman community, a multi-dimensional Array Analytics En- gine that enables efficient querying and manipulation of multi-dimensional arrays of unlimited size. Rasdaman Community is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. Rasdaman Community is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with rasdaman. If not, see www.gnu.org/licenses. For more information please see www.rasdaman.org or contact Peter Baumann via [email protected]. Originally created by rasdaman GmbH, this document is published under a Creative Commons Attribution-ShareAlike 4.0 International License. All trade names referenced are service mark, trademark, or registered trademark of the respec- tive manufacturer. Contents: CONTENTS 1 rasdaman documentation, Release 10.0.0 2 CONTENTS CHAPTER ONE INTRODUCTION The goodies of database technology for building flexible, large-scale information systems are well known: • information integration bringing along better consistency and much easier administra- tion • flexibility by replacing static APIs by dynamic query languages • scalability achieved through advanced storage and processing techniques, in particular: query optimization which is a powerful performance booster • maturity of decades of development and functionality richness, as opposed to 1.0 ver- sions of reinvented wheels (load balancing, indexing, transaction handling, catalog meta- data management, . ) Unfortunately, these advantages until now can be reaped only for alphanumeric (and, more recently, also vectorial) data types. Raster data (also called gridded data, sampled data, etc.) do not benefit, since traditional databases do not support the information category of large, multidimensional arrays. This gap is closed by the rasdaman technology which offers distinct array management features. Its conceptual model supports arrays of any number of dimensions and over virtually any cell (“pixel”, “voxel”) type. The rasdaman query language, rasql, is crafted along standard SQL and gives high-level, declarative access to any kind of raster data. Its architecture principle of tile stream processing, together with highly effective optimizations, has proven scalable into multi-Terabyte object sizes. Rasdaman has been developed since 1996 and since has reached a high level of maturity itself being in operational use since many years. The rasdaman project strongly commits itself to open standards, in particular those of the geo service community. We actively participate in the development and maintenance of the Open Geospatial Consortium open geo raster standards. Among other activities, we have developed specification and reference implementation of OGC WCS 2.0, WCPS, and WPS. The free and open-source rasdaman community version is available for free download; gener- ally, rasdaman is available in a dual [wiki:License license model]. If the scientific background of rasdaman is of interest, then check out our Publications . and cite our papers! Finally, for the legalese see Imprint and Disclaimer. 3 rasdaman documentation, Release 10.0.0 1.1