Skip to content

Commit

Permalink
Added badges, updated README. (#10)
Browse files Browse the repository at this point in the history
Also added a tiny contributing section.
  • Loading branch information
alxmrs authored Jun 24, 2024
1 parent ea03bb4 commit 589a07e
Showing 1 changed file with 18 additions and 11 deletions.
29 changes: 18 additions & 11 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,17 +1,21 @@
# dask-ee

Google Earth Engine `FeatureCollection`s via Dask DataFrames
_Google Earth Engine Feature Collections via Dask DataFrames._

[![ci](https://github.com/alxmrs/dask-ee/actions/workflows/ci-build.yml/badge.svg)](https://github.com/alxmrs/dask-ee/actions/workflows/ci-build.yml)
[![PyPi Version](https://img.shields.io/pypi/v/dask-ee.svg)](https://pypi.python.org/pypi/dask-ee)
[![Downloads](https://static.pepy.tech/badge/dask-ee)](https://pepy.tech/project/dask-ee)

## How to use

Install with pip:
```shell
pip install --upgrade dask-ee
pip install dask-ee
```

Then, authenticate Earth Engine:
```shell
earthengine authenticate --quiet
earthengine authenticate
```

In your Python environment, you may now import the library:
Expand All @@ -28,16 +32,16 @@ ee.Initialize()

From here, you can read Earth Engine FeatureCollections like they are DataFrames:
```python
ddf = dask_ee.read_ee("WRI/GPPD/power_plants")
ddf.head()
df = dask_ee.read_ee("WRI/GPPD/power_plants")
df.head()
```
These work like Pandas DataFrames, but they are lazily evaluated via [Dask](https://dask.org/).

Feel free to do any analysis you wish. For example:
```python
# Thanks @aazuspan, https://www.aazuspan.dev/blog/dask_featurecollection
(
ddf[ddf.comm_year.gt(1940) & ddf.country.eq("USA") & ddf.fuel1.isin(["Coal", "Wind"])]
df[df.comm_year.gt(1940) & df.country.eq("USA") & df.fuel1.isin(["Coal", "Wind"])]
.astype({"comm_year": int})
.drop(columns=["geo"])
.groupby(["comm_year", "fuel1"])
Expand All @@ -57,23 +61,26 @@ For one, you may pass in a pre-processed `ee.FeatureCollection`. This allows ful
of the Earth Engine API.

```python
import dask_ee

fc = (
ee.FeatureCollection("WRI/GPPD/power_plants")
.filter(ee.Filter.gt("comm_year", 1940))
.filter(ee.Filter.eq("country", "USA"))
)
ddf = dask_ee.read_ee(fc)
df = dask_ee.read_ee(fc)
```

In addition, you may change the `chunksize`, which controls how many rows are included in each
Dask partition.
```python
ddf = dask_ee.read_ee("WRI/GPPD/power_plants", chunksize=7_000)
ddf.head()
df = dask_ee.read_ee("WRI/GPPD/power_plants", chunksize=7_000)
df.head()
```

## Contributing

Contributions are welcome. A good way to start is to check out open [issues](https://github.com/alxmrs/dask-ee/issues)
or file a new one. We're happy to review pull requests, too.

## License
```
Copyright 2024 Alexander S Merose
Expand Down

0 comments on commit 589a07e

Please sign in to comment.