Skip to main content

Gkit is a suit of utilites for processing geo-dataset.

Project description

Gkit

GitHub license https://img.shields.io/badge/python-3-brightgreen.svg https://img.shields.io/pypi/v/gkit.svg

Gkit is a suite of utilities for processing geo-dataset allowing you to manipulate raster datasets like np.MaskedArray.

Gkit supports Python3 and all OS which could install numpy, matplotlib, gdal.

In Python2, may have unpredictable bugs.

Documents: https://titorx.github.io/gkit/html/

Simple Example

Here is examples of some basic features that Gkit provides.

import numpy as np
import gkit as gk

# Read the first band from .tif
r = gk.read("lst.tif")

# You could also specific point out which band you want to load
r = gk.read("lst.tif", 2)

# gk.read returns a Raster class
type(r)
# Output:
# gkit.core.Raster

# Open an interactive window display raster using matplotlib(call plt.show)
r.show()

The screenshot:

https://raw.githubusercontent.com/TitorX/gkit/master/docs/imgs/lst_plot.png
# Only draw raster without calling plt.show.
import matplotlib.pylab as plt
r.plot()
plt.xlabel("Lon")
plt.ylabel("Lat")
plt.title("LST(K)")
plt.colorbar()
plt.savefig("raster_plot.png")

The screenshot:

https://raw.githubusercontent.com/TitorX/gkit/master/docs/imgs/raster_plot.png
# Raster class inherits from np.ma.MaskedArray.
# It has all features which MaskedArray has.
r
# Output:
# masked_array(data =
#  [[-- -- -- ..., -- -- --]
#  [-- -- -- ..., -- -- --]
#  [-- -- -- ..., -- -- --]
#  ...,
#  [242.5966339111328 242.6825408935547 242.79612731933594 ...,
#   243.512451171875 243.46498107910156 243.45751953125]
#  [241.1952667236328 241.18592834472656 241.19235229492188 ...,
#   241.02757263183594 241.04196166992188 241.0919189453125]
#  [241.97023010253906 242.03948974609375 242.05393981933594 ...,
#   241.8543243408203 241.85800170898438 241.80813598632812]],
#              mask =
#  [[ True  True  True ...,  True  True  True]
#  [ True  True  True ...,  True  True  True]
#  [ True  True  True ...,  True  True  True]
#  ...,
#  [False False False ..., False False False]
#  [False False False ..., False False False]
#  [False False False ..., False False False]],
#        fill_value = 1e+20)

# Doing operation like common numpy masked array.
tmp = (r - 273.15)**3 / 4
tmp = np.cos(r)
tmp = np.abs(r)
tmp = np.sqrt(r)

print(r.shape)
print(r.mean())
print(r.max())
print(r.min())

# convert data type
tmp = r.astype(np.float64)

# Save to file
r.save("out_file.tif")

# Create a raster from numpy array
import numpy as np
x, y = np.mgrid[-1:1:100j, -2:2:200j]
array = np.sqrt(x**2 + y**2)

print(array.shape)
# Output:
# (100, 200)

transform = [-100, 0.1, 0, 0, 0, -0.1]

raster = gk.Raster(array, transform)
raster.show()

The screenshot:

https://raw.githubusercontent.com/TitorX/gkit/master/docs/imgs/array_plot.png

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

gkit-0.7.1.tar.gz (11.1 kB view details)

Uploaded Source

File details

Details for the file gkit-0.7.1.tar.gz.

File metadata

  • Download URL: gkit-0.7.1.tar.gz
  • Upload date:
  • Size: 11.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/2.0.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.4.0 requests-toolbelt/0.9.1 tqdm/4.36.1 CPython/3.7.4

File hashes

Hashes for gkit-0.7.1.tar.gz
Algorithm Hash digest
SHA256 ec372c55ea5536cdef7e5a0a79279f26214e7eb00b335e4a62e795f1b8175d41
MD5 39f754506454ec50abe4bdb755163888
BLAKE2b-256 e42d8c3751007b7292aa2667f0506f4302fa49aaa2459acc1da34e6944152ee9

See more details on using hashes here.

Supported by

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