Skip to main content
https://travis-ci.org/bkg/greenwich.svg?branch=master https://coveralls.io/repos/bkg/greenwich/badge.png?branch=master

Adding Python conveniences to the wonderful world of GDAL.

Greenwich provides a wrapper for the GDAL SWIG Python bindings. The focus here is on providing some higher level behavior mainly to the raster side of the GDAL/OGR fence.

Installation

The GDAL Python bindings need a little assistance in finding the pertinent headers when building from within a virtualenv. If the usual pip install greenwich fails, specify the GDAL header directory wherever that may be for you such as:

CFLAGS=-I/usr/include/gdal pip install greenwich

Basic Usage

Open any raster data set you have lying around, perhaps some climate data from WorldClim.

from greenwich import Geometry, Raster
from greenwich.io import MemFileIO

with Raster('cc85tn701.tif') as tmax:
    # Save as a NetCDF file.
    tmax.save('cc85tn701.nc')
    geom = Geometry(
        wkt='POLYGON((-123 47,-123 48,-122 49,-121 48,-121 47,-123 47))',
        srs=4326)
    # Clip the raster with a geometry and save the result as a GeoTIFF.
    with tmax.clip(geom) as clipped:
        clipped.save('clipped.tif')

    # Return a NumPy MaskedArray using nodata values for a given bounding box.
    m = tmax.masked_array((-120, 38, -118, 44))

    # Convert to an Erdas Imagine file in memory.
    imgio = MemFileIO(suffix='.img')
    tmax.save(imgio)
    imgdata = imgio.read()
    imgio.close()

    # Iterate over bands and retrieve the maximum pixel values.
    maxvals = [band.GetMaximum() for band in tmax]

Retrieve a NumPy array for a specific area by providing the extent as a 4-tuple of min/max x, y coordinates:

arr = tmax.array((-120, 38, -118, 44))

Reproject the raster to another coordinate system. You may pass EPSG codes, WKT, proj4 formatted projections, or a SpatialReference instance as an argument:

warped = tmax.warp(3857)

Perhaps you would like to resample your image to a new resolution which can be achieved with:

resampled = tmax.resample((100, 100))

Raster instances still behave like a gdal.Dataset:

meta = tmax.GetMetadata()

Metadata

Release files for greenwich 0.8.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for greenwich 0.8.0
File Size Uploaded
greenwich-0.8.0.tar.gz 16.5 kB Details

Release files / greenwich-0.8.0.tar.gz

Download URL greenwich-0.8.0.tar.gz
Size 16.5 kB
Tags Source
SHA-256 checksum
How to use checksums
8517dbb7da91964751e671adcd184a7954f70a1cbb0db30bc68be86808d464c4
BLAKE2b-256 checksum
How to use checksums
c775526521d575cc67452936acc61036ee10161fa23f0abdfcfd9ebabfac81af
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release history Release notifications | RSS feed

This release

0.8.0 This release

1 release file

0.7.1

1 release file

0.7.0

1 release file

0.6.3

1 release file

0.6.2

1 release file

0.6.1

1 release file

0.6.0

1 release file

0.5.1

1 release file

0.5.0

1 release file

0.4.2

1 release file

0.4.1

1 release file

0.4.0

1 release file

0.3.0

1 release file

0.2.0

1 release file

0.1.0

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page