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()
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
# 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)
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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.