An open API service indexing awesome lists of open source software.

https://github.com/earthdaily/analytic-processor-template

Use this repository as a baseline to Build Your Own Analytic based on metrics and imagery data following your business logic.
https://github.com/earthdaily/analytic-processor-template

agricultural-modelling agriculture agriculture-data earth-observation geospatial geospatial-analysis geospatial-data geospatial-processing satelite-images satellite satellite-data

Last synced: 13 days ago
JSON representation

Use this repository as a baseline to Build Your Own Analytic based on metrics and imagery data following your business logic.

Awesome Lists containing this project

README

          





Logo

Analytic Processor Template


Learn how to use <geosys/> platform capabilities in your own business workflow! Build your processor and learn how to run them on your platform.


Who we are


Report Bug
·
Request Feature


[![LinkedIn][linkedin-shield]][linkedin-url]
[![Twitter][twitter-shield]][twitter-url]
[![Youtube][youtube-shield]][youtube-url]
[![Issues][issues-shield]][issues-url]
[![MIT License][license-shield]][license-url]

Table of Contents

- [About The Project](#about-the-project)
- [Prerequisite](#prerequisite)
- [Usage](#usage)
* [Start using the template](#start-using-the-template)
* [Linking your repo to github](#linking-your-repo-to-github)
- [Project Organization](#project-organization)
- [Customization](#customization)
- [Template in action](#template-in-action)
- [Resources](#resources)
- [Support development](#support-development)
- [License](#license)
- [Contact](#contact)
- [Copyrights](#copyrights)

## About The Project

The aim of this project is to help our customers valuing &ltgeosys/&gt platform capabilities to build their own analytic of interest.

This repository contains template files based on the cookiecutter system, which allows to rapidly create basic folder structure for data science projects.

When using the `cookiecutter` command on this repository, it creates a git repository, folders and files structure populated with some of the information provided by the user.

(back to top)

## Prerequisite

To be able to run this example, you will need to have following tools to be installed

1. Install Git

Please install Git on your computer. You can download and install it by visiting the [official Git website] (https://git-scm.com/book/en/v2/Getting-Started-Installing-Git) and following the provided instructions

2. Install Conda

Please install Conda on your computer. You can download and install it by following the instructions provided on the [official Conda website](https://conda.io/projects/conda/en/latest/user-guide/install/index.html)

3. Install Python
Python 3.7+

4. Install cookiecutter
- [Cookiecutter Python package](http://cookiecutter.readthedocs.org/en/latest/installation.html) >= 1.4.0: This can be installed with pip by or conda depending on how you manage your Python packages:

``` bash
$ pip install cookiecutter
```

or

``` bash
$ conda config --add channels conda-forge
$ conda install cookiecutter
```

Make sure you have valid credentials. If you need to get trial access, please register [here](https://earthdailyagro.com/geosys-api/#get-started).

This package has been tested on Python 3.9.7.

(back to top)

## Usage

### Start using the template

To create your repo using this template, perform these steps :

1. Call the template:

You can directly call this template from github using the following command :

```
cookiecutter https://github.com/GEOSYS/analytic-processor-template
```

Or you can call it after cloning the analytic template repo locally :

```
git clone https://github.com/GEOSYS/analytic-processor-template
cookiecutter analytic-processor-template
```

2. You will be prompted for the following information to initialize the project:

- `project_name` : Readable name of the project or technology, e.g. Machine Learning based Time Series Classification
- `project_repo` : the name of the created repository of the project, default to e.g. machine-learning-based-time-series-classification
- `project_slug` : "slug" of the project, default to e.g. machine_learning_based_time_series_classification
- `author_name` : the name of the authors
- `description` : "A short description of the project.",
- `python_interpreter` : ["python3", "python"]
- `cloud_storage`: ["none","aws", "azure", "both"]

### Linking your repo to github

Using cookiecutter creates the folders locally, but you may want to version control it. Here are the steps :

- Create a new repository, without adding any source to it (.gitignore and README.md files will be created by cookiecutter)
- go to the created project folder, and run:
- `git init`
- `git add *`
- `git commit -m "first commit"`
- (modify first) `git remote add origin /.git`
- `git push -u origin main`

## Project Organization
{{ cookiecutter.project_repo }}
├── README.md <- The top-level README for developers using this project.
├── notebooks <- Jupyter notebooks. Naming convention is a number (for ordering),
│ the creator's initials, and a short `-` delimited description, e.g.
│ `1.0-jqp-initial-data-exploration`.

├── requirements.txt <- The requirements file for reproducing the analysis environment, e.g.
│ generated with `pip freeze > requirements.txt`
├── environment.yml <- The conda requirements file for reproducing the analysis environment, e.g.
│ generated with `conda env export > environment.yml`, or manually

├── setup.py <- makes project pip installable (pip install -e .) so src can be imported
├───src <- Source code for use in tis project.
│ ├───main.py
│ ├───api
│ │ ├── __init__.py
│ │ └── api.py
│ └───{{ cookiecutter.project_slug }}
│ ├── __init__.py
│ └── {{ cookiecutter.project_slug }}.py
└── tests

(back to top)

## Customization

You can modify the template according to your liking and needs

1. Clone the project repository:

```
git clone https://github.com/GEOSYS/analytic-processor-template
```

2. Change the cookiecutter.json:

You can enter any template parameter you want to use.

3. Directly add or delete folders and files.

You can then use the new template using the same commands as before.

(back to top)

## Template in action
Based on this template, we also created several examples of processors showcasing how to create tailored analytics based imagery, weather data on small geometries or regional entiies.

Here is the list of examples:

- **Imput pipeline**:
- [Reflectance datacube processor](https://github.com/earthdaily/reflectance-datacube-processor) showcasing how to extract data from EarthData Store with premium cloud mask and publish a datacube on cloud storage.
- [Analytic datacube processor](https://github.com/earthdaily/analytics-datacube-processor) showcasing how to extract analytics (mostly vegetation indexes here), package them as a N dimension object that will be persisted on cloud storage.

- **Analytic generation**
- [Sub entity analysis processor](https://github.com/earthdaily/sub-entity-analysis-processor) showcasing how the impact of an inputs or a practices applied on a sub area of a field using time series.
- [Impacted areas processor](https://github.com/earthdaily/impacted-areas-identification-processor) showcasing how to compare vegetation index before and after an event to determine impacted areas.
- [Regional level alerts processor](https://github.com/earthdaily/regional-level-alerts-processor) showcasing how to generate alerts at regional level based on weather and vegetation status.

(back to top)

## Resources
The following links will provide access to more information:
- [EarthDaily agro developer portal ](https://developer.geosys.com/)
- [Pypi package](https://pypi.org/project/geosyspy/)

(back to top)

## Support development

If this project has been useful, that it helped you or your business to save precious time, don't hesitate to give it a star.

(back to top)

## License

Distributed under the [MIT License](https://github.com/GEOSYS/Studies-and-Analysis/blob/main/LICENSE).

(back to top)

## Contact

For any additonal information, please [email us](mailto:sales@earthdailyagro.com).

(back to top)

## Copyrights

© 2023 Geosys Holdings ULC, an Antarctica Capital portfolio company | All Rights Reserved.

(back to top)

[contributors-shield]: https://img.shields.io/github/contributors/github_username/repo.svg?style=social
[NETcore-shield]: https://img.shields.io/badge/.NET%20Core-6.0-green
[NETcore-url]: https://github.com/dotnet/core
[contributors-url]: https://github.com/github_username/repo/graphs/contributors
[forks-shield]: https://img.shields.io/github/forks/github_username/repo.svg?style=plastic&logo=appveyor
[forks-url]: https://github.com/github_username/repo/network/members
[stars-shield]: https://img.shields.io/github/stars/analytic-processor-template/repo.svg?style=plastic&logo=appveyor
[stars-url]: https://github.com/github_username/repo/stargazers
[issues-shield]: https://img.shields.io/github/issues/GEOSYS/analytic-processor-template/repo.svg?style=social
[issues-url]: https://github.com/GEOSYS/analytic-processor-template/issues
[license-shield]: https://img.shields.io/badge/License-MIT-yellow.svg
[license-url]: https://opensource.org/licenses/MIT
[linkedin-shield]: https://img.shields.io/badge/-LinkedIn-black.svg?style=social&logo=linkedin
[linkedin-url]: https://www.linkedin.com/company/earthdailyagro/mycompany/
[twitter-shield]: https://img.shields.io/twitter/follow/EarthDailyAgro?style=social
[twitter-url]: https://img.shields.io/twitter/follow/EarthDailyAgro?style=social
[youtube-shield]: https://img.shields.io/youtube/channel/views/UCy4X-hM2xRK3oyC_xYKSG_g?style=social
[youtube-url]: https://img.shields.io/youtube/channel/views/UCy4X-hM2xRK3oyC_xYKSG_g?style=social
[language-python-shiedl]: https://img.shields.io/badge/python-3.9-green?logo=python
[language-python-url]: https://pypi.org/
[GitStars-shield]: https://img.shields.io/github/stars/GEOSYS?style=social
[GitStars-url]: https://img.shields.io/github/stars/GEOSYS?style=social
[CITest-shield]: https://img.shields.io/github/workflow/status/GEOSYS/analytic-processor-template/Continous%20Integration
[CITest-url]: https://img.shields.io/github/workflow/status/GEOSYS/analytic-processor-template/Continous%20Integration