Skip to main content

This is a utility package to read in .zmap and .asc grids to numpy or xarrays

Project description

pygridsio

Introduction

This is a python submodule containing IO functionality for reading and writing .asc, .zmap .nc and .tif grids.

Installation

pygridsio is available via the pypi package registry:

pip install pygridsio

Usage

from pygridsio import *

The standard grid class used throughout this project is a Xarray DataArray (see: https://xarray.dev/) with 2 dimensions: x and y.

To read a grid file to this class use:

grid = read_grid(filename)

You can write a grid to .asc, .zmap, .nc or .tif using the following method:

write_grid(grid,filename)

The code will discern which filetype to write out to by the file extension in filename. Note: .asc and .zmap are ascii based files and take up a lot of space. .nc and .tif are binary file types.

There is some plotting functionality implemented in pygridsio, this can be accessed using the pygridsio.grid_plotting module:

  • The method pygridsio.grid_plotting.plot_grid allows you to plot a custom Grid class, or xr.DataArray with multiple options. See the description of the method for more detail.
  • The method pygridsio.grid_plotting.plot_grid_comparison Creates a plot comparing two grids values against each other. See the description of the method for more detail.
  • The method pygridsio.grid_plotting.make_interactive_plot Creates a interactive .html plot using plotly, this saves to a .html file

Poetry

For developing this package further you can use the poetry pacakge manager. Install poetry here: https://python-poetry.org/docs/ (note: if you can't run poetry from your terminal, ensure that the poetry.exe is in your environment variables).

Then after cloning this repo to your local machine, run: poetry install

Which will install a virtual environment in the gitlab repo.

Verify Installation

You can verify the installation of the different python packages by running the tests stored in tests. In pycharm: Right-click on the folder marked tests and click on Run python tests in test

publishing the project to gitlab

First configure the connection between poetry and the gitlab package registry: poetry config repositories.gitlab_pygridsio https://YOURGITLABLOCATION/gitlab/api/v4/projects/17422/packages/pypi

Add your own personal access token details (https://docs.gitlab.com/ee/user/profile/personal_access_tokens.html): poetry publish --repository gitlab_pygridsio -u"token name" -p "token value"

Then you can build and publish the project as a new deployment in the package registry: poetry build poetry publish (make sure the version number you publish is unique)

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pygridsio-0.3.19.tar.gz (29.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

pygridsio-0.3.19-py3-none-any.whl (30.6 kB view details)

Uploaded Python 3

File details

Details for the file pygridsio-0.3.19.tar.gz.

File metadata

  • Download URL: pygridsio-0.3.19.tar.gz
  • Upload date:
  • Size: 29.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.10.16

File hashes

Hashes for pygridsio-0.3.19.tar.gz
Algorithm Hash digest
SHA256 f4fe25f0016c31b22d4f35b456dc6f4a9a54d5d6f0f709f6a041c6993fe65bdf
MD5 5f09056ac3cc1371e5b03d4f358c6967
BLAKE2b-256 057901dc120eb7d05fc3f3ad6f0ad8afc1b124787d2400ba716099bfc0b8f162

See more details on using hashes here.

File details

Details for the file pygridsio-0.3.19-py3-none-any.whl.

File metadata

  • Download URL: pygridsio-0.3.19-py3-none-any.whl
  • Upload date:
  • Size: 30.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.10.16

File hashes

Hashes for pygridsio-0.3.19-py3-none-any.whl
Algorithm Hash digest
SHA256 f3958ed5b7d2388a929da82a64e5ec8a5d77d0006725a2f93a7716fac9266270
MD5 1a6a5cf2fd41bc8ee1b72dbf08dbb355
BLAKE2b-256 67e1d541f56232dbcd8b2b50741f04b2a9ba4200861aaf98f8b8c7f1ea20d9e9

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page