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.1.tar.gz (12.0 kB view details)

Uploaded Source

Built Distribution

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

Uploaded Python 3

File details

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

File metadata

  • Download URL: py-gis-utility-0.2.1.tar.gz
  • Upload date:
  • Size: 12.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.10.8

File hashes

Hashes for py-gis-utility-0.2.1.tar.gz
Algorithm Hash digest
SHA256 a94fad13f9e5f34b02e912a9b9d27583ef67f523f1ebfc005ff04e6f876e9909
MD5 509ab19327ea27d1f342ffb9c1a131f5
BLAKE2b-256 af8f04f28f5287ba949b6e55141b30ef54e8058f55e4dbcd270b9ffad9cc86a4

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for py_gis_utility-0.2.1-py3-none-any.whl
Algorithm Hash digest
SHA256 73baeef0b99f13a486eac4712762509c7e0a4952a09df68e6cd9b245d16bb76a
MD5 b8660be570a6240e87a4c64fb8af33d4
BLAKE2b-256 4bc10cb02f7704e61a50a2a1b6a976b64d29f39b11f704e63008b63c54c31f14

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