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 extra n layers of 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 = 1)
# lon and lat coords of the cut points/pixels
geoTiff.get_bBox_wgs_84(area_box, outer_points = 1)

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.9.tar.gz (7.4 kB view hashes)

Uploaded Source

Built Distribution

geotiff-0.1.9-py3-none-any.whl (16.4 kB view hashes)

Uploaded Python 3

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