Metadata-Version: 2.4
Name: digitalearth
Version: 0.11.0
Summary: Geospatial visualization package for rasters and vector data
Author-email: Mostafa Farrag <moah.farag@gmail.com>
License: GNU General Public License v3
Project-URL: homepage, https://github.com/serapeum-org/Digital-Earth
Project-URL: repository, https://github.com/serapeum-org/Digital-Earth
Project-URL: documentation, https://serapeum-org.github.io/Digital-Earth
Project-URL: Changelog, https://github.com/serapeum-org/Digital-Earth/blob/main/docs/change-log.md
Keywords: matplotlib,maps,visualization,GIS
Classifier: Development Status :: 5 - Production/Stable
Classifier: Environment :: Console
Classifier: License :: OSI Approved :: GNU General Public License v3 (GPLv3)
Classifier: Natural Language :: English
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Topic :: Scientific/Engineering :: Visualization
Classifier: Topic :: Scientific/Engineering :: GIS
Classifier: Intended Audience :: Science/Research
Classifier: Intended Audience :: Developers
Requires-Python: <4,>=3.11
Description-Content-Type: text/markdown
License-File: LICENSE.md
Requires-Dist: numpy>=2.0.0
Requires-Dist: pandas>=2.0.0
Requires-Dist: matplotlib>=3.11
Requires-Dist: geopandas>=1.1.3
Requires-Dist: cleopatra[tiles]>=0.40.0
Requires-Dist: xyzservices>=2023.10.0
Requires-Dist: pyramids-gis>=0.65.0
Requires-Dist: loguru>=0.7.3
Requires-Dist: pyyaml>=6.0
Provides-Extra: 3d
Requires-Dist: pyvista[jupyter]>=0.48; extra == "3d"
Requires-Dist: geovista>=0.5.3; extra == "3d"
Requires-Dist: imageio>=2.34; extra == "3d"
Requires-Dist: imageio-ffmpeg>=0.5; extra == "3d"
Provides-Extra: interactive
Requires-Dist: geoviews>=1.15; extra == "interactive"
Requires-Dist: holoviews>=1.22; extra == "interactive"
Requires-Dist: hvplot>=0.12; extra == "interactive"
Requires-Dist: datashader>=0.19; extra == "interactive"
Requires-Dist: panel>=1.9; extra == "interactive"
Provides-Extra: web
Requires-Dist: maplibre[ipywidget]>=0.3; extra == "web"
Provides-Extra: all
Requires-Dist: digitalearth[3d,interactive,web]; extra == "all"
Dynamic: license-file

[![Python Versions](https://img.shields.io/pypi/pyversions/digitalearth.png)](https://img.shields.io/pypi/pyversions/digitalearth)
[![License: GPL v3](https://img.shields.io/badge/License-GPLv3-blue.svg)](https://www.gnu.org/licenses/gpl-3.0)
[![pre-commit](https://img.shields.io/badge/pre--commit-enabled-brightgreen?logo=pre-commit&logoColor=white)](https://github.com/pre-commit/pre-commit)
[![Language grade: Python](https://img.shields.io/lgtm/grade/python/g/serapeum-org/Digital-Earth.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/serapeum-org/Digital-Earth/context:python)
[![Documentation Status](https://readthedocs.org/projects/digitalearth/badge/?version=latest)](https://cleopatra.readthedocs.io/en/latest/?badge=latest)


[![codecov](https://codecov.io/gh/serapeum-org/Digital-Earth/branch/main/graph/badge.svg?token=nDBDBjsyij)](https://codecov.io/gh/serapeum-org/Digital-Earth)
![GitHub last commit](https://img.shields.io/github/last-commit/serapeum-org/Digital-Earth)
![GitHub forks](https://img.shields.io/github/forks/serapeum-org/Digital-Earth?style=social)
![GitHub Repo stars](https://img.shields.io/github/stars/serapeum-org/Digital-Earth?style=social)


Current release info
====================

| Name | Downloads                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          | Version | Platforms |
| --- |------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| --- | --- |
| [![Conda Recipe](https://img.shields.io/badge/recipe-digitalearth-green.svg)](https://anaconda.org/conda-forge/digitalearth) | [![Conda Downloads](https://img.shields.io/conda/dn/conda-forge/digitalearth.svg)](https://anaconda.org/conda-forge/digitalearth) [![Downloads](https://pepy.tech/badge/digitalearth)](https://pepy.tech/project/digitalearth) [![Downloads](https://pepy.tech/badge/digitalearth/month)](https://pepy.tech/project/digitalearth)  [![Downloads](https://pepy.tech/badge/digitalearth/week)](https://pepy.tech/project/digitalearth)  ![PyPI - Downloads](https://img.shields.io/pypi/dd/digitalearth?color=blue&style=flat-square) ![GitHub all releases](https://img.shields.io/github/downloads/serapeum-org/Digital-Earth/total) ![GitHub release (latest by date)](https://img.shields.io/github/downloads/serapeum-org/Digital-Earth/0.1.0/total) | [![Conda Version](https://img.shields.io/conda/vn/conda-forge/digitalearth.svg)](https://anaconda.org/conda-forge/digitalearth) [![PyPI version](https://badge.fury.io/py/digitalearth.svg)](https://badge.fury.io/py/digitalearth) [![Anaconda-Server Badge](https://anaconda.org/conda-forge/digitalearth/badges/version.svg)](https://anaconda.org/conda-forge/digitalearth) | [![Conda Platforms](https://img.shields.io/conda/pn/conda-forge/digitalearth.svg)](https://anaconda.org/conda-forge/digitalearth) [![Join the chat at https://gitter.im/Hapi-Nile/Hapi](https://badges.gitter.im/Hapi-Nile/Hapi.svg)](https://gitter.im/Hapi-Nile/Hapi?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge) |

digitalearth - Remote Sensing package
=====================================================================
**digitalearth** is a Remote Sensing package

digitalearth

Main Features
-------------
  - plot static maps


Future work
-------------
  - dynamic/interactive maps



Installing digitalearth
===============

Installing `digitalearth` from the `conda-forge` channel can be achieved by:

```
conda install -c conda-forge digitalearth
```

It is possible to list all of the versions of `digitalearth` available on your platform with:

```
conda search digitalearth --channel conda-forge
```

## Install from Github
to install the last development to time you can install the library from github
```
pip install git+https://github.com/serapeum-org/Digital-Earth
```

## pip
to install the last release you can easly use pip
```
pip install digitalearth
```

## Optional rendering tiers
The static matplotlib tier works out of the box. Richer renderers are optional extras (installed only when
you ask for them):

```
pip install 'digitalearth[interactive]'   # interactive 2-D web maps (HoloViz: GeoViews/Bokeh)
pip install 'digitalearth[3d]'            # true-3D scenes (PyVista)
pip install 'digitalearth[web]'           # MapLibre + deck.gl web maps, shareable HTML
```

The `3d` extra installs `pyvista[jupyter]`, because that extra is the trame/vtk.js stack
`Scene3D.export_html` renders through and pyvista redefines it per version. It brings a notebook stack
along with it (`ipywidgets`, and `jupyter-server-proxy` on pyvista 0.48) even for headless use.

The `web` tier renders pyramids rasters/vectors as MapLibre GL JS / deck.gl layers and exports a
self-contained HTML page — `WebMap().choropleth(gdf, column="pop").basemap().save("map.html")`, or
`quickplot(data, backend="web")`. The runnable gallery in `docs/examples/web/` works through a raster,
a choropleth, the decoration stack (legend, title, graticule, layer switcher), framing with
`set_bounds`, labels and free text, contours and an RGB composite.

**What the web tier is for.** Thematic maps (choropleths, points, lines, heatmaps, clustering), 3-D
(extrusions, point clouds, 3D tiles, glTF, terrain, globe), and sharing the result as one HTML file. It is
*not* a peer of the static tier for scientific field rendering: contours are supported, but vector/flow
fields (`quiver`, `barbs`, `streamplot`), unstructured meshes (`tripcolor`, `trimesh`, `quadmesh`) and KDE
have no native MapLibre primitive and live in the static and interactive tiers instead.

Quick start
===========

The entry points are `quickmap` (one call) and the `Map` scene. Build a finished map from a raster and save it:

```python
from pyramids.dataset import Dataset
from digitalearth import quickmap

src = Dataset.read_file("examples/data/acc4000.tif")
m = quickmap(src, crs=src.epsg)   # finished Map with a colorbar
m.set_title("Flow Accumulation")
m.save("flow_accumulation.png")
```
![Flowaccumulation](examples/images/flow_accumulation.png)

For more control, compose layers on a `Map` directly — e.g. overlay points on a raster:

```python
from pyramids.dataset import Dataset
from pyramids.feature import FeatureCollection
from digitalearth import Map

src = Dataset.read_file("examples/data/acc4000.tif")
points = FeatureCollection.read_file("tests/data/points.geojson")

m = Map(crs=src.epsg)
m.field(src, name="flow")
m.points(points)
m.colorbar("flow")
m.set_title("Flow Accumulation")
m.save("flow_accumulation_with_labels.png")
```
![Flowaccumulation](examples/images/flow_accumulation_with_labels.png)

[other code samples](https://digitalearth.readthedocs.io/en/latest/?badge=latest)
