Module rok4.utils
Provide functions to manipulate OGR / OSR entities
Functions
def bbox_to_geometry(bbox: Tuple[float, float, float, float], densification: int = 0)
-
Convert bbox coordinates to OGR geometry
Args
bbox
:Tuple[float, float, float, float]
- bounding box (xmin, ymin, xmax, ymax)
densification
:int
, optional- Number of point to add for each side of bounding box. Defaults to 0.
Raises
RuntimeError
- Provided SRS is invalid for OSR
Returns
osgeo.ogr.Geometry
- Corresponding OGR geometry, with spatial reference if provided
def compute_bbox(source_dataset: osgeo.gdal.Dataset) ‑> Tuple[]
-
Image boundingbox computing method
Args
source_dataset
:gdal.Dataset
- Dataset instanciated from the raster image
Limitations
Image's axis must be parallel to SRS' axis
Raises
AttributeError
- source_dataset is not a gdal.Dataset instance.
Exception
- The dataset does not contain transform data.
def compute_format(dataset: osgeo.gdal.Dataset, path: str = None) ‑> ColorFormat
-
Image color format computing method
Args
dataset
:gdal.Dataset
- Dataset instanciated from the image
path
:str, optionnal
- path to the original file/object
Raises
AttributeError
- source_dataset is not a gdal.Dataset instance.
Exception
- No color band found or unsupported color format.
def reproject_bbox(bbox: Tuple[float, float, float, float], srs_src: str, srs_dst: str, densification: int = 5) ‑> Tuple[float, float, float, float]
-
Return bounding box in other coordinates system
Points are added to be sure output bounding box contains input bounding box
Args
bbox
:Tuple[float, float, float, float]
- bounding box (xmin, ymin, xmax, ymax) with source coordinates system
srs_src
:str
- source coordinates system
srs_dst
:str
- destination coordinates system
densification
:int
, optional- Number of point to add for each side of bounding box. Defaults to 5.
Returns
Tuple[float, float, float, float]
- bounding box (xmin, ymin, xmax, ymax) with destination coordinates system
def reproject_point(point: Tuple[float, float], sr_src: osgeo.osr.SpatialReference, sr_dst: osgeo.osr.SpatialReference)
-
Reproject a point
Args
point
:Tuple[float, float]
- source spatial reference point
sr_src
:osgeo.osr.SpatialReference
- source spatial reference
sr_dst
:osgeo.osr.SpatialReference
- destination spatial reference
Returns
Tuple[float, float]
- X/Y in destination spatial reference
def srs_to_spatialreference(srs: str)
-
Convert coordinates system as string to OSR spatial reference
Using a cache, to instanciate a Spatial Reference from a string only once.
Args
srs
:str
- coordinates system PROJ4 compliant, with authority and code, like EPSG:3857 or IGNF:LAMB93
Raises
RuntimeError
- Provided SRS is invalid for OSR
Returns
osgeo.osr.SpatialReference
- Corresponding OSR spatial reference