Skip to main content

Utility for image and math related operation in GIS

Project description

py-gis-utility

A GIS utility library which contains some regularly required math and image operations.

Downloads

Installation

pip install py-gis-utility

Requirements

Math Operations

  1. Get perpendicular point with reference to start and end point of the segment
  2. Get perpendicular distance from point to line_segment
  3. Given a Point find a new point at an given 'angle' with given 'distance'
  4. Calculate a new point on the line segment given the distance from the start
  5. Euclidean computation

Image Operations

Save Multi Band Imagery

import numpy as np
from affine import Affine
from py_gis_utility.image_func import save_16bit_multi_band, save_8bit_multi_band

image = np.zeros((512, 512, 6))
transform = Affine(1.0, 0.0, 3422098.682455578,
       0.0, -1.0, 5289611.291479621)

# Save 8bit
save_8bit_multi_band(image, transform, 26910, r"8bit.tiff")

# Save 16bit
save_16bit_multi_band(image, transform, 26910, r"16bit.tiff")

Generate bitmap from shape file

Animation

from py_gis_utility.helper import (
    read_data_frame,
    save_image_with_geo_transform,
)
from py_gis_utility.image_func import shape_geometry_to_bitmap_from_data_frame_generator

data_frame = read_data_frame(r"path_to_geometry_file")
bitmap_gen = shape_geometry_to_bitmap_from_data_frame_generator(data_frame, (50, 50), (1, 1),
 allow_output_to_overlap=True)

for i, bitmap in enumerate(bitmap_gen):
    save_image_with_geo_transform(f"{i}.tiff", bitmap.array, bitmap.transform)

Generate shape geometry from geo reference bitmap

from py_gis_utility.helper import (read_image_with_geo_transform,
)
from py_gis_utility.image_func import image_obj_to_coordinates_generator, image_obj_to_shape_generator


img_obj = read_image_with_geo_transform(r"path_to_geo_referenced_file")

# output in format {'geometry': <shapely.geometry.polygon.Polygon object at 0x0000022009E5EC08>, 'properties': {'id': 255.0, 'crs': CRS.from_epsg(4326)}}
shape_gen = image_obj_to_shape_generator(img_obj)
for g in shape_gen:
    print(g)

# output in format {'geometry': {'type': 'Polygon', 'coordinates': [[(621000.0, 3349500.0), .... ,(621000.0, 3349489.5)]]}, 'properties': {'id': 255.0, 'crs': CRS.from_epsg(4326)}}
co_ord_gen = image_obj_to_coordinates_generator(img_obj)
for g in co_ord_gen:
    print(g)

Support Me

Buy Me a Coffee at ko-fi.com

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

py-gis-utility-0.2.2.tar.gz (12.1 kB view details)

Uploaded Source

Built Distribution

py_gis_utility-0.2.2-py3-none-any.whl (13.0 kB view details)

Uploaded Python 3

File details

Details for the file py-gis-utility-0.2.2.tar.gz.

File metadata

  • Download URL: py-gis-utility-0.2.2.tar.gz
  • Upload date:
  • Size: 12.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.3

File hashes

Hashes for py-gis-utility-0.2.2.tar.gz
Algorithm Hash digest
SHA256 d68d5e83cf6910c8af20a5a441299414ba529573cdef26cef17d3c2d3c3ba0c6
MD5 5f5cc6c8d08675dd306562feafe133ac
BLAKE2b-256 14cf15ef3369b2bc7e9253d60aca856e5bb7f69076d826c1741c9633a6c5b0cd

See more details on using hashes here.

File details

Details for the file py_gis_utility-0.2.2-py3-none-any.whl.

File metadata

File hashes

Hashes for py_gis_utility-0.2.2-py3-none-any.whl
Algorithm Hash digest
SHA256 e20097e20af2d2faf0f58769b945f1b4e05fd83451dc21abea8deecaeec43366
MD5 acd877ac2827c16b5261a449c4cb1977
BLAKE2b-256 06778b83f62ee38e90b9f292b5c553d30c8c2cc851e63a90455a303d061d3a58

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