Skip to content

serapeum-org/Digital-Earth

Repository files navigation

Python Versions License: GPL v3 pre-commit Language grade: Python Documentation Status

codecov GitHub last commit GitHub forks GitHub Repo stars

Current release info

Name Downloads Version Platforms
Conda Recipe Conda Downloads Downloads Downloads Downloads PyPI - Downloads GitHub all releases GitHub release (latest by date) Conda Version PyPI version Anaconda-Server Badge Conda Platforms Join the chat at https://gitter.im/Hapi-Nile/Hapi

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 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"). See docs/examples/web/ for a runnable gallery.

Quick start

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

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

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

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.imshow(src)
m.scatter(points)
m.colorbar(layer=0)
m.set_title("Flow Accumulation")
m.save("flow_accumulation_with_labels.png")

Flowaccumulation

other code samples

Legacy API (deprecated)

StaticGlyph is the original entry point and is deprecated — it emits a DeprecationWarning and will be removed in a future release. Prefer quickmap / Map above. It still works for now:

from pyramids.dataset import Dataset
from digitalearth.static import StaticGlyph

src = Dataset.read_file("examples/data/acc4000.tif")
fig, ax = StaticGlyph.plot(src, title="Flow Accumulation", cbar_label="Flow Accumulation")

Packages

 
 
 

Contributors

Languages