locationtech / geowave

GeoWave provides geospatial and temporal indexing on top of Accumulo, HBase, BigTable, Cassandra, Kudu, Redis, RocksDB, and DynamoDB.
Apache License 2.0
498 stars 190 forks source link

Tutorial for custom raster data usage #1916

Open Chris-Charisis opened 10 months ago

Chris-Charisis commented 10 months ago

Hello, as raster are a very popular and important geospatial data, is it possible to update the Quickstart with a working example and to expand it with ingestion of custom data (other .tif files) that are not a specific case such as Landsat data?

rfecher commented 10 months ago

we can take it into consideration - have you tried ingesting a geotiff?

Chris-Charisis commented 9 months ago

Yes i have managed to ingest a geotiff. I downloaded from USGC a landsat tif file of the area around Berlin (I opted for landsat as they are a safe tif option regarding quality and standards) but I wanted to ingest and use it as a custom tif case. Through QGIS I validated it visually and changed its CSR to the default of EPSG:4326. By doing a mixed apporach of the Quickstart Guide I executed the following commands:

  1. geowave store add -t rocksdb --gwNamespace geowave.raster --dir . raster
  2. geowave index add -t spatial raster spatial-idx
  3. geowave ingest localToGW -f geotools-raster --geotools-raster.coverage BAND_NAME ./raster/landsat_test.tif raster spatial-idx

Then, to check the ingested data visually, I added it to the geoserver as per the Quickstart and in the Layer Preview I can see correctly my tif.

However, is it possible to either perform a query on the raster data after I have ingested them (and export the results to one of the supported formats) or apply a cql filter during the ingestion (as in other data ingestion cases or the landsat example in the Quickstart)? I cannot find any clear option through the documentation but maybe I am missing something.

rfecher commented 9 months ago

For those use cases you'd have to either write some custom code (which is essentially what we did for the landsat data) or you could utilize geoserver operations. Once you have a "coverage" raster layer in GeoWave there are a number of capabilities provided through geoserver and its extensions. For example, check out the raw data download WPS extension for cropping an ROI: https://docs.geoserver.org/main/en/user/extensions/wps-download/rawDownload.html