Skip to content
This repository has been archived by the owner on Jan 24, 2018. It is now read-only.

repository-preservation/lcmap-data

Repository files navigation

lcmap.data

Build StatusClojars Project

Data ingest and access for LCMAP

LCMAP open source project logo

Contents

Concepts

This project is used to prepare a Cassandra cluster with a schema, define specifications for tiles, and create tiles from ESPA archives.

A tile-spec defines the projection system, tile size, pixel sizes, and unique band identifiers that a tile table contains. It provides a way to ensure that all of the data contained in a table is consistent, to determine what tile contains an arbitrary point, and to reconstiture blobs of data into a meaningful type of data.

Dependencies

This project depends on a working GDAL installation with compiled JAVA SWIG bindings. Set LD_LIBRARY_PATH to the directory that contains libgdalconstjni.so, libgdaljni.so, libogrjni.so, and libosrjni.so.

This project will create tiles from an archive obtained from the USGS ESPA system. It does not currently support tiling of arbitrary geospatial data (GeoTIFF, HDF, etc...) although it may in the future.

Documentation

The LCMAP data API reference is slowly being updated with docstrings. The project's auto-generated documentation is available here:

Configuration

Add an lcmap.data section to ~/.usgs/lcmap.ini

[lcmap.data]

db-hosts = host1, host2, host3
db-user = cluster-username
db-pass = cluster-password
spec-keyspace = lcmap
spec-table = tile_specs
scene-keyspace = lcmap
scene-table = tile_scenes

Usage

Three commands are used to prepare a schema and import data into a Cassandra cluster.

1. Prepare the Schema

Create a keyspace, tile spec table, and tile table.

$ lein lcmap run-cql --file resources/schema.cql

2. Create Tile Specs

Create tile specs, inferring properties from an ESPA archive. Currently, this will assume the target tile keyspace and table are "lcmap" and "conus". Eventually, these will be required command line parameters.

You must do this once for Landsat 5, 7, and 8 archives.

$ lein lcmap make-specs ~/Downloads/LC80460272013104-SC20151208193402.tar.gz --tile-keyspace lcmap --tile-table conus --tile-size 128:128
$ lein lcmap make-specs ~/Downloads/LE70460272002354-SC20151208192943.tar.gz --tile-keyspace lcmap --tile-table conus --tile-size 128:128
$ lein lcmap make-specs ~/Downloads/LT50460271992159-SC20151208192831.tar.gz --tile-keyspace lcmap --tile-table conus --tile-size 128:128

3. Create Tiles

$ lein lcmap make-tiles ~/Downloads/LC80460272013104-SC20151208193402.tar.gz
$ lein lcmap make-tiles ~/Downloads/LE70460272002354-SC20151208192943.tar.gz
$ lein lcmap make-tiles ~/Downloads/LT50460271992159-SC20151208192831.tar.gz

Ingesting tiles will gracefully fail if you attempt to ingest data that does not conform to the corresponding tile specification. Currently, the tiling command only works with archives, it does not handle paths to decompressed archives yet.

Development

The followiong make target will create a separate keyspace for dev and test. It will also create a test specific configuration from an example in test/support/lcmap.test.ini.

$ make setup

License

Copyright © 2015 United States Government

NASA Open Source Agreement, Version 1.3

About

Data Ingest & Management for the USGS Land Change Monitoring Assessment and Projection (LCMAP) Computation and Analysis Platform [alpha 0.5.0]

Resources

License

Stars

Watchers

Forks

Packages

No packages published