Skip to content

PLJV/Beatbox

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Beatbox

Beatbox is a simple Python wrapper for GDAL, Shapely, GeoRasters, and GeoPandas. It is designed to be a portable interface for working with large spatial datasets on cloud platforms like AWS and Google App Engine / Earth Engine. You install it's standard dependencies with anaconda or pip and can produce raster and vector datasets that can be integrated into common spatial processing frameworks and distributed computing workflows. PLJV uses beatbox downstream for cloud computing tasks. You will see it used as a standard dependency on a number of our other projects. Beatbox supports Python 2 and 3 out-of-the-box, but you will need to use Python 2 for Earth Engine functionality.

This is still a young project. If you are not a collaborator and just happened onto this repository while looking for ways to crunch geospatial data with Python, this is probably not your tool. There are more mature upstream projects available. For vector data, consider GeoPandas. For raster data, consider GeoRasters. For
distributed computing workflows, consider GeoTrellis.

For an overview of installing the Earth Engine Python API (RTM).

We maintain beatbox and make it publicly available (GPLv3) so that our collaborators can check our math. It is still very much under active development and not production ready. For the curious earth systems modeller experimenting with spatial data on Earth Engine or AWS that would like to get their hands dirty, dive in.

Installation

From a direct download: python setup.py install

From conda / pip:

conda install pyCrypto GDAL numpy pandas fiona shapely geopandas scikit-learn 

pip install oauth2client 
pip install google-api-python-client
pip install earthengine-api

pip install --upgrade git+git://github.com/PLJV/Beatbox.git

Quickstart

using ipython
from beatbox import Do, Vector, Raster, fuzzy_convex_hulls

water_raster = Raster("/path/to/water_raster.tif")
spatial_points = Vector("/path/to/spatialpoints.shp")
convex_hulls = fuzzy_convex_hulls(spatial_points, width=1033)

result = Do({
  'what': extract,
  'with': [ convex_hulls, water_raster ]
})

About

Pythonic workflows for spatial data using geopandas, google earth engine, and shapely in the cloud.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages