Giter Site home page Giter Site logo

oubiwann / lcmap-data Goto Github PK

View Code? Open in Web Editor NEW

This project forked from repository-preservation/lcmap-data

0.0 2.0 0.0 272 KB

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

License: Other

Shell 6.09% Clojure 93.91%

lcmap-data's Introduction

lcmap.data

Configuration

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.

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.

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 --cql resources/schema.cql --hosts 192.168.33.20

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 load-spec ~/Downloads/LC80460272013104-SC20151208193402.tar.gz --hosts 192.168.33.20
lein lcmap load-spec ~/Downloads/LE70460272002354-SC20151208192943.tar.gz --hosts 192.168.33.20
lein lcmap load-spec ~/Downloads/LT50460271992159-SC20151208192831.tar.gz --hosts 192.168.33.20

Please note: the tile spec code, although good enough for prototyping, assumes you know exactly what you are doing. If you have inconsistently projected data things will not work. However, it is likely that you will be given data that doesn't have consistency problems.

Ingest Some Data

lein lcmap ingest ~/Downloads/LC80460272013104-SC20151208193402.tar.gz --hosts 192.168.33.20
lein lcmap ingest ~/Downloads/LE70460272002354-SC20151208192943.tar.gz --hosts 192.168.33.20
lein lcmap ingest ~/Downloads/LT50460271992159-SC20151208192831.tar.gz --hosts 192.168.33.20

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.

License

Copyright © 2015 United States Government

NASA Open Source Agreement, Version 1.3

lcmap-data's People

Contributors

oubiwann avatar

Watchers

James Cloos avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.