A set of helper functions to make working with spatial data in open source tools easier. This package is maintained by Earth Lab and was originally designed to support the earth analytics education program.
Project description
EarthPy
EarthPy makes it easier to plot and manipulate spatial data in Python.
Why EarthPy?
Python is a generic programming language designed to support many different applications. Because of this, many commonly performed spatial tasks for science including plotting and working with spatial data take many steps of code. EarthPy builds upon the functionality developed for raster data (rasterio) and vector data (geopandas) in Python and simplifies the code needed to:
- Stack and crop raster bands from data such as Landsat into an easy to use numpy array
- Work with masks to set bad pixels such a those covered by clouds and cloud-shadows to NA (
mask_pixels()
) - Plot rgb (color), color infrared and other 3 band combination images (
plot_rgb()
) - Plot bands of a raster quickly using
plot_bands()
- Plot histograms for a set of raster files.
- Create discrete (categorical) legends
- Calculate vegetation indices such as Normalized Difference Vegetation Index (
normalized_diff()
) - Create hillshade from a DEM
- Clip point, line, and polygon geometries
EarthPy also has an io
module that allows users to
- Quickly access pre-created data subsets used in the earth-analytics courses hosted on www.earthdatascience.org
- Download other datasets that they may want to use in their workflows.
EarthPy's design was inspired by the raster
and sp
package functionality available to R
users.
View Example EarthPy Applications in Our Documentation Gallery
Check out our vignette gallery for applied examples of using EarthPy in common spatial workflows.
Install
EarthPy can be installed using pip
, but we strongly recommend that you install it using conda and the conda-forge
channel.
Install Using Conda / conda-forge Channel (Preferred)
If you are working within an Anaconda environment, we suggest that you install EarthPy using
conda-forge
$ conda install -c conda-forge earthpy
Note: if you want to set conda-forge as your default conda channel, you can use the following install workflow. We recommmend this approach. Once you have run conda config, you can install earthpy without specifying a channel.
$ conda config --add channels conda-forge
$ conda install earthpy
Install via Pip
EarthPy uses the rtree package for some of its operations which depends upon libspatialindex
. This package can be
challenging to install using pip whereas it will automagically be installed if you use conda.
To install EarthPy via pip
use:
$ pip install --upgrade earthpy
Once you have successfully installed EarthPy, you can import it into Python.
>>> import earthpy.plot as ep
Below is a quick example of plotting multiple bands in a numpy array format.
>>> arr = np.random.randint(4, size=(3, 5, 5))
>>> ep.plot_bands(arr, titles=["Band 1", "Band 2", "Band 3"])
>>> plt.show()
Active Maintainers
We welcome contributions to EarthPy. Below are the current active package maintainers. Please see our contributors file for a complete list of all of our contributors.
Contributors
We've welcome any and all contributions. Below are some of the contributors to EarthPy. We are currently trying to update this list!!
How to Contribute
We welcome contributions to EarthPy! Please be sure to check out our contributing guidelines for more information about submitting pull requests or changes to EarthPy.
License & Citation
Citation Information
EarthPy citation information can be found on zenodo. A link to bibtext format is below:
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.