Skip to main content

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

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.

Release history Release notifications | RSS feed

This release

0.7.1 This release

1 file

0.7.0

1 file

0.6.5

1 file

0.6.4

1 file

0.6.1

1 file

0.6.0

1 file

0.5.0

1 file

0.4.10

1 file

0.4.9

1 file

0.4.8

1 file

0.4.7

1 file

0.4.6

1 file

0.4.5

1 file

0.4.4

1 file

0.4.3

1 file

0.4.2

1 file

0.4.0

1 file

0.3.9

1 file

0.3.8

1 file

0.3.5

1 file

0.3.4

1 file

0.3.2

1 file

0.3.1

1 file

0.3.0

1 file

0.2.15

1 file

0.2.14

1 file

0.2.13

1 file

0.2.12

1 file

0.2.11

1 file

0.2.10

1 file

0.2.9

1 file

0.2.8

1 file

0.2.7

1 file

0.2.4

1 file

0.2.3

1 file

0.2.2

1 file

0.2.1

1 file

0.2.0

1 file

0.1.3

1 file

0.1.2

1 file

0.1.1

1 file

Supported by

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