Skip to main content

A noGDAL tool for reading and writing geotiff files

Project description

geotiff

A noGDAL tool for reading geotiff files

WARNING this package is under development and some features are unstable. Use with caution.

Please support this project be giving it a star on GitHub!

What is noGDAL?

noGDAL is a philosophy for developing geospatial programs in python without using GDAL.

Instillation

Installing this package is as easy as:

pip install geotiff

Usage

Read the GeoTiff to an array

from geotiff import GeoTiff

geoTiff = GeoTiff(tiff_file)
array = geoTiff.read()

This will detect the crs code. If it's 'user defined' and you know what it should be, you may supply a crs code:

geoTiff = GeoTiff(tiff_file, crs_code=4236)

Get bounding box info about the tiff

# in the original CRS
geotiff.tif_bBox
# as WGS 84
geotiff.tif_bBox_wgs_84

Get coordinates of a point/pixel

i=5
j=6
geoTiff.get_wgs_84_coords(i, j)

Get the original crs code

geotiff.crs_code

Read a sections of a large tiff using a WGS 84 area

from geotiff import GeoTiff

# in WGS 84
area_box = [(138.632071411, -32.447310785), (138.644218874, -32.456979174)]
geotiff = GeoTiff(tiff_file)
array = geotiff.read_box(area_box)

Getting bounding box information

You can either get the points/pixels that are within a given area_box:

# col and row indexes of the cut area
int_box = geoTiff.get_int_box(area_box)
# lon and lat coords of the cut points/pixels
geoTiff.get_bBox_wgs_84(area_box)

You can also get the points/pixels that directly surround the area_box

# col and row indexes of the cut area
int_box = geoTiff.get_int_box(area_box, outer_points = True)
# lon and lat coords of the cut points/pixels
geoTiff.get_bBox_wgs_84(area_box, outer_points = True)

This may be useful of you want to interpolate to points near the area_box boundary.

Get coordinates of a point/pixel

i=int_box[0][0] + 5
j=int_box[0][1] + 6
geoTiff.get_wgs_84_coords(i, j)

Contributing

If you would like to contribute to this project, please fork it and make a PR with you patches.

You can join the conversation by saying hi in the project discussion board.

To help users and and other contributes, be sure to:

  • make doc blocs if appropriate
  • use typing wherever possible.

Note: The continuous integration has lint checking with mypy, so be sure to check it yourself before making a PR.

Project Road Map

Core Features

  • read tiff files (including BigTiff)
  • write tiff files (including BigTiff)
  • (UNSTABLE/LIMITED) convert between coordinate systems
  • read a user defined CRS
  • cut a section (bounding box) of the tiff file
  • convert the data to numpy arrays

Additional features

  • (50%) Full test coverage
  • Typing with lint checking using mypy
  • Documentation: doc blocs
  • Documentation: readthedocs

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

geotiff-0.1.7.tar.gz (7.4 kB view details)

Uploaded Source

Built Distribution

geotiff-0.1.7-py3-none-any.whl (16.3 kB view details)

Uploaded Python 3

File details

Details for the file geotiff-0.1.7.tar.gz.

File metadata

  • Download URL: geotiff-0.1.7.tar.gz
  • Upload date:
  • Size: 7.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/51.1.1 requests-toolbelt/0.9.1 tqdm/4.50.0 CPython/3.8.5

File hashes

Hashes for geotiff-0.1.7.tar.gz
Algorithm Hash digest
SHA256 959b45c3f35621f27884274502b853894374e9d901d7baed30e54ad3347d356d
MD5 46198fa921d9df6347175242bf213632
BLAKE2b-256 a1b1e4c840f93306cfb93db7cf8fa7bde52ebbabfb47d849b1ba7a1090ae88d6

See more details on using hashes here.

File details

Details for the file geotiff-0.1.7-py3-none-any.whl.

File metadata

  • Download URL: geotiff-0.1.7-py3-none-any.whl
  • Upload date:
  • Size: 16.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/51.1.1 requests-toolbelt/0.9.1 tqdm/4.50.0 CPython/3.8.5

File hashes

Hashes for geotiff-0.1.7-py3-none-any.whl
Algorithm Hash digest
SHA256 38e9f26d536efa90cd0ba0e6bc1124347e3f1d94f9bfdb5865f05de430920813
MD5 c3a74a06b6452b284f8a5e7adf91a556
BLAKE2b-256 df302c0ba774a6a832210827e194ed071416d611501f9abd4466ac77df5dd28c

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