Module gdalhelpers.checks.srs_checks
Expand source code
from osgeo import osr
from typing import Any
def check_srs(srs: osr.SpatialReference, srs_name: str) -> None:
"""
Checks if `srs` is `osr.SpatialReference`, raises `TypeError` otherwise.
Parameters
----------
srs : osr.SpatialReference
Variable to check.
srs_name : str
Variable name for error message.
Returns
-------
None
Raises
------
TypeError
If `srs` is not `osr.SpatialReference`.
"""
if not isinstance(srs, osr.SpatialReference):
raise TypeError("`{0}` is not of type `osr.SpatialReference`. It is: `{1}`."
.format(srs_name, type(srs).__name__))
def check_srs_projected(srs: osr.SpatialReference, srs_name: str) -> None:
"""
Checks if `srs` (`osr.SpatialReference`) is projected, raises `ValueError` otherwise.
Parameters
----------
srs : osr.SpatialReference
osr.SpatialReference to check.
srs_name : str
Variable name for error message.
Returns
-------
None
Raises
------
ValueError
If `srs` is not projected.
"""
check_srs(srs, srs_name)
if srs.IsProjected() != 1:
raise ValueError("`{0}` Spatial Reference needs to be projected. "
"The definition of current SRS is not projected: \n `{1}`"
.format(srs_name, srs.ExportToProj4()))
def check_srs_are_same(srs1: osr.SpatialReference, srs1_name: str,
srs2: osr.SpatialReference, srs2_name: str) -> None:
"""
Checks if two provided `osr.SpatialReference` are the same.
Parameters
----------
srs1, srs2 : osr.SpatialReference
osr.SpatialReference to compare.
srs1_name, srs2_name : str
Variable name for error message.
Returns
-------
None
Raises
------
ValueError
If `srs1` and `srs2` are not the same.
"""
check_srs(srs1, srs1_name)
check_srs(srs2, srs2_name)
if srs1.IsSame(srs2) != 1:
raise ValueError("Spatial Reference of both variables `{0}`, `{1}` needs to be equal."
.format(srs1_name, srs2_name))
Functions
def check_srs(srs, srs_name)-
Checks if
srsisosr.SpatialReference, raisesTypeErrorotherwise.Parameters
srs:osr.SpatialReference- Variable to check.
srs_name:str- Variable name for error message.
Returns
None
Raises
TypeError- If
srsis notosr.SpatialReference.
Expand source code
def check_srs(srs: osr.SpatialReference, srs_name: str) -> None: """ Checks if `srs` is `osr.SpatialReference`, raises `TypeError` otherwise. Parameters ---------- srs : osr.SpatialReference Variable to check. srs_name : str Variable name for error message. Returns ------- None Raises ------ TypeError If `srs` is not `osr.SpatialReference`. """ if not isinstance(srs, osr.SpatialReference): raise TypeError("`{0}` is not of type `osr.SpatialReference`. It is: `{1}`." .format(srs_name, type(srs).__name__)) def check_srs_are_same(srs1, srs1_name, srs2, srs2_name)-
Checks if two provided
osr.SpatialReferenceare the same.Parameters
srs1,srs2:osr.SpatialReference- osr.SpatialReference to compare.
srs1_name,srs2_name:str- Variable name for error message.
Returns
None
Raises
ValueError- If
srs1andsrs2are not the same.
Expand source code
def check_srs_are_same(srs1: osr.SpatialReference, srs1_name: str, srs2: osr.SpatialReference, srs2_name: str) -> None: """ Checks if two provided `osr.SpatialReference` are the same. Parameters ---------- srs1, srs2 : osr.SpatialReference osr.SpatialReference to compare. srs1_name, srs2_name : str Variable name for error message. Returns ------- None Raises ------ ValueError If `srs1` and `srs2` are not the same. """ check_srs(srs1, srs1_name) check_srs(srs2, srs2_name) if srs1.IsSame(srs2) != 1: raise ValueError("Spatial Reference of both variables `{0}`, `{1}` needs to be equal." .format(srs1_name, srs2_name)) def check_srs_projected(srs, srs_name)-
Checks if
srs(osr.SpatialReference) is projected, raisesValueErrorotherwise.Parameters
srs:osr.SpatialReference- osr.SpatialReference to check.
srs_name:str- Variable name for error message.
Returns
None
Raises
ValueError- If
srsis not projected.
Expand source code
def check_srs_projected(srs: osr.SpatialReference, srs_name: str) -> None: """ Checks if `srs` (`osr.SpatialReference`) is projected, raises `ValueError` otherwise. Parameters ---------- srs : osr.SpatialReference osr.SpatialReference to check. srs_name : str Variable name for error message. Returns ------- None Raises ------ ValueError If `srs` is not projected. """ check_srs(srs, srs_name) if srs.IsProjected() != 1: raise ValueError("`{0}` Spatial Reference needs to be projected. " "The definition of current SRS is not projected: \n `{1}`" .format(srs_name, srs.ExportToProj4()))